diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-05-20 14:34:19 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-05-20 23:15:32 +0200 |
commit | 137c3a03d01660b52eb7210814f430dc79e0bdbc (patch) | |
tree | 0771740c4ef3325c0cffb5a243234ad885169b78 | |
parent | 57358fa85131e60ef9d4ab16807faee677cfb70a (diff) | |
download | tracker-137c3a03d01660b52eb7210814f430dc79e0bdbc.tar.gz |
libtracker-sparql: Add API call to list TrackerResource properties
This is a missing piece to allow introspecting a TrackerResource, which
may be useful to do in some circumstances.
-rw-r--r-- | src/libtracker-sparql/tracker-resource.c | 23 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-resource.h | 3 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c index 26b2d00a8..efa71273b 100644 --- a/src/libtracker-sparql/tracker-resource.c +++ b/src/libtracker-sparql/tracker-resource.c @@ -963,6 +963,29 @@ tracker_resource_compare (TrackerResource *a, return strcmp (a_priv->identifier, b_priv->identifier); }; +/** + * tracker_resource_get_properties: + * @resource: a #TrackerResource + * + * Gets the list of properties defined in @resource + * + * Returns: (transfer container) (element-type utf8): The list of properties. + * The list should be freed with g_list_free(). + * + * Since: 3.0 + **/ +GList * +tracker_resource_get_properties (TrackerResource *resource) +{ + TrackerResourcePrivate *priv; + + g_return_val_if_fail (TRACKER_IS_RESOURCE (resource), NULL); + + priv = GET_PRIVATE (resource); + + return g_hash_table_get_keys (priv->properties); +} + /* Helper function for serialization code. This allows you to selectively * populate 'interned_namespaces' from 'all_namespaces' based on when a * particular prefix is actually used. This is quite inefficient compared diff --git a/src/libtracker-sparql/tracker-resource.h b/src/libtracker-sparql/tracker-resource.h index 85a110389..fcc36b3ed 100644 --- a/src/libtracker-sparql/tracker-resource.h +++ b/src/libtracker-sparql/tracker-resource.h @@ -97,6 +97,9 @@ TRACKER_AVAILABLE_IN_ALL gint tracker_resource_identifier_compare_func (TrackerResource *resource, const char *identifier); TRACKER_AVAILABLE_IN_ALL +GList *tracker_resource_get_properties (TrackerResource *resource); + +TRACKER_AVAILABLE_IN_ALL char *tracker_resource_print_turtle(TrackerResource *self, TrackerNamespaceManager *namespaces); TRACKER_AVAILABLE_IN_ALL |