tracker r1392 - in branches/indexer-split: . data src/trackerd
- From: pvanhoof svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1392 - in branches/indexer-split: . data src/trackerd
- Date: Mon, 12 May 2008 11:57:21 +0100 (BST)
Author: pvanhoof
Date: Mon May 12 10:57:21 2008
New Revision: 1392
URL: http://svn.gnome.org/viewvc/tracker?rev=1392&view=rev
Log:
2008-05-12 Philip Van Hoof <pvanhoof gnome org>
* src/trackerd/tracker-xesam-live-search.c
* src/trackerd/tracker-xesam-live-search.h
* src/trackerd/tracker-dbus-xesam.c
* src/trackerd/tracker-dbus-xesam.h
* data/tracker-dbus-xesam.xml: Support for range queries
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/data/tracker-dbus-xesam.xml
branches/indexer-split/src/trackerd/tracker-dbus-xesam.c
branches/indexer-split/src/trackerd/tracker-dbus-xesam.h
branches/indexer-split/src/trackerd/tracker-xesam-live-search.c
branches/indexer-split/src/trackerd/tracker-xesam-live-search.h
Modified: branches/indexer-split/data/tracker-dbus-xesam.xml
==============================================================================
--- branches/indexer-split/data/tracker-dbus-xesam.xml (original)
+++ branches/indexer-split/data/tracker-dbus-xesam.xml Mon May 12 10:57:21 2008
@@ -101,4 +101,23 @@
</signal>
</interface>
+ <interface name="org.freedesktop.xesam.PagedSearch">
+ <method name="GetRangeHits">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+ <arg type="s" name="search" direction="in" />
+ <arg type="u" name="a" direction="in" />
+ <arg type="u" name="b" direction="in" />
+ <arg type="aav" name="hits" direction="out" />
+ </method>
+
+ <method name="GetRangeHitData">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+ <arg type="s" name="search" direction="in" />
+ <arg type="u" name="a" direction="in" />
+ <arg type="u" name="b" direction="in" />
+ <arg type="as" name="fields" direction="in" />
+ <arg type="aav" name="hit_data" direction="out" />
+ </method>
+ </interface>
+
</node>
Modified: branches/indexer-split/src/trackerd/tracker-dbus-xesam.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus-xesam.c (original)
+++ branches/indexer-split/src/trackerd/tracker-dbus-xesam.c Mon May 12 10:57:21 2008
@@ -557,6 +557,41 @@
tracker_dbus_request_success (request_id);
}
+
+
+void
+tracker_dbus_xesam_get_range_hits (TrackerDBusXesam *object,
+ const gchar *search_id,
+ guint a,
+ guint b,
+ DBusGMethodInvocation *context)
+{
+ guint request_id = tracker_dbus_get_next_request_id ();
+ GError *error = NULL;
+ TrackerXesamLiveSearch *search = tracker_xesam_get_live_search (search_id, &error);
+
+ if (search) {
+ GPtrArray *hits = NULL;
+ tracker_xesam_live_search_get_range_hits (search, a, b, &hits, &error);
+
+ if (error) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+ } else {
+ dbus_g_method_return (context, hits);
+ freeup_hits_data (hits);
+ }
+
+ g_object_unref (search);
+ } else if (error) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+ }
+
+ tracker_dbus_request_success (request_id);
+}
+
+
void
tracker_dbus_xesam_get_hit_data (TrackerDBusXesam *object,
const gchar *search_id,
@@ -590,6 +625,42 @@
tracker_dbus_request_success (request_id);
}
+
+
+void
+tracker_dbus_xesam_get_range_hit_data (TrackerDBusXesam *object,
+ const gchar *search_id,
+ guint a,
+ guint b,
+ GStrv fields,
+ DBusGMethodInvocation *context)
+{
+ guint request_id = tracker_dbus_get_next_request_id ();
+ GError *error = NULL;
+ TrackerXesamLiveSearch *search = tracker_xesam_get_live_search (search_id, &error);
+
+ if (search) {
+ GPtrArray *hit_data = NULL;
+ tracker_xesam_live_search_get_range_hit_data (search, a, b, fields, &hit_data, &error);
+
+ if (error) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+ } else {
+ dbus_g_method_return (context, hit_data);
+ freeup_hits_data (hit_data);
+ }
+
+
+ g_object_unref (search);
+ } else if (error) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+ }
+
+ tracker_dbus_request_success (request_id);
+}
+
void
tracker_dbus_xesam_close_search (TrackerDBusXesam *object,
const gchar *search_id,
Modified: branches/indexer-split/src/trackerd/tracker-dbus-xesam.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus-xesam.h (original)
+++ branches/indexer-split/src/trackerd/tracker-dbus-xesam.h Mon May 12 10:57:21 2008
@@ -58,50 +58,61 @@
TrackerDBusXesam *
tracker_dbus_xesam_new (DBConnection *db_con);
void tracker_dbus_xesam_new_session (TrackerDBusXesam *object,
- DBusGMethodInvocation *context);
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_set_property (TrackerDBusXesam *object,
- const gchar *session_id,
- const gchar *prop,
- GValue *val,
- DBusGMethodInvocation *context);
+ const gchar *session_id,
+ const gchar *prop,
+ GValue *val,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_get_property (TrackerDBusXesam *object,
- const gchar *session_id,
- const gchar *prop,
- DBusGMethodInvocation *context);
+ const gchar *session_id,
+ const gchar *prop,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_close_session (TrackerDBusXesam *object,
- const gchar *session_id,
- DBusGMethodInvocation *context);
+ const gchar *session_id,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_new_search (TrackerDBusXesam *object,
- const gchar *session_id,
- const gchar *query_xml,
- DBusGMethodInvocation *context);
+ const gchar *session_id,
+ const gchar *query_xml,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_start_search (TrackerDBusXesam *object,
- const gchar *search_id,
- DBusGMethodInvocation *context);
+ const gchar *search_id,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_get_hit_count (TrackerDBusXesam *object,
- const gchar *search_id,
- DBusGMethodInvocation *context);
+ const gchar *search_id,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_get_hits (TrackerDBusXesam *object,
- const gchar *search_id,
- guint count,
- DBusGMethodInvocation *context);
+ const gchar *search_id,
+ guint count,
+ DBusGMethodInvocation *context);
+void tracker_dbus_xesam_get_range_hits (TrackerDBusXesam *object,
+ const gchar *search_id,
+ guint a,
+ guint b,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_get_hit_data (TrackerDBusXesam *object,
- const gchar *search_id,
- GArray *hit_ids,
- GStrv fields,
- DBusGMethodInvocation *context);
+ const gchar *search_id,
+ GArray *hit_ids,
+ GStrv fields,
+ DBusGMethodInvocation *context);
+void tracker_dbus_xesam_get_range_hit_data (TrackerDBusXesam *object,
+ const gchar *search_id,
+ guint a,
+ guint b,
+ GStrv fields,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_close_search (TrackerDBusXesam *object,
- const gchar *search_id,
- DBusGMethodInvocation *context);
+ const gchar *search_id,
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_get_state (TrackerDBusXesam *object,
- DBusGMethodInvocation *context);
+ DBusGMethodInvocation *context);
void tracker_dbus_xesam_emit_state_changed (TrackerDBusXesam *self,
- GStrv state_info);
+ GStrv state_info);
void tracker_dbus_xesam_name_owner_changed (DBusGProxy *proxy,
- const char *name,
- const char *prev_owner,
- const char *new_owner,
- TrackerDBusXesam *self);
+ const char *name,
+ const char *prev_owner,
+ const char *new_owner,
+ TrackerDBusXesam *self);
void tracker_dbus_xesam_set_db_connection (TrackerDBusXesam *object,
DBConnection *db_con);
Modified: branches/indexer-split/src/trackerd/tracker-xesam-live-search.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam-live-search.c (original)
+++ branches/indexer-split/src/trackerd/tracker-xesam-live-search.c Mon May 12 10:57:21 2008
@@ -474,6 +474,28 @@
}
}
+void tracker_xesam_live_search_get_range_hits (TrackerXesamLiveSearch *self,
+ guint a,
+ guint b,
+ GPtrArray **hits,
+ GError **error)
+{
+ TrackerXesamLiveSearchPriv *priv = self->priv;
+
+ if (!priv->active)
+ g_set_error (error, TRACKER_XESAM_ERROR,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active");
+ else {
+ TrackerDBResultSet *result_set = NULL;
+
+ // For ottela: fetch results for get_hits
+
+ get_hit_data (self, result_set, hits);
+ }
+}
+
+
/**
* tracker_xesam_live_search_get_hit_data:
* @self: a #TrackerXesamLiveSearch
@@ -523,6 +545,30 @@
}
}
+
+void
+tracker_xesam_live_search_get_range_hit_data (TrackerXesamLiveSearch *self,
+ guint a,
+ guint b,
+ GStrv fields,
+ GPtrArray **hit_data,
+ GError **error)
+{
+ TrackerXesamLiveSearchPriv *priv = self->priv;
+
+ if (!priv->active)
+ g_set_error (error, TRACKER_XESAM_ERROR,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active yet");
+ else {
+ TrackerDBResultSet *result_set = NULL;
+
+ // For ottela: fetch results for get_hit_data
+
+ get_hit_data (self, result_set, hit_data);
+ }
+}
+
/**
* tracker_xesam_live_search_is_active:
* @self: a #TrackerXesamLiveSearch
Modified: branches/indexer-split/src/trackerd/tracker-xesam-live-search.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-xesam-live-search.h (original)
+++ branches/indexer-split/src/trackerd/tracker-xesam-live-search.h Mon May 12 10:57:21 2008
@@ -68,6 +68,17 @@
guint count,
GPtrArray **hits,
GError **error);
+void tracker_xesam_live_search_get_range_hit_data (TrackerXesamLiveSearch *self,
+ guint a,
+ guint b,
+ GStrv fields,
+ GPtrArray **hit_data,
+ GError **error);
+void tracker_xesam_live_search_get_range_hits (TrackerXesamLiveSearch *self,
+ guint a,
+ guint b,
+ GPtrArray **hits,
+ GError **error);
void tracker_xesam_live_search_get_hit_count (TrackerXesamLiveSearch *self,
guint *count,
GError **error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]