tracker r1888 - in branches/indexer-split: . data/dbus src/tracker-indexer
- From: pvanhoof svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1888 - in branches/indexer-split: . data/dbus src/tracker-indexer
- Date: Fri, 18 Jul 2008 12:04:44 +0000 (UTC)
Author: pvanhoof
Date: Fri Jul 18 12:04:44 2008
New Revision: 1888
URL: http://svn.gnome.org/viewvc/tracker?rev=1888&view=rev
Log:
2008-07-18 Philip Van Hoof <pvanhoof gnome org>
* src/tracker-indexer/tracker-indexer.c:
* src/tracker-indexer/tracker-indexer.h:
* data/dbus/tracker-indexer.xml:
Added a SetPaused DBus API to the indexer
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/data/dbus/tracker-indexer.xml
branches/indexer-split/src/tracker-indexer/tracker-indexer.c
branches/indexer-split/src/tracker-indexer/tracker-indexer.h
Modified: branches/indexer-split/data/dbus/tracker-indexer.xml
==============================================================================
--- branches/indexer-split/data/dbus/tracker-indexer.xml (original)
+++ branches/indexer-split/data/dbus/tracker-indexer.xml Fri Jul 18 12:04:44 2008
@@ -26,7 +26,11 @@
<arg type="s" name="module" direction="in" />
<arg type="as" name="files" direction="in" />
</method>
-
+ <method name="SetPaused">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
+ <arg type="b" name="paused" direction="in" />
+ </method>
+
<!-- Signals -->
<signal name="Status">
<arg type="d" name="elapsed_time" />
@@ -34,6 +38,8 @@
<arg type="u" name="items_done" />
<arg type="u" name="items_remaining" />
</signal>
+ <signal name="Paused" />
+ <signal name="Continued" />
<signal name="Started" />
<signal name="Finished">
<arg type="d" name="elapsed_time" />
Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c (original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c Fri Jul 18 12:04:44 2008
@@ -149,6 +149,8 @@
FINISHED,
MODULE_STARTED,
MODULE_FINISHED,
+ PAUSED,
+ CONTINUED,
LAST_SIGNAL
};
@@ -468,6 +470,24 @@
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
+ signals[PAUSED] =
+ g_signal_new ("paused",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (TrackerIndexerClass, paused),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
+ signals[CONTINUED] =
+ g_signal_new ("continued",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (TrackerIndexerClass, continued),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
signals[FINISHED] =
g_signal_new ("finished",
G_OBJECT_CLASS_TYPE (object_class),
@@ -979,6 +999,45 @@
return indexer->private->idle_id != 0;
}
+
+/**
+ * This one is not being used yet, but might be used in near future. Therefore
+ * it would be useful if Garnacho could review this for consistency and
+ * correctness. Ps. it got written by that pvanhoof dude, just ping him if you
+ * have questions.
+ **/
+
+void
+tracker_indexer_set_paused (TrackerIndexer *indexer,
+ gboolean paused,
+ DBusGMethodInvocation *context,
+ GError **error)
+{
+ g_return_if_fail (TRACKER_IS_INDEXER (indexer));
+
+ if (tracker_indexer_get_is_running (indexer)) {
+ if (paused) {
+ if (indexer->private->in_transaction) {
+ stop_transaction (indexer);
+ }
+ if (indexer->private->idle_id) {
+ g_source_remove (indexer->private->idle_id);
+ indexer->private->idle_id = 0;
+ }
+ g_signal_emit (indexer, signals[PAUSED], 0);
+ }
+ } else {
+ if (!paused) {
+ if (!indexer->private->idle_id) {
+ indexer->private->idle_id = g_idle_add (process_func, indexer);
+ g_signal_emit (indexer, signals[CONTINUED], 0);
+ }
+ }
+ }
+ dbus_g_method_return (context);
+}
+
+
void
tracker_indexer_process_all (TrackerIndexer *indexer)
{
Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.h
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.h (original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.h Fri Jul 18 12:04:44 2008
@@ -58,6 +58,8 @@
guint items_indexed,
guint items_remaining);
void (*started) (TrackerIndexer *indexer);
+ void (*paused) (TrackerIndexer *indexer);
+ void (*continued) (TrackerIndexer *indexer);
void (*finished) (TrackerIndexer *indexer,
gdouble seconds_elapsed,
guint items_indexed);
@@ -72,8 +74,10 @@
TrackerIndexer *tracker_indexer_new (void);
gboolean tracker_indexer_get_is_running (TrackerIndexer *indexer);
-void tracker_indexer_set_is_running (TrackerIndexer *indexer,
- gboolean is_running);
+void tracker_indexer_set_paused (TrackerIndexer *indexer,
+ gboolean paused,
+ DBusGMethodInvocation *context,
+ GError **error);
void tracker_indexer_process_all (TrackerIndexer *indexer);
void tracker_indexer_files_check (TrackerIndexer *indexer,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]