[tracker/wip/carlosg/batches-and-resources: 3/7] libtracker-sparql: Add tracker_resource_get_property_overwrite()
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/batches-and-resources: 3/7] libtracker-sparql: Add tracker_resource_get_property_overwrite()
- Date: Thu, 26 Nov 2020 23:14:15 +0000 (UTC)
commit d42a31b77ff42e01553e29a7c4210c7e483f5828
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Nov 22 12:07:59 2020 +0100
libtracker-sparql: Add tracker_resource_get_property_overwrite()
This function returns whether the given property would be overwritten
entirely in the issued SPARQL. We need this to be able to fully introspect
a TrackerResource in a way that we can bypass SPARQL.
.../libtracker-sparql-sections.txt | 1 +
src/libtracker-sparql/tracker-resource.c | 21 +++++++++++++++++++++
src/libtracker-sparql/tracker-resource.h | 3 +++
3 files changed, 25 insertions(+)
---
diff --git a/docs/reference/libtracker-sparql/libtracker-sparql-sections.txt
b/docs/reference/libtracker-sparql/libtracker-sparql-sections.txt
index 0054c0f58..495859130 100644
--- a/docs/reference/libtracker-sparql/libtracker-sparql-sections.txt
+++ b/docs/reference/libtracker-sparql/libtracker-sparql-sections.txt
@@ -47,6 +47,7 @@ tracker_resource_get_first_uri
tracker_resource_get_identifier
tracker_resource_get_values
tracker_resource_get_properties
+tracker_resource_get_property_overwrite
tracker_resource_identifier_compare_func
tracker_resource_print_sparql_update
tracker_resource_print_turtle
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c
index 4c4c0fc42..480f0d9ed 100644
--- a/src/libtracker-sparql/tracker-resource.c
+++ b/src/libtracker-sparql/tracker-resource.c
@@ -2010,3 +2010,24 @@ tracker_resource_deserialize (GVariant *variant)
return resource;
}
+
+/**
+ * tracker_resource_get_property_overwrite:
+ * @resource: a #TrackerResource
+ * @property_uri: a string identifying the property to query
+ *
+ * Returns whether the prior values for this property would be deleted
+ * in the SPARQL issued by @resource.
+ *
+ * Returns: #TRUE if the property would be overwritten
+ *
+ * Since: 3.1
+ **/
+gboolean
+tracker_resource_get_property_overwrite (TrackerResource *resource,
+ const gchar *property_uri)
+{
+ TrackerResourcePrivate *priv = GET_PRIVATE (resource);
+
+ return g_hash_table_contains (priv->overwrite, property_uri);
+}
diff --git a/src/libtracker-sparql/tracker-resource.h b/src/libtracker-sparql/tracker-resource.h
index 171834449..f975c757c 100644
--- a/src/libtracker-sparql/tracker-resource.h
+++ b/src/libtracker-sparql/tracker-resource.h
@@ -114,6 +114,9 @@ GVariant * tracker_resource_serialize (TrackerResource *resource);
TRACKER_AVAILABLE_IN_ALL
TrackerResource * tracker_resource_deserialize (GVariant *variant);
+TRACKER_AVAILABLE_IN_3_1
+gboolean tracker_resource_get_property_overwrite (TrackerResource *resource, const gchar *property_uri);
+
G_END_DECLS
#endif /* __LIBTRACKER_RESOURCE_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]