(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),
signature.asc
Description: OpenPGP digital signature