(2011年11月10日 23:06), Michael Biebl wrote:
> Hi,
> 
> has there been any progress?
> I'm planning to upload tracker 0.12 to unstable very soon, now that
> GNOME 3.0 has transitioned to testing.
> 
> Cheers,
> Michael

Hi Michael,

I'll upload bognor-regis ported to tracker-sparql 0.12 to experimental
very soon.

The patch is as attachment.

Thanks,
Paul

-- 
                                PaulLiu (劉穎駿)
E-mail: Ying-Chun Liu (PaulLiu) <paul...@debian.org>
Description: Port to libtracker-sparql-0.12
Author: Ying-Chun Liu (PaulLiu) <paul...@debian.org>
Bug-Debian: http://bugs.debian.org/628771
Bug-Debian: http://bugs.debian.org/643938
Index: bognor-regis-0.6.12+git20101007.02c25268/configure.ac
===================================================================
--- bognor-regis-0.6.12+git20101007.02c25268.orig/configure.ac	2011-11-12 21:53:37.573885521 +0800
+++ bognor-regis-0.6.12+git20101007.02c25268/configure.ac	2011-11-12 21:53:39.202014657 +0800
@@ -86,7 +86,7 @@
 fi
 AM_CONDITIONAL(HAVE_QUEUE_CONFIG, test "x$enable_queue_config" = "xyes")
 
-PKG_CHECK_MODULES(BOGNOR, gtk+-2.0 glib-2.0 dbus-glib-1 gio-2.0 libnotify tracker-client-0.9 gupnp-1.0 >= 0.13.0 gupnp-av-1.0 >= 0.5)
+PKG_CHECK_MODULES(BOGNOR, gtk+-2.0 glib-2.0 dbus-glib-1 gio-2.0 libnotify tracker-sparql-0.10 gupnp-1.0 >= 0.13.0 gupnp-av-1.0 >= 0.5)
 PKG_CHECK_MODULES(BOGNOR_REGIS, glib-2.0 dbus-glib-1 $gconf_pkg)
 PKG_CHECK_MODULES(CLIENT, gio-2.0)
 
Index: bognor-regis-0.6.12+git20101007.02c25268/src/bgr-tracker-client.c
===================================================================
--- bognor-regis-0.6.12+git20101007.02c25268.orig/src/bgr-tracker-client.c	2011-11-12 21:53:37.589886792 +0800
+++ bognor-regis-0.6.12+git20101007.02c25268/src/bgr-tracker-client.c	2011-11-12 21:58:59.026133627 +0800
@@ -1,4 +1,4 @@
-#include <libtracker-client/tracker-client.h>
+#include <libtracker-sparql/tracker-sparql.h>
 #include "bgr-item.h"
 #include "bgr-tracker-client.h"
 
@@ -11,7 +11,7 @@
 };
 
 struct _BgrTrackerClientPrivate {
-    TrackerClient *client;
+    TrackerSparqlConnection *client;
 };
 
 #define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), BGR_TYPE_TRACKER_CLIENT, BgrTrackerClientPrivate))
@@ -101,7 +101,7 @@
     BgrTrackerClientPrivate *priv = GET_PRIVATE (self);
 
     self->priv = priv;
-    priv->client = tracker_client_new (FALSE, G_MAXINT);
+    priv->client = tracker_sparql_connection_get (NULL, NULL);
 }
 
 BgrItem *
@@ -114,9 +114,11 @@
     GPtrArray *results;
     char *query;
     char **result;
+    TrackerSparqlCursor *t_cursor = NULL;
+    int i,N=0;
 
     query = g_strdup_printf (ITEM_QUERY, uri);
-    results = tracker_resources_sparql_query (priv->client, query, &error);
+    t_cursor = tracker_sparql_connection_query (priv->client, query, NULL, &error);
     if (error != NULL) {
         g_warning ("Error querying for %s: %s", uri, error->message);
         g_error_free (error);
@@ -124,6 +126,28 @@
         return NULL;
     }
 
+    if (t_cursor == NULL) {
+        return NULL;
+    }
+
+    N = tracker_sparql_cursor_get_n_columns (t_cursor);
+    if (N <= 0) {
+        g_object_unref(t_cursor);
+        return NULL;
+    }
+
+    results = g_ptr_array_new();
+    result = (char **) malloc (sizeof(char *)*(N+1));
+    memset(result,0,sizeof(char*)*(N+1));
+    for (i=0; i<N; i++) {
+        char *r;
+        glong len;
+        r = tracker_sparql_cursor_get_string(t_cursor,i,&len);
+        if (r) {
+	    result[i] = strdup(r);
+        }
+    }
+
     if (results == NULL) {
         return NULL;
     }
@@ -147,6 +171,7 @@
 
     g_strfreev (result);
     g_ptr_array_free (results, TRUE);
+    g_object_unref(t_cursor);
 
     return item;
 }
@@ -174,7 +199,7 @@
                              bgr_item_get_uri (item));
 
     /* FIXME: async? */
-    tracker_resources_sparql_update (priv->client, query, &error);
+    tracker_sparql_connection_update (priv->client, query, 0, NULL, &error);
 
     if (error != NULL) {
         g_warning ("Error updating %s: %s", bgr_item_get_uri (item),

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to