tracker r1521 - in branches/indexer-split: . data src/tracker-indexer src/trackerd



Author: mr
Date: Wed May 28 15:57:18 2008
New Revision: 1521
URL: http://svn.gnome.org/viewvc/tracker?rev=1521&view=rev

Log:
	* data/Makefile.am:
	* data/org.freedesktop.Tracker.Indexer.service.in:
	* data/org.freedesktop.TrackerIndexer.service.in:
	* src/tracker-indexer/tracker-indexer.h: Changed name
	TrackerIndexer to Tracker.Indexer.

	* src/tracker-indexer/Makefile.am:
	* data/tracker-indexer.xml: Add introspection support for the
	indexer. 

	* src/tracker-indexer/tracker-dbus.c: 
	* src/tracker-indexer/tracker-main.c: Make sure we register the
	DBus objects properly on startup.


Added:
   branches/indexer-split/data/org.freedesktop.Tracker.Indexer.service.in
      - copied, changed from r1514, /branches/indexer-split/data/org.freedesktop.TrackerIndexer.service.in
   branches/indexer-split/data/tracker-indexer.xml
Removed:
   branches/indexer-split/data/org.freedesktop.TrackerIndexer.service.in
Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/data/Makefile.am
   branches/indexer-split/src/tracker-indexer/Makefile.am
   branches/indexer-split/src/tracker-indexer/tracker-dbus.c
   branches/indexer-split/src/tracker-indexer/tracker-indexer.h
   branches/indexer-split/src/tracker-indexer/tracker-main.c
   branches/indexer-split/src/trackerd/tracker-dbus.c

Modified: branches/indexer-split/data/Makefile.am
==============================================================================
--- branches/indexer-split/data/Makefile.am	(original)
+++ branches/indexer-split/data/Makefile.am	Wed May 28 15:57:18 2008
@@ -9,6 +9,7 @@
 	tracker-dbus-metadata.xml			\
 	tracker-dbus-search.xml				\
 	tracker-dbus-xesam.xml				\
+	tracker-indexer.xml				\
 	sqlite-tracker.sql 				\
 	sqlite-cache.sql 				\
 	sqlite-contents.sql				\
@@ -26,17 +27,17 @@
 org.freedesktop.Tracker_servicedir = $(DBUS_SERVICES_DIR)
 org.freedesktop.Tracker_service_DATA = org.freedesktop.Tracker.service
 
-org.freedesktop.TrackerIndexer_servicedir = $(DBUS_SERVICES_DIR) 
-org.freedesktop.TrackerIndexer_service_DATA = org.freedesktop.TrackerIndexer.service
+org.freedesktop.Tracker.Indexer_servicedir = $(DBUS_SERVICES_DIR) 
+org.freedesktop.Tracker.Indexer_service_DATA = org.freedesktop.Tracker.Indexer.service
 
 %.service: %.service.in
 	@sed -e "s|\ bindir\@|$(bindir)|" $< > $@
 
 EXTRA_DIST = 						\
 	$(org.freedesktop.Tracker_service_DATA)		\
-	$(org.freedesktop.TrackerIndexer_service_DATA)	\
+	$(org.freedesktop.Tracker.Indexer_service_DATA)	\
 	$(config_DATA)
 
 CLEANFILES = 						\
 	$(org.freedesktop.Tracker_service_DATA)		\
-	$(org.freedesktop.TrackerIndexer_service_DATA)
+	$(org.freedesktop.Tracker.Indexer_service_DATA)

Copied: branches/indexer-split/data/org.freedesktop.Tracker.Indexer.service.in (from r1514, /branches/indexer-split/data/org.freedesktop.TrackerIndexer.service.in)
==============================================================================
--- /branches/indexer-split/data/org.freedesktop.TrackerIndexer.service.in	(original)
+++ branches/indexer-split/data/org.freedesktop.Tracker.Indexer.service.in	Wed May 28 15:57:18 2008
@@ -1,3 +1,3 @@
 [D-BUS Service]
-Name=org.freedesktop.TrackerIndexer
+Name=org.freedesktop.Tracker.Indexer
 Exec= bindir@/tracker-indexer

Added: branches/indexer-split/data/tracker-indexer.xml
==============================================================================
--- (empty file)
+++ branches/indexer-split/data/tracker-indexer.xml	Wed May 28 15:57:18 2008
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+<busconfig>
+    <policy context="default">
+      <deny send_interface="org.freedesktop.Tracker.Indexer"/>
+      <allow send_destination="org.freedesktop.Tracker"/>
+    </policy>
+</busconfig>
+-->
+
+<node name="/">
+  <interface name="org.freedesktop.Tracker.Indexer">  
+    <method name="GetRunning"/>
+    <method name="SetRunning">
+      <arg type="b" name="running" direction="in" />
+    </method>
+    
+    <!-- The old signal in the daemon used to send the time taken, we
+	 can add this later
+      -->
+    <signal name="Finished"/>
+  </interface>
+</node>

Modified: branches/indexer-split/src/tracker-indexer/Makefile.am
==============================================================================
--- branches/indexer-split/src/tracker-indexer/Makefile.am	(original)
+++ branches/indexer-split/src/tracker-indexer/Makefile.am	Wed May 28 15:57:18 2008
@@ -39,3 +39,14 @@
 	-lz								\
 	-lm
 
+dbus_sources = 								\
+	tracker-indexer-glue.h
+
+%-glue.h: $(top_builddir)/data/%.xml
+	$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=$(subst -,_,$*) $^
+
+BUILT_SOURCES = $(dbus_sources)
+
+CLEANFILES = $(BUILT_SOURCES)
+
+EXTRA_DIST = $(BUILT_SOURCES)
\ No newline at end of file

Modified: branches/indexer-split/src/tracker-indexer/tracker-dbus.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-dbus.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-dbus.c	Wed May 28 15:57:18 2008
@@ -25,6 +25,7 @@
 
 #include "tracker-dbus.h"
 #include "tracker-indexer.h"
+#include "tracker-indexer-glue.h"
 
 static DBusGConnection *connection;
 static DBusGProxy      *proxy;
@@ -55,7 +56,7 @@
 
         if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
                 g_critical ("DBus service name '%s' is already taken, "
-			    "perhaps the daemon is already running?",
+			    "perhaps the application is already running?",
 			    name);
                 return FALSE;
 	}
@@ -63,7 +64,6 @@
         return TRUE;
 }
 
-#if 0
 static gpointer
 dbus_register_object (DBusGConnection       *connection,
                       DBusGProxy            *proxy,
@@ -85,8 +85,6 @@
         return object;
 }
 
-#endif
-
 static gboolean 
 dbus_register_names (void)
 {
@@ -170,20 +168,16 @@
 		return FALSE;
 	}
 
-	object = NULL;
-
-#if 0
         /* Add org.freedesktop.Tracker.Indexer */
         if (!(object = dbus_register_object (connection, 
                                              proxy,
-                                             TRACKER_TYPE_DBUS_DAEMON,
-                                             &dbus_glib_tracker_dbus_daemon_object_info,
-                                             TRACKER_DBUS_DAEMON_PATH))) {
+                                             TRACKER_TYPE_INDEXER,
+                                             &dbus_glib_tracker_indexer_object_info,
+                                             TRACKER_INDEXER_PATH))) {
                 return FALSE;
         }
 
         objects = g_slist_prepend (objects, object);
-#endif
 
          /* Reverse list since we added objects at the top each time */
         objects = g_slist_reverse (objects);

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	Wed May 28 15:57:18 2008
@@ -22,9 +22,9 @@
 #ifndef __TRACKER_INDEXER_H__
 #define __TRACKER_INDEXER_H__
 
-#define TRACKER_INDEXER_SERVICE      "org.freedesktop.TrackerIndexer"
-#define TRACKER_INDEXER_PATH         "/org/freedesktop/TrackerIndexer"
-#define TRACKER_INDEXER_INTERFACE    "org.freedesktop.TrackerIndexer"
+#define TRACKER_INDEXER_SERVICE      "org.freedesktop.Tracker.Indexer"
+#define TRACKER_INDEXER_PATH         "/org/freedesktop/Tracker/Indexer"
+#define TRACKER_INDEXER_INTERFACE    "org.freedesktop.Tracker.Indexer"
 
 G_BEGIN_DECLS
 

Modified: branches/indexer-split/src/tracker-indexer/tracker-main.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-main.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-main.c	Wed May 28 15:57:18 2008
@@ -143,8 +143,8 @@
 gint
 main (gint argc, gchar *argv[])
 {
-	TrackerIndexer *indexer;
         TrackerConfig  *config;
+	GObject        *indexer;
 	GOptionContext *context;
 	GError	       *error = NULL;
 	gchar	       *summary = NULL;
@@ -215,14 +215,18 @@
 	g_message ("Starting log");
         g_free (log_filename);
 
+        /* Make sure we initialize DBus, this shows we are started
+         * successfully when called upon from the daemon.
+         */
+        if (!tracker_dbus_init ()) {
+                return EXIT_FAILURE;
+        }
+
 #ifdef HAVE_IOPRIO
 	/* Set IO priority */
 	tracker_ioprio_init ();
 #endif
 
-	/* Set child's niceness to 19 */
-        errno = 0;
-
         /* nice() uses attribute "warn_unused_result" and so complains
 	 * if we do not check its returned value. But it seems that
 	 * since glibc 2.2.4, nice() can return -1 on a successful
@@ -236,25 +240,23 @@
                            str ? str : "no error given");
         }
 
-        /* Make sure we initialize DBus, this shows we are started
-         * successfully when called upon from the daemon.
-         */
-        if (!tracker_dbus_init ()) {
-                return EXIT_FAILURE;
-        }
+	/* Make Tracker available for introspection */
+	if (!tracker_dbus_register_objects ()) {
+		return EXIT_FAILURE;
+	}
 
         /* Create the indexer and run the main loop */
-	indexer = tracker_indexer_new (reindex);
-	main_loop = g_main_loop_new (NULL, FALSE);
+        indexer = tracker_dbus_get_object (TRACKER_TYPE_INDEXER);
 
+        g_object_set (G_OBJECT (indexer), "reindex", reindex, NULL);
 	g_signal_connect (indexer, "finished",
 			  G_CALLBACK (indexer_finished_cb), NULL);
 
+	main_loop = g_main_loop_new (NULL, FALSE);
 	g_main_loop_run (main_loop);
 
 	g_message ("Shutting down...\n");
 
-	g_object_unref (indexer);
 	g_object_unref (config);
 
 	return EXIT_SUCCESS;

Modified: branches/indexer-split/src/trackerd/tracker-dbus.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-dbus.c	(original)
+++ branches/indexer-split/src/trackerd/tracker-dbus.c	Wed May 28 15:57:18 2008
@@ -67,7 +67,7 @@
                 g_error_free (error);
 
                 return FALSE;
-		}
+	}
 
         if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
                 g_critical ("DBus service name '%s' is already taken, "



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]