tracker r1866 - in branches/indexer-split: . data/dbus src/trackerd
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1866 - in branches/indexer-split: . data/dbus src/trackerd
- Date: Fri, 4 Jul 2008 14:57:23 +0000 (UTC)
Author: ifrade
Date: Fri Jul 4 14:57:23 2008
New Revision: 1866
URL: http://svn.gnome.org/viewvc/tracker?rev=1866&view=rev
Log:
Tracker daemon API async
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/data/dbus/tracker-daemon.xml
branches/indexer-split/src/trackerd/tracker-daemon.c
branches/indexer-split/src/trackerd/tracker-daemon.h
Modified: branches/indexer-split/data/dbus/tracker-daemon.xml
==============================================================================
--- branches/indexer-split/data/dbus/tracker-daemon.xml (original)
+++ branches/indexer-split/data/dbus/tracker-daemon.xml Fri Jul 4 14:57:23 2008
@@ -72,6 +72,7 @@
1.45.23).
-->
<method name="GetVersion">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="i" name="version" direction="out" />
</method>
@@ -80,6 +81,7 @@
"Optimizing", "Idle", "Shutdown".
-->
<method name="GetStatus">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="s" name="status" direction="out" />
</method>
@@ -91,6 +93,7 @@
Output is in dict format: (service -> description, parent).
-->
<method name="GetServices">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="b" name="main_services_only" direction="in" />
<arg type="a{sv}" name="result" direction="out" />
</method>
@@ -99,6 +102,7 @@
in string array format: [service, no of entities]
-->
<method name="GetStats">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="aas" name="service_stats" direction="out" />
</method>
@@ -107,6 +111,7 @@
"EnableEvolution".
-->
<method name="SetBoolOption">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="s" name="option" direction="in" />
<arg type="b" name="value" direction="in" />
</method>
@@ -115,17 +120,21 @@
one of "Throttle", "IndexDelay".
-->
<method name="SetIntOption">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="s" name="option" direction="in" />
<arg type="i" name="value" direction="in" />
</method>
<!-- Shutdown tracker service with optional reindex. -->
<method name="Shutdown">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
<arg type="b" name="reindex" direction="in" />
</method>
<!-- Prompts tracker to send progress/state signals -->
- <method name="PromptIndexSignals"/>
+ <method name="PromptIndexSignals">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+ </method>
<!-- Signal change in index status - states are:
"Initializing", "Watching", "Indexing", "Pending",
Modified: branches/indexer-split/src/trackerd/tracker-daemon.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-daemon.c (original)
+++ branches/indexer-split/src/trackerd/tracker-daemon.c Fri Jul 4 14:57:23 2008
@@ -250,75 +250,73 @@
/*
* Functions
*/
-gboolean
-tracker_daemon_get_version (TrackerDaemon *object,
- gint *version,
- GError **error)
+void
+tracker_daemon_get_version (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error)
{
guint request_id;
gint major = 0;
gint minor = 0;
gint revision = 0;
+ gint version;
gchar *str;
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (version != NULL, FALSE, error);
-
tracker_dbus_request_new (request_id,
"DBus request to get daemon version");
sscanf (VERSION, "%d.%d.%d", &major, &minor, &revision);
str = g_strdup_printf ("%d%d%d", major, minor, revision);
- *version = atoi (str);
+ version = atoi (str);
g_free (str);
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context, version);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_get_status (TrackerDaemon *object,
- gchar **status,
- GError **error)
+void
+tracker_daemon_get_status (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDaemonPriv *priv;
+ gchar *status;
guint request_id;
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (status != NULL, FALSE, error);
-
priv = GET_PRIV (object);
tracker_dbus_request_new (request_id,
"DBus request to get daemon status");
- *status = g_strdup (tracker_status_get_as_string ());
+ status = g_strdup (tracker_status_get_as_string ());
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context, status);
+
+ g_free (status);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_get_services (TrackerDaemon *object,
- gboolean main_services_only,
- GHashTable **values,
- GError **error)
+void
+tracker_daemon_get_services (TrackerDaemon *object,
+ gboolean main_services_only,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDBInterface *iface;
TrackerDBResultSet *result_set;
guint request_id;
-
+ GHashTable *values = NULL;
/* FIXME: Note, the main_services_only variable is redundant */
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (values != NULL, FALSE, error);
-
tracker_dbus_request_new (request_id,
"DBus request to get daemon services");
@@ -332,30 +330,31 @@
iface = tracker_db_manager_get_db_interface_by_service (TRACKER_DB_FOR_FILE_SERVICE);
result_set = tracker_db_exec_proc (iface, "GetServices", 0);
- *values = tracker_dbus_query_result_to_hash_table (result_set);
+ values = tracker_dbus_query_result_to_hash_table (result_set);
if (result_set) {
g_object_unref (result_set);
}
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context, values);
+
+ g_hash_table_destroy (values);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_get_stats (TrackerDaemon *object,
- GPtrArray **values,
- GError **error)
+void
+tracker_daemon_get_stats (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDBInterface *iface;
TrackerDBResultSet *result_set;
guint request_id;
+ GPtrArray *values = NULL;
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (values != NULL, FALSE, error);
-
tracker_dbus_request_new (request_id,
"DBus request to get daemon service stats");
@@ -369,22 +368,26 @@
iface = tracker_db_manager_get_db_interface_by_service (TRACKER_DB_FOR_FILE_SERVICE);
result_set = tracker_db_exec_proc (iface, "GetStats", 0);
- *values = tracker_dbus_query_result_to_ptr_array (result_set);
+ values = tracker_dbus_query_result_to_ptr_array (result_set);
if (result_set) {
g_object_unref (result_set);
}
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context, values);
+
+ g_ptr_array_foreach (values, (GFunc) g_strfreev, NULL);
+ g_ptr_array_free (values, TRUE);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_set_bool_option (TrackerDaemon *object,
- const gchar *option,
- gboolean value,
- GError **error)
+void
+tracker_daemon_set_bool_option (TrackerDaemon *object,
+ const gchar *option,
+ gboolean value,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDaemonPriv *priv;
guint request_id;
@@ -397,7 +400,7 @@
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (option != NULL, FALSE, error);
+ tracker_dbus_async_return_if_fail (option != NULL, FALSE);
priv = GET_PRIV (object);
@@ -462,14 +465,17 @@
tracker_config_get_enable_indexing (priv->config));
}
- return TRUE;
+ dbus_g_method_return (context);
+
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_set_int_option (TrackerDaemon *object,
- const gchar *option,
- gint value,
- GError **error)
+void
+tracker_daemon_set_int_option (TrackerDaemon *object,
+ const gchar *option,
+ gint value,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDaemonPriv *priv;
guint request_id;
@@ -481,7 +487,7 @@
request_id = tracker_dbus_get_next_request_id ();
- tracker_dbus_return_val_if_fail (option != NULL, FALSE, error);
+ tracker_dbus_async_return_if_fail (option != NULL, FALSE);
priv = GET_PRIV (object);
@@ -502,15 +508,16 @@
g_message ("Maxinum number of unique words set to %d", value);
}
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_shutdown (TrackerDaemon *object,
- gboolean reindex,
- GError **error)
+void
+tracker_daemon_shutdown (TrackerDaemon *object,
+ gboolean reindex,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDaemonPriv *priv;
guint request_id;
@@ -530,14 +537,15 @@
g_timeout_add (500, (GSourceFunc) tracker_shutdown, NULL);
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
-gboolean
-tracker_daemon_prompt_index_signals (TrackerDaemon *object,
- GError **error)
+void
+tracker_daemon_prompt_index_signals (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error)
{
TrackerDaemonPriv *priv;
guint request_id;
@@ -577,7 +585,7 @@
priv->tracker->mbox_processed,
priv->tracker->mbox_count);
- tracker_dbus_request_success (request_id);
+ dbus_g_method_return (context);
- return TRUE;
+ tracker_dbus_request_success (request_id);
}
Modified: branches/indexer-split/src/trackerd/tracker-daemon.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-daemon.h (original)
+++ branches/indexer-split/src/trackerd/tracker-daemon.h Fri Jul 4 14:57:23 2008
@@ -53,38 +53,43 @@
};
GType tracker_daemon_get_type (void);
-TrackerDaemon *tracker_daemon_new (TrackerConfig *config,
- Tracker *tracker);
-void tracker_daemon_set_config (TrackerDaemon *object,
- TrackerConfig *config);
-void tracker_daemon_set_tracker (TrackerDaemon *object,
- Tracker *tracker);
-gboolean tracker_daemon_get_version (TrackerDaemon *object,
- gint *version,
- GError **error);
-gboolean tracker_daemon_get_status (TrackerDaemon *object,
- gchar **status,
- GError **error);
-gboolean tracker_daemon_get_services (TrackerDaemon *object,
- gboolean main_services_only,
- GHashTable **values,
- GError **error);
-gboolean tracker_daemon_get_stats (TrackerDaemon *object,
- GPtrArray **values,
- GError **error);
-gboolean tracker_daemon_set_bool_option (TrackerDaemon *object,
- const gchar *option,
- gboolean value,
- GError **error);
-gboolean tracker_daemon_set_int_option (TrackerDaemon *object,
- const gchar *option,
- gint value,
- GError **error);
-gboolean tracker_daemon_shutdown (TrackerDaemon *object,
- gboolean reindex,
- GError **error);
-gboolean tracker_daemon_prompt_index_signals (TrackerDaemon *object,
- GError **error);
+TrackerDaemon *tracker_daemon_new (TrackerConfig *config,
+ Tracker *tracker);
+void tracker_daemon_set_config (TrackerDaemon *object,
+ TrackerConfig *config);
+void tracker_daemon_set_tracker (TrackerDaemon *object,
+ Tracker *tracker);
+void tracker_daemon_get_version (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_get_status (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_get_services (TrackerDaemon *object,
+ gboolean main_services_only,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_get_stats (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_set_bool_option (TrackerDaemon *object,
+ const gchar *option,
+ gboolean value,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_set_int_option (TrackerDaemon *object,
+ const gchar *option,
+ gint value,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_shutdown (TrackerDaemon *object,
+ gboolean reindex,
+ DBusGMethodInvocation *context,
+ GError **error);
+void tracker_daemon_prompt_index_signals (TrackerDaemon *object,
+ DBusGMethodInvocation *context,
+ GError **error);
+
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]