summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/tracker-resource.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-07-10 23:52:37 +0200
committerCarlos Garnacho <carlosg@gnome.org>2017-07-11 18:13:46 +0200
commit41649a26e1e8816f47a2e4832a62d39b58f775b2 (patch)
tree5cfa606cd83d39c3390575bb52ef94e9c49ced5b /src/libtracker-sparql/tracker-resource.c
parenteb574ce679dc9a6bf14076173fa622c12a8f0596 (diff)
downloadtracker-41649a26e1e8816f47a2e4832a62d39b58f775b2.tar.gz
libtracker-sparql: Add tracker_resource_[add|set]_take_relation()
These are C helper functions, so users may create trees of TrackerResources without having to manually unref all non-root ones.
Diffstat (limited to 'src/libtracker-sparql/tracker-resource.c')
-rw-r--r--src/libtracker-sparql/tracker-resource.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c
index 2b405ce06..694f5ac87 100644
--- a/src/libtracker-sparql/tracker-resource.c
+++ b/src/libtracker-sparql/tracker-resource.c
@@ -404,6 +404,21 @@ SET_PROPERTY_FOR_GTYPE (tracker_resource_set_int64, gint64, G_TYPE_INT64, g_valu
SET_PROPERTY_FOR_GTYPE (tracker_resource_set_relation, TrackerResource *, TRACKER_TYPE_RESOURCE, g_value_set_object, validate_pointer);
/**
+ * tracker_resource_set_take_relation: (skip)
+ * @self: the #TrackerResource
+ * @property_uri: a string identifying the property to modify
+ * @resource: the property object
+ *
+ * Sets a single-valued resource object as a #TrackerResource. This
+ * function produces similar RDF to tracker_resource_set_uri(),
+ * although in this function the URI will depend on the identifier
+ * set on @resource. This function takes ownership of @resource.
+ *
+ * Since: 2.0
+ */
+SET_PROPERTY_FOR_GTYPE (tracker_resource_set_take_relation, TrackerResource *, TRACKER_TYPE_RESOURCE, g_value_take_object, validate_pointer);
+
+/**
* tracker_resource_set_string:
* @self: the #TrackerResource
* @property_uri: a string identifying the property to modify
@@ -609,6 +624,22 @@ ADD_PROPERTY_FOR_GTYPE (tracker_resource_add_int64, gint64, G_TYPE_INT64, g_valu
ADD_PROPERTY_FOR_GTYPE (tracker_resource_add_relation, TrackerResource *, TRACKER_TYPE_RESOURCE, g_value_set_object, validate_pointer);
/**
+ * tracker_resource_add_take_relation: (skip)
+ * @self: the #TrackerResource
+ * @property_uri: a string identifying the property to modify
+ * @resource: the property object
+ *
+ * Adds a resource object to a multi-valued property. This
+ * function produces similar RDF to tracker_resource_add_uri(),
+ * although in this function the URI will depend on the identifier
+ * set on @resource. This function takes ownership of @resource.
+ *
+ * Since: 2.0
+ */
+ADD_PROPERTY_FOR_GTYPE (tracker_resource_add_take_relation, TrackerResource *, TRACKER_TYPE_RESOURCE, g_value_take_object, validate_pointer);
+
+
+/**
* tracker_resource_add_string:
* @self: the #TrackerResource
* @property_uri: a string identifying the property to modify