diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2020-05-20 22:05:11 +0000 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2020-05-20 22:05:11 +0000 |
commit | 5a013fc1612d10731ce7dbfcd897c80e05178a51 (patch) | |
tree | c67290014bcc141a42ed67ab4ba333b00eb46e5f | |
parent | edc7cd116c3a6dc14cab6f695373b0ab45ae829d (diff) | |
parent | 64c2e2ae9503ee25132139dbcd4c8edd80ac5280 (diff) | |
download | tracker-5a013fc1612d10731ce7dbfcd897c80e05178a51.tar.gz |
Merge branch 'wip/carlosg/writeback-refactor' into 'master'
libtracker-sparql: Add API call to list TrackerResource properties
See merge request GNOME/tracker!252
-rw-r--r-- | src/libtracker-sparql/tracker-resource.c | 27 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-resource.h | 3 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c index 26b2d00a8..f7d75996f 100644 --- a/src/libtracker-sparql/tracker-resource.c +++ b/src/libtracker-sparql/tracker-resource.c @@ -692,8 +692,8 @@ ADD_PROPERTY_FOR_GTYPE (tracker_resource_add_uri, const char *, TRACKER_TYPE_URI * * Returns the list of all known values of the given property. * - * Returns: (transfer full) (element-type GValue): a #GList of #GValue - * instances, which must be freed by the caller. + * Returns: (transfer container) (element-type GValue): a #GList of #GValue + * instances. The list should be freed with g_list_free() * * Since: 1.10 */ @@ -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 |