tracker r1538 - in branches/xesam-support: . data data/dbus po src/libstemmer src/libtracker src/libtracker-common src/libtracker-db src/tracker-indexer src/tracker-indexer/modules src/trackerd
- From: pvanhoof svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1538 - in branches/xesam-support: . data data/dbus po src/libstemmer src/libtracker src/libtracker-common src/libtracker-db src/tracker-indexer src/tracker-indexer/modules src/trackerd
- Date: Fri, 30 May 2008 09:25:55 +0000 (UTC)
Author: pvanhoof
Date: Fri May 30 09:25:54 2008
New Revision: 1538
URL: http://svn.gnome.org/viewvc/tracker?rev=1538&view=rev
Log:
2008-05-29 Philip Van Hoof <pvanhoof gnome org>
* Merged xesam-support with indexer-split
svn merge -r 1524:1537 ../indexer-split
Added:
branches/xesam-support/data/dbus/ (props changed)
- copied from r1537, /branches/indexer-split/data/dbus/
branches/xesam-support/src/trackerd/tracker-daemon.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-daemon.c
branches/xesam-support/src/trackerd/tracker-daemon.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-daemon.h
branches/xesam-support/src/trackerd/tracker-files.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-files.c
branches/xesam-support/src/trackerd/tracker-files.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-files.h
branches/xesam-support/src/trackerd/tracker-keywords.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-keywords.c
branches/xesam-support/src/trackerd/tracker-keywords.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-keywords.h
branches/xesam-support/src/trackerd/tracker-metadata.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-metadata.c
branches/xesam-support/src/trackerd/tracker-metadata.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-metadata.h
branches/xesam-support/src/trackerd/tracker-search.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-search.c
branches/xesam-support/src/trackerd/tracker-search.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-search.h
branches/xesam-support/src/trackerd/tracker-xesam-manager.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-xesam-manager.c
branches/xesam-support/src/trackerd/tracker-xesam-manager.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-xesam-manager.h
branches/xesam-support/src/trackerd/tracker-xesam.c
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-xesam.c
branches/xesam-support/src/trackerd/tracker-xesam.h
- copied unchanged from r1537, /branches/indexer-split/src/trackerd/tracker-xesam.h
Removed:
branches/xesam-support/data/org.freedesktop.Tracker.Indexer.service.in
branches/xesam-support/data/org.freedesktop.Tracker.service.in
branches/xesam-support/data/tracker-dbus-daemon.xml
branches/xesam-support/data/tracker-dbus-files.xml
branches/xesam-support/data/tracker-dbus-keywords.xml
branches/xesam-support/data/tracker-dbus-metadata.xml
branches/xesam-support/data/tracker-dbus-search.xml
branches/xesam-support/data/tracker-dbus-xesam.xml
branches/xesam-support/data/tracker-indexer.xml
branches/xesam-support/data/tracker.cfg
branches/xesam-support/src/trackerd/tracker-dbus-daemon.c
branches/xesam-support/src/trackerd/tracker-dbus-daemon.h
branches/xesam-support/src/trackerd/tracker-dbus-files.c
branches/xesam-support/src/trackerd/tracker-dbus-files.h
branches/xesam-support/src/trackerd/tracker-dbus-keywords.c
branches/xesam-support/src/trackerd/tracker-dbus-keywords.h
branches/xesam-support/src/trackerd/tracker-dbus-metadata.c
branches/xesam-support/src/trackerd/tracker-dbus-metadata.h
branches/xesam-support/src/trackerd/tracker-dbus-search.c
branches/xesam-support/src/trackerd/tracker-dbus-search.h
branches/xesam-support/src/trackerd/tracker-dbus-xesam.c
branches/xesam-support/src/trackerd/tracker-dbus-xesam.h
Modified:
branches/xesam-support/ChangeLog
branches/xesam-support/configure.ac
branches/xesam-support/data/Makefile.am
branches/xesam-support/po/POTFILES.in
branches/xesam-support/src/libstemmer/ (props changed)
branches/xesam-support/src/libtracker/ (props changed)
branches/xesam-support/src/libtracker-common/Makefile.am
branches/xesam-support/src/libtracker-common/tracker-hal.c
branches/xesam-support/src/libtracker-common/tracker-hal.h
branches/xesam-support/src/libtracker-db/ (props changed)
branches/xesam-support/src/libtracker-db/Makefile.am
branches/xesam-support/src/libtracker/Makefile.am
branches/xesam-support/src/libtracker/tracker.c
branches/xesam-support/src/tracker-indexer/ (props changed)
branches/xesam-support/src/tracker-indexer/Makefile.am
branches/xesam-support/src/tracker-indexer/modules/ (props changed)
branches/xesam-support/src/tracker-indexer/modules/Makefile.am
branches/xesam-support/src/tracker-indexer/tracker-dbus.c
branches/xesam-support/src/tracker-indexer/tracker-dbus.h
branches/xesam-support/src/tracker-indexer/tracker-main.c
branches/xesam-support/src/trackerd/ (props changed)
branches/xesam-support/src/trackerd/Makefile.am
branches/xesam-support/src/trackerd/tracker-cache.c
branches/xesam-support/src/trackerd/tracker-db-sqlite.c
branches/xesam-support/src/trackerd/tracker-dbus.c
branches/xesam-support/src/trackerd/tracker-dbus.h
branches/xesam-support/src/trackerd/tracker-email-evolution.c
branches/xesam-support/src/trackerd/tracker-email-modest.c
branches/xesam-support/src/trackerd/tracker-email-utils.c
branches/xesam-support/src/trackerd/tracker-indexer.c
branches/xesam-support/src/trackerd/tracker-main.c
branches/xesam-support/src/trackerd/tracker-process-files.c
branches/xesam-support/src/trackerd/tracker-status.c
branches/xesam-support/src/trackerd/tracker-utils.c
branches/xesam-support/src/trackerd/tracker-xesam-live-search.c
branches/xesam-support/src/trackerd/tracker-xesam-session.c
branches/xesam-support/src/trackerd/tracker-xesam-session.h
Modified: branches/xesam-support/configure.ac
==============================================================================
--- branches/xesam-support/configure.ac (original)
+++ branches/xesam-support/configure.ac Fri May 30 09:25:54 2008
@@ -800,6 +800,7 @@
libtracker-gtk.pc
docs/Makefile
data/Makefile
+ data/dbus/Makefile
data/languages/Makefile
data/icons/Makefile
data/icons/16x16/Makefile
Modified: branches/xesam-support/data/Makefile.am
==============================================================================
--- branches/xesam-support/data/Makefile.am (original)
+++ branches/xesam-support/data/Makefile.am Fri May 30 09:25:54 2008
@@ -1,15 +1,8 @@
-SUBDIRS = languages icons services
+SUBDIRS = dbus languages icons services
configdir = $(datadir)/tracker
config_DATA = \
- tracker-dbus-daemon.xml \
- tracker-dbus-files.xml \
- tracker-dbus-keywords.xml \
- tracker-dbus-metadata.xml \
- tracker-dbus-search.xml \
- tracker-dbus-xesam.xml \
- tracker-indexer.xml \
sqlite-tracker.sql \
sqlite-cache.sql \
sqlite-contents.sql \
@@ -23,21 +16,4 @@
sqlite-metadata.sql \
sqlite-xesam.sql
-# Services
-org.freedesktop.Tracker_servicedir = $(DBUS_SERVICES_DIR)
-org.freedesktop.Tracker_service_DATA = org.freedesktop.Tracker.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.Tracker.Indexer_service_DATA) \
- $(config_DATA)
-
-CLEANFILES = \
- $(org.freedesktop.Tracker_service_DATA) \
- $(org.freedesktop.Tracker.Indexer_service_DATA)
+EXTRA_DIST = $(config_DATA)
Modified: branches/xesam-support/po/POTFILES.in
==============================================================================
--- branches/xesam-support/po/POTFILES.in (original)
+++ branches/xesam-support/po/POTFILES.in Fri May 30 09:25:54 2008
@@ -15,8 +15,8 @@
src/tracker-applet/tracker-applet.desktop.in.in
src/tracker-applet/tracker-applet-prefs.glade
src/trackerd/tracker-main.c
-src/tracker-indexer/main.c
src/tracker-indexer/tracker-indexer.c
+src/tracker-indexer/tracker-main.c
src/tracker-preferences/tracker-preferences.c
src/tracker-preferences/tracker-preferences.desktop.in.in
src/tracker-preferences/tracker-preferences.glade
Modified: branches/xesam-support/src/libtracker-common/Makefile.am
==============================================================================
--- branches/xesam-support/src/libtracker-common/Makefile.am (original)
+++ branches/xesam-support/src/libtracker-common/Makefile.am Fri May 30 09:25:54 2008
@@ -17,7 +17,7 @@
if HAVE_HAL
hal_sources = \
- tracker-hal.c \
+ tracker-hal.c \
tracker-hal.h
endif
@@ -36,8 +36,6 @@
tracker-field-data.h \
tracker-file-utils.c \
tracker-file-utils.h \
- tracker-hal.c \
- tracker-hal.h \
tracker-language.c \
tracker-language.h \
tracker-log.c \
Modified: branches/xesam-support/src/libtracker-common/tracker-hal.c
==============================================================================
--- branches/xesam-support/src/libtracker-common/tracker-hal.c (original)
+++ branches/xesam-support/src/libtracker-common/tracker-hal.c Fri May 30 09:25:54 2008
@@ -19,7 +19,7 @@
* Boston, MA 02110-1301, USA.
*/
-#include <config.h>
+#include "config.h"
#ifdef HAVE_HAL
@@ -67,6 +67,7 @@
GParamSpec *pspec);
static gboolean hal_setup_devices (TrackerHal *hal);
static gboolean hal_setup_batteries (TrackerHal *hal);
+
static gboolean hal_device_add (TrackerHal *hal,
LibHalVolume *volume);
static void hal_device_added_cb (LibHalContext *context,
Modified: branches/xesam-support/src/libtracker-common/tracker-hal.h
==============================================================================
--- branches/xesam-support/src/libtracker-common/tracker-hal.h (original)
+++ branches/xesam-support/src/libtracker-common/tracker-hal.h Fri May 30 09:25:54 2008
@@ -19,10 +19,10 @@
* Boston, MA 02110-1301, USA.
*/
-#ifdef HAVE_HAL
+#ifndef __LIBTRACKER_HAL_H__
+#define __LIBTRACKER_HAL_H__
-#ifndef __TRACKERD_HAL_H__
-#define __TRACKERD_HAL_H__
+#ifdef HAVE_HAL
#include <glib-object.h>
@@ -56,6 +56,6 @@
G_END_DECLS
-#endif /* __TRACKERD_HAL_H__ */
-
#endif /* HAVE_HAL */
+
+#endif /* __LIBTRACKER_HAL_H__ */
Modified: branches/xesam-support/src/libtracker-db/Makefile.am
==============================================================================
--- branches/xesam-support/src/libtracker-db/Makefile.am (original)
+++ branches/xesam-support/src/libtracker-db/Makefile.am Fri May 30 09:25:54 2008
@@ -26,6 +26,7 @@
libtracker_db_la_LDFLAGS = -version-info 0:0:0
libtracker_db_la_LIBADD = \
+ $(top_builddir)/src/libtracker-common/libtracker-common.la \
$(SQLITE3_LIBS) \
$(QDBM_LIBS) \
$(DBUS_LIBS) \
Modified: branches/xesam-support/src/libtracker/Makefile.am
==============================================================================
--- branches/xesam-support/src/libtracker/Makefile.am (original)
+++ branches/xesam-support/src/libtracker/Makefile.am Fri May 30 09:25:54 2008
@@ -54,13 +54,13 @@
# Generate DBus files from XML data.
dbus_sources = \
- tracker-dbus-daemon-glue.h \
- tracker-dbus-files-glue.h \
- tracker-dbus-keywords-glue.h \
- tracker-dbus-metadata-glue.h \
- tracker-dbus-search-glue.h
+ tracker-daemon-glue.h \
+ tracker-files-glue.h \
+ tracker-keywords-glue.h \
+ tracker-metadata-glue.h \
+ tracker-search-glue.h
-%-glue.h: $(top_builddir)/data/%.xml
+%-glue.h: $(top_srcdir)/data/dbus/%.xml
$(DBUSBINDINGTOOL) --mode=glib-client --output=$@ --prefix=$(subst -,_,$*) $^
BUILT_SOURCES = $(dbus_sources)
Modified: branches/xesam-support/src/libtracker/tracker.c
==============================================================================
--- branches/xesam-support/src/libtracker/tracker.c (original)
+++ branches/xesam-support/src/libtracker/tracker.c Fri May 30 09:25:54 2008
@@ -19,11 +19,11 @@
#include <string.h>
-#include "tracker-dbus-daemon-glue.h"
-#include "tracker-dbus-files-glue.h"
-#include "tracker-dbus-keywords-glue.h"
-#include "tracker-dbus-metadata-glue.h"
-#include "tracker-dbus-search-glue.h"
+#include "tracker-daemon-glue.h"
+#include "tracker-files-glue.h"
+#include "tracker-keywords-glue.h"
+#include "tracker-metadata-glue.h"
+#include "tracker-search-glue.h"
#include "tracker.h"
Modified: branches/xesam-support/src/tracker-indexer/Makefile.am
==============================================================================
--- branches/xesam-support/src/tracker-indexer/Makefile.am (original)
+++ branches/xesam-support/src/tracker-indexer/Makefile.am Fri May 30 09:25:54 2008
@@ -44,7 +44,7 @@
dbus_sources = \
tracker-indexer-glue.h
-%-glue.h: $(top_builddir)/data/%.xml
+%-glue.h: $(top_srcdir)/data/dbus/%.xml
$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=$(subst -,_,$*) $^
BUILT_SOURCES = $(dbus_sources)
Modified: branches/xesam-support/src/tracker-indexer/modules/Makefile.am
==============================================================================
--- branches/xesam-support/src/tracker-indexer/modules/Makefile.am (original)
+++ branches/xesam-support/src/tracker-indexer/modules/Makefile.am Fri May 30 09:25:54 2008
@@ -6,26 +6,34 @@
-DLIBDIR=\""$(libdir)"\" \
-DLOCALEDIR=\""$(localedir)"\" \
-DINDEXER_MODULES_DIR=\"$(indexer_modulesdir)\" \
- $(GLIB2_CFLAGS) \
+ -I$(top_srcdir)/src \
$(GMODULE_CFLAGS) \
- -I$(top_srcdir)/src
+ $(GLIB2_CFLAGS)
indexer_modules_LTLIBRARIES = \
libtracker-indexer-applications.la \
libtracker-indexer-files.la \
libtracker-indexer-gaim-conversations.la
+# Applications module
libtracker_indexer_applications_la_SOURCES = applications.c
libtracker_indexer_applications_la_LDFLAGS = $(module_flags)
-libtracker_indexer_applications_la_LIBADD = $(GLIB2_LIBS)
+libtracker_indexer_applications_la_LIBADD = \
+ $(GMODULE_LIBS) \
+ $(GLIB2_LIBS)
+# Files module
libtracker_indexer_files_la_SOURCES = files.c
libtracker_indexer_files_la_LDFLAGS = $(module_flags)
libtracker_indexer_files_la_LIBADD = \
- $(GLIB2_LIBS) \
$(top_builddir)/src/libtracker-db/libtracker-db.la \
- $(top_builddir)/src/xdgmime/libxdgmime.la
+ $(top_builddir)/src/xdgmime/libxdgmime.la \
+ $(GMODULE_LIBS) \
+ $(GLIB2_LIBS)
+# Instant messaging module
libtracker_indexer_gaim_conversations_la_SOURCES = gaim-conversations.c
libtracker_indexer_gaim_conversations_la_LDFLAGS = $(module_flags)
-libtracker_indexer_gaim_conversations_la_LIBADD = $(GLIB2_LIBS)
+libtracker_indexer_gaim_conversations_la_LIBADD = \
+ $(GMODULE_LIBS) \
+ $(GLIB2_LIBS)
Modified: branches/xesam-support/src/tracker-indexer/tracker-dbus.c
==============================================================================
--- branches/xesam-support/src/tracker-indexer/tracker-dbus.c (original)
+++ branches/xesam-support/src/tracker-indexer/tracker-dbus.c Fri May 30 09:25:54 2008
@@ -29,7 +29,6 @@
static DBusGConnection *connection;
static DBusGProxy *proxy;
-static GSList *objects;
static gboolean
dbus_register_service (DBusGProxy *proxy,
@@ -39,14 +38,14 @@
guint result;
g_message ("Registering DBus service...\n"
- " Name '%s'",
+ " Name:'%s'",
name);
if (!org_freedesktop_DBus_request_name (proxy,
name,
DBUS_NAME_FLAG_DO_NOT_QUEUE,
&result, &error)) {
- g_critical ("Could not aquire name: %s, %s",
+ g_critical ("Could not aquire name:'%s', %s",
name,
error ? error->message : "no error given");
g_error_free (error);
@@ -55,7 +54,7 @@
}
if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
- g_critical ("DBus service name '%s' is already taken, "
+ g_critical ("DBus service name:'%s' is already taken, "
"perhaps the application is already running?",
name);
return FALSE;
@@ -64,25 +63,21 @@
return TRUE;
}
-static gpointer
-dbus_register_object (DBusGConnection *connection,
+static gboolean
+dbus_register_object (GObject *object,
+ DBusGConnection *connection,
DBusGProxy *proxy,
- GType object_type,
const DBusGObjectInfo *info,
const gchar *path)
{
- GObject *object;
-
g_message ("Registering DBus object...");
- g_message (" Path '%s'", path);
- g_message (" Type '%s'", g_type_name (object_type));
-
- object = g_object_new (object_type, NULL);
+ g_message (" Path:'%s'", path);
+ g_message (" Object Type:'%s'", G_OBJECT_TYPE_NAME (object));
- dbus_g_object_type_install_info (object_type, info);
+ dbus_g_object_type_install_info (G_OBJECT_TYPE (object), info);
dbus_g_connection_register_g_object (connection, path, object);
- return object;
+ return TRUE;
}
static gboolean
@@ -129,7 +124,7 @@
tracker_dbus_init (void)
{
/* Don't reinitialize */
- if (objects) {
+ if (connection && proxy) {
return TRUE;
}
@@ -144,12 +139,6 @@
void
tracker_dbus_shutdown (void)
{
- if (objects) {
- g_slist_foreach (objects, (GFunc) g_object_unref, NULL);
- g_slist_free (objects);
- objects = NULL;
- }
-
if (proxy) {
g_object_unref (proxy);
proxy = NULL;
@@ -159,42 +148,22 @@
}
gboolean
-tracker_dbus_register_objects (void)
+tracker_dbus_register_object (GObject *object)
{
- GObject *object;
-
if (!connection || !proxy) {
g_critical ("DBus support must be initialized before registering objects!");
return FALSE;
}
- /* Add org.freedesktop.Tracker.Indexer */
- if (!(object = dbus_register_object (connection,
- proxy,
- TRACKER_TYPE_INDEXER,
- &dbus_glib_tracker_indexer_object_info,
- TRACKER_INDEXER_PATH))) {
- return FALSE;
- }
-
- objects = g_slist_prepend (objects, object);
-
- /* Reverse list since we added objects at the top each time */
- objects = g_slist_reverse (objects);
-
- return TRUE;
-}
-
-GObject *
-tracker_dbus_get_object (GType type)
-{
- GSList *l;
-
- for (l = objects; l; l = l->next) {
- if (G_OBJECT_TYPE (l->data) == type) {
- return l->data;
- }
+ if (TRACKER_IS_INDEXER (object)) {
+ return dbus_register_object (object,
+ connection,
+ proxy,
+ &dbus_glib_tracker_indexer_object_info,
+ TRACKER_INDEXER_PATH);
+ } else {
+ g_warning ("Object not handled by DBus");
}
- return NULL;
+ return FALSE;
}
Modified: branches/xesam-support/src/tracker-indexer/tracker-dbus.h
==============================================================================
--- branches/xesam-support/src/tracker-indexer/tracker-dbus.h (original)
+++ branches/xesam-support/src/tracker-indexer/tracker-dbus.h Fri May 30 09:25:54 2008
@@ -28,8 +28,7 @@
gboolean tracker_dbus_init (void);
void tracker_dbus_shutdown (void);
-gboolean tracker_dbus_register_objects (void);
-GObject *tracker_dbus_get_object (GType type);
+gboolean tracker_dbus_register_object (GObject *object);
G_END_DECLS
Modified: branches/xesam-support/src/tracker-indexer/tracker-main.c
==============================================================================
--- branches/xesam-support/src/tracker-indexer/tracker-main.c (original)
+++ branches/xesam-support/src/tracker-indexer/tracker-main.c Fri May 30 09:25:54 2008
@@ -149,8 +149,6 @@
{
gchar *data_dir, *user_data_dir, *sys_tmp_dir, *filename;
- g_message ("Initializing...\n");
-
tracker_ontology_init ();
data_dir = g_build_filename (g_get_user_cache_dir (),
@@ -186,12 +184,12 @@
main (gint argc, gchar *argv[])
{
TrackerConfig *config;
- GObject *indexer;
+ TrackerIndexer *indexer;
GOptionContext *context;
GError *error = NULL;
gchar *summary = NULL;
gchar *example;
- gchar *log_filename;
+ gchar *filename;
g_type_init ();
@@ -248,14 +246,14 @@
tracker_config_set_verbosity (config, verbosity);
}
- log_filename = g_build_filename (g_get_user_data_dir (),
- "tracker",
- "tracker-indexer.log",
- NULL);
-
- tracker_log_init (log_filename, tracker_config_get_verbosity (config));
- g_message ("Starting log");
- g_free (log_filename);
+ filename = g_build_filename (g_get_user_data_dir (),
+ "tracker",
+ "tracker-indexer.log",
+ NULL);
+
+ tracker_log_init (filename, tracker_config_get_verbosity (config));
+ g_print ("Starting log:\n File:'%s'\n", filename);
+ g_free (filename);
/* Make sure we initialize DBus, this shows we are started
* successfully when called upon from the daemon.
@@ -264,6 +262,8 @@
return EXIT_FAILURE;
}
+ initialize_indexer ();
+
#ifdef HAVE_IOPRIO
/* Set IO priority */
tracker_ioprio_init ();
@@ -282,20 +282,20 @@
str ? str : "no error given");
}
+ indexer = tracker_indexer_new (reindex);
+
/* Make Tracker available for introspection */
- if (!tracker_dbus_register_objects ()) {
+ if (!tracker_dbus_register_object (G_OBJECT (indexer))) {
return EXIT_FAILURE;
}
- initialize_indexer ();
-
/* Create the indexer and run the main loop */
- 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);
+ g_message ("Starting...");
+
main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
Modified: branches/xesam-support/src/trackerd/Makefile.am
==============================================================================
--- branches/xesam-support/src/trackerd/Makefile.am (original)
+++ branches/xesam-support/src/trackerd/Makefile.am Fri May 30 09:25:54 2008
@@ -67,6 +67,8 @@
$(unix_sources) \
tracker-cache.c \
tracker-cache.h \
+ tracker-daemon.c \
+ tracker-daemon.h \
tracker-db.c \
tracker-db.h \
tracker-db-email.c \
@@ -75,22 +77,14 @@
tracker-db-sqlite.h \
tracker-dbus.c \
tracker-dbus.h \
- tracker-dbus-daemon.c \
- tracker-dbus-daemon.h \
- tracker-dbus-files.c \
- tracker-dbus-files.h \
- tracker-dbus-keywords.c \
- tracker-dbus-keywords.h \
- tracker-dbus-metadata.c \
- tracker-dbus-metadata.h \
- tracker-dbus-search.c \
- tracker-dbus-search.h \
- tracker-dbus-xesam.c \
- tracker-dbus-xesam.h \
tracker-email.c \
tracker-email.h \
tracker-email-utils.c \
tracker-email-utils.h \
+ tracker-files.c \
+ tracker-files.h \
+ tracker-keywords.c \
+ tracker-keywords.h \
tracker-indexer.c \
tracker-indexer.h \
tracker-index-stage.c \
@@ -98,21 +92,27 @@
tracker-main.c \
tracker-main.h \
tracker-marshal-main.c \
+ tracker-metadata.c \
+ tracker-metadata.h \
tracker-process-files.c \
tracker-process-files.h \
tracker-query-tree.c \
tracker-query-tree.h \
tracker-rdf-query.c \
tracker-rdf-query.h \
+ tracker-search.c \
+ tracker-search.h \
+ tracker-status.c \
+ tracker-status.h \
tracker-utils.c \
tracker-utils.h \
tracker-watch.h \
- tracker-status.c \
- tracker-status.h \
- tracker-xesam.h \
tracker-xesam.c \
+ tracker-xesam.h \
tracker-xesam-ontology.c \
tracker-xesam-ontology.h \
+ tracker-xesam-manager.c \
+ tracker-xesam-manager.h \
tracker-xesam-query.c \
tracker-xesam-query.h \
tracker-xesam-session.c \
@@ -156,16 +156,20 @@
tracker-marshal.c
dbus_sources = \
- tracker-dbus-daemon-glue.h \
- tracker-dbus-files-glue.h \
- tracker-dbus-keywords-glue.h \
- tracker-dbus-metadata-glue.h \
- tracker-dbus-search-glue.h \
- tracker-dbus-xesam-glue.h
+ tracker-daemon-glue.h \
+ tracker-files-glue.h \
+ tracker-keywords-glue.h \
+ tracker-metadata-glue.h \
+ tracker-search-glue.h \
+ tracker-xesam-glue.h \
+ tracker-indexer-client.h
-%-glue.h: $(top_builddir)/data/%.xml
+%-glue.h: $(top_srcdir)/data/dbus/%.xml
$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=$(subst -,_,$*) $^
+%-client.h: $(top_srcdir)/data/dbus/%.xml
+ $(DBUSBINDINGTOOL) --mode=glib-client --output=$@ --prefix=$(subst -,_,$*) $^
+
BUILT_SOURCES = \
$(dbus_sources) \
$(marshal_sources)
Modified: branches/xesam-support/src/trackerd/tracker-cache.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-cache.c (original)
+++ branches/xesam-support/src/trackerd/tracker-cache.c Fri May 30 09:25:54 2008
@@ -30,7 +30,7 @@
#include "tracker-utils.h"
#include "tracker-db-sqlite.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-cache.h"
#include "tracker-main.h"
#include "tracker-status.h"
@@ -365,7 +365,7 @@
GObject *object;
gboolean stopped_trans = FALSE;
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
while (TRUE) {
gboolean sleep = FALSE;
Modified: branches/xesam-support/src/trackerd/tracker-db-sqlite.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-db-sqlite.c (original)
+++ branches/xesam-support/src/trackerd/tracker-db-sqlite.c Fri May 30 09:25:54 2008
@@ -46,7 +46,7 @@
#include "tracker-utils.h"
#include "tracker-watch.h"
#include "tracker-query-tree.h"
-#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
#include "tracker-xesam-ontology.h"
#define MAX_INDEX_TEXT_LENGTH 1048576
@@ -3507,7 +3507,7 @@
if (result_set)
g_object_unref (result_set);
- tracker_xesam_wakeup (id);
+ tracker_xesam_manager_wakeup (id);
g_free (eid);
Modified: branches/xesam-support/src/trackerd/tracker-dbus.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-dbus.c (original)
+++ branches/xesam-support/src/trackerd/tracker-dbus.c Fri May 30 09:25:54 2008
@@ -27,23 +27,25 @@
#include "tracker-db-sqlite.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
-#include "tracker-dbus-daemon-glue.h"
-#include "tracker-dbus-files.h"
-#include "tracker-dbus-files-glue.h"
-#include "tracker-dbus-keywords.h"
-#include "tracker-dbus-keywords-glue.h"
-#include "tracker-dbus-metadata.h"
-#include "tracker-dbus-metadata-glue.h"
-#include "tracker-dbus-search.h"
-#include "tracker-dbus-search-glue.h"
-#include "tracker-dbus-xesam.h"
-#include "tracker-dbus-xesam-glue.h"
+#include "tracker-daemon.h"
+#include "tracker-daemon-glue.h"
+#include "tracker-files.h"
+#include "tracker-files-glue.h"
+#include "tracker-keywords.h"
+#include "tracker-keywords-glue.h"
+#include "tracker-metadata.h"
+#include "tracker-metadata-glue.h"
+#include "tracker-search.h"
+#include "tracker-search-glue.h"
+#include "tracker-xesam.h"
+#include "tracker-xesam-glue.h"
+#include "tracker-indexer-client.h"
#include "tracker-utils.h"
#include "tracker-watch.h"
static DBusGConnection *connection;
static DBusGProxy *proxy;
+static DBusGProxy *proxy_for_indexer;
static GSList *objects;
static gboolean
@@ -54,14 +56,14 @@
guint result;
g_message ("Registering DBus service...\n"
- " Name '%s'",
+ " Name:'%s'",
name);
if (!org_freedesktop_DBus_request_name (proxy,
name,
DBUS_NAME_FLAG_DO_NOT_QUEUE,
&result, &error)) {
- g_critical ("Could not aquire name: %s, %s",
+ g_critical ("Could not aquire name:'%s', %s",
name,
error ? error->message : "no error given");
g_error_free (error);
@@ -70,7 +72,7 @@
}
if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
- g_critical ("DBus service name '%s' is already taken, "
+ g_critical ("DBus service name:'%s' is already taken, "
"perhaps the daemon is already running?",
name);
return FALSE;
@@ -89,8 +91,8 @@
GObject *object;
g_message ("Registering DBus object...");
- g_message (" Path '%s'", path);
- g_message (" Type '%s'", g_type_name (object_type));
+ g_message (" Path:'%s'", path);
+ g_message (" Type:'%s'", g_type_name (object_type));
object = g_object_new (object_type, NULL);
@@ -140,13 +142,13 @@
DBUS_INTERFACE_DBUS);
/* Register the service name for org.freedesktop.Tracker */
- if (!dbus_register_service (proxy, TRACKER_DBUS_DAEMON_SERVICE)) {
+ if (!dbus_register_service (proxy, TRACKER_DAEMON_SERVICE)) {
return FALSE;
}
/* Register the service name for org.freedesktop.xesam if XESAM is enabled */
if (tracker_config_get_enable_xesam (config)) {
- if (!dbus_register_service (proxy, TRACKER_DBUS_XESAM_SERVICE)) {
+ if (!dbus_register_service (proxy, TRACKER_XESAM_SERVICE)) {
return FALSE;
}
}
@@ -186,6 +188,11 @@
proxy = NULL;
}
+ if (proxy_for_indexer) {
+ g_object_unref (proxy_for_indexer);
+ proxy_for_indexer = NULL;
+ }
+
connection = NULL;
}
@@ -205,9 +212,9 @@
/* Add org.freedesktop.Tracker */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_DAEMON,
- &dbus_glib_tracker_dbus_daemon_object_info,
- TRACKER_DBUS_DAEMON_PATH))) {
+ TRACKER_TYPE_DAEMON,
+ &dbus_glib_tracker_daemon_object_info,
+ TRACKER_DAEMON_PATH))) {
return FALSE;
}
@@ -221,9 +228,9 @@
/* Add org.freedesktop.Tracker.Files */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_FILES,
- &dbus_glib_tracker_dbus_files_object_info,
- TRACKER_DBUS_FILES_PATH))) {
+ TRACKER_TYPE_FILES,
+ &dbus_glib_tracker_files_object_info,
+ TRACKER_FILES_PATH))) {
return FALSE;
}
@@ -233,9 +240,9 @@
/* Add org.freedesktop.Tracker.Keywords */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_KEYWORDS,
- &dbus_glib_tracker_dbus_keywords_object_info,
- TRACKER_DBUS_KEYWORDS_PATH))) {
+ TRACKER_TYPE_KEYWORDS,
+ &dbus_glib_tracker_keywords_object_info,
+ TRACKER_KEYWORDS_PATH))) {
return FALSE;
}
@@ -245,9 +252,9 @@
/* Add org.freedesktop.Tracker.Metadata */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_METADATA,
- &dbus_glib_tracker_dbus_metadata_object_info,
- TRACKER_DBUS_METADATA_PATH))) {
+ TRACKER_TYPE_METADATA,
+ &dbus_glib_tracker_metadata_object_info,
+ TRACKER_METADATA_PATH))) {
return FALSE;
}
@@ -257,9 +264,9 @@
/* Add org.freedesktop.Tracker.Search */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_SEARCH,
- &dbus_glib_tracker_dbus_search_object_info,
- TRACKER_DBUS_SEARCH_PATH))) {
+ TRACKER_TYPE_SEARCH,
+ &dbus_glib_tracker_search_object_info,
+ TRACKER_SEARCH_PATH))) {
return FALSE;
}
@@ -275,9 +282,9 @@
/* Add org.freedesktop.xesam.Search */
if (!(object = dbus_register_object (connection,
proxy,
- TRACKER_TYPE_DBUS_XESAM,
- &dbus_glib_tracker_dbus_xesam_object_info,
- TRACKER_DBUS_XESAM_PATH))) {
+ TRACKER_TYPE_XESAM,
+ &dbus_glib_tracker_xesam_object_info,
+ TRACKER_XESAM_PATH))) {
return FALSE;
}
@@ -289,7 +296,7 @@
G_TYPE_STRING, G_TYPE_INVALID);
dbus_g_proxy_connect_signal (proxy, "NameOwnerChanged",
- G_CALLBACK (tracker_dbus_xesam_name_owner_changed),
+ G_CALLBACK (tracker_xesam_name_owner_changed),
g_object_ref (object),
dbus_name_owner_changed);
@@ -315,3 +322,36 @@
return NULL;
}
+
+void
+tracker_dbus_start_indexer (void)
+{
+ GError *error = NULL;
+
+ if (!connection) {
+ g_critical ("DBus support must be initialized before starting the indexer!");
+ return;
+ }
+
+ if (!proxy_for_indexer) {
+ /* Get proxy for Service / Path / Interface of the indexer */
+ proxy_for_indexer = dbus_g_proxy_new_for_name (connection,
+ "org.freedesktop.Tracker.Indexer",
+ "/org/freedesktop/Tracker/Indexer",
+ "org.freedesktop.Tracker.Indexer");
+
+ if (!proxy_for_indexer) {
+ g_critical ("Couldn't create a DBusGProxy to the indexer service");
+ return;
+ }
+ }
+
+ org_freedesktop_Tracker_Indexer_set_running (proxy_for_indexer,
+ TRUE,
+ &error);
+
+ if (error) {
+ g_warning ("Couldn't start indexer, %s",
+ error->message);
+ }
+}
Modified: branches/xesam-support/src/trackerd/tracker-dbus.h
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-dbus.h (original)
+++ branches/xesam-support/src/trackerd/tracker-dbus.h Fri May 30 09:25:54 2008
@@ -36,6 +36,7 @@
void tracker_dbus_shutdown (void);
gboolean tracker_dbus_register_objects (Tracker *tracker);
GObject *tracker_dbus_get_object (GType type);
+void tracker_dbus_start_indexer (void);
G_END_DECLS
Modified: branches/xesam-support/src/trackerd/tracker-email-evolution.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-email-evolution.c (original)
+++ branches/xesam-support/src/trackerd/tracker-email-evolution.c Fri May 30 09:25:54 2008
@@ -43,7 +43,7 @@
#include "tracker-db-email.h"
#include "tracker-cache.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-watch.h"
#include "tracker-status.h"
#include "tracker-utils.h"
@@ -1288,11 +1288,11 @@
return;
}
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
if (open_summary_file (summary_file_path, &summary)) {
SummaryFileHeader *header;
- gint32 mail_count, junk_count, delete_count;
+ gint32 mail_count, junk_count, delete_count;
gchar *dir;
header = NULL;
Modified: branches/xesam-support/src/trackerd/tracker-email-modest.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-email-modest.c (original)
+++ branches/xesam-support/src/trackerd/tracker-email-modest.c Fri May 30 09:25:54 2008
@@ -40,7 +40,7 @@
#include "tracker-email-utils.h"
#include "tracker-db-email.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-cache.h"
#include "tracker-status.h"
#include "tracker-watch.h"
@@ -713,7 +713,7 @@
if (!tracker->is_running)
return;
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
if (open_summary_file (summary_file_path, &summary)) {
SummaryFileHeader *header;
Modified: branches/xesam-support/src/trackerd/tracker-email-utils.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-email-utils.c (original)
+++ branches/xesam-support/src/trackerd/tracker-email-utils.c Fri May 30 09:25:54 2008
@@ -38,7 +38,7 @@
#include "tracker-cache.h"
#include "tracker-db-email.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-email-utils.h"
#include "tracker-watch.h"
@@ -132,7 +132,7 @@
tracker->mbox_count++;
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Emails",
@@ -196,7 +196,7 @@
}
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Emails",
@@ -213,7 +213,7 @@
tracker->mbox_processed++;
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Emails",
Modified: branches/xesam-support/src/trackerd/tracker-indexer.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-indexer.c (original)
+++ branches/xesam-support/src/trackerd/tracker-indexer.c Fri May 30 09:25:54 2008
@@ -17,23 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
-/* Needed before including math.h for lrintf() */
-#define _ISOC9X_SOURCE 1
-#define _ISOC99_SOURCE 1
-
-#define __USE_ISOC9X 1
-#define __USE_ISOC99 1
-
-/* Size of free block pool of inverted index */
-#define INDEXFBP 32
-#define SCORE_MULTIPLIER 100000
-#define MAX_HIT_BUFFER 480000
-#define MAX_HITS_FOR_WORD 30000
-#define MAX_INDEX_FILE_SIZE 2000000000
-
-#define CREATE_INDEX \
- "CREATE TABLE HitIndex (Word Text not null " \
- "unique, HitCount Integer, HitArraySize Integer, HitArray Blob);"
+#include "config.h"
#include <stdlib.h>
#include <stdio.h>
@@ -41,6 +25,14 @@
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
+
+/* Needed before including math.h for lrintf() */
+#define _ISOC9X_SOURCE 1
+#define _ISOC99_SOURCE 1
+
+#define __USE_ISOC9X 1
+#define __USE_ISOC99 1
+
#include <math.h>
#include <depot.h>
@@ -60,12 +52,23 @@
#include "tracker-indexer.h"
#include "tracker-cache.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-process-files.h"
#include "tracker-query-tree.h"
#include "tracker-main.h"
#include "tracker-status.h"
+/* Size of free block pool of inverted index */
+#define INDEXFBP 32
+#define SCORE_MULTIPLIER 100000
+#define MAX_HIT_BUFFER 480000
+#define MAX_HITS_FOR_WORD 30000
+#define MAX_INDEX_FILE_SIZE 2000000000
+
+#define CREATE_INDEX \
+ "CREATE TABLE HitIndex (Word Text not null " \
+ "unique, HitCount Integer, HitArraySize Integer, HitArray Blob);"
+
extern Tracker *tracker;
struct Indexer_ {
@@ -408,7 +411,7 @@
if (tracker_hal_get_battery_exists (tracker->hal)) {
interval /= 2;
}
-#endif
+#endif /* HAVE_HAL */
dpiterinit (src->word_index);
@@ -417,7 +420,7 @@
tracker->merge_processed = 0;
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Merging",
@@ -477,7 +480,7 @@
tracker->merge_processed = 1;
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Merging",
@@ -611,7 +614,7 @@
}
data_dir = tracker_get_data_dir ();
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
if (type == INDEX_TYPE_FILES) {
g_return_if_fail (tracker->file_index);
@@ -772,7 +775,7 @@
if (tracker_hal_get_battery_exists (tracker->hal)) {
interval /= 2;
}
-#endif
+#endif /* HAVE_HAL */
}
}
@@ -832,7 +835,7 @@
tracker->merge_processed++;
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Merging",
Modified: branches/xesam-support/src/trackerd/tracker-main.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-main.c (original)
+++ branches/xesam-support/src/trackerd/tracker-main.c Fri May 30 09:25:54 2008
@@ -52,7 +52,7 @@
#include "tracker-process-files.h"
#include "tracker-status.h"
#include "tracker-watch.h"
-#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
#ifdef OS_WIN32
#include <windows.h>
@@ -705,11 +705,13 @@
g_mutex_unlock (tracker->metadata_check_mutex);
g_mutex_unlock (tracker->files_check_mutex);
+#if 0
/* We wait now for the thread to exit and join, then clean up
* the mutexts and conds.
*/
g_message ("Waiting for thread to finish");
g_thread_join (thread_to_join);
+#endif
/* Clean up */
#if 0
@@ -929,7 +931,7 @@
/* Initialise other subsystems */
tracker_log_init (log_filename, tracker_config_get_verbosity (tracker->config));
- g_message ("Starting log");
+ g_print ("Starting log:\n File:'%s'\n", log_filename);
if (!tracker_dbus_init (tracker->config)) {
return EXIT_FAILURE;
@@ -940,13 +942,13 @@
tracker_nfs_lock_init (tracker_config_get_nfs_locking (tracker->config));
tracker_db_init ();
tracker_db_manager_init (data_dir, user_data_dir, sys_tmp_dir);
- tracker_xesam_init ();
+ tracker_xesam_manager_init ();
tracker_cache_init ();
tracker_ontology_init ();
tracker_email_init (tracker->config);
-#ifdef HAVE_HAL
- tracker->hal = tracker_hal_new ();
+#ifdef HAVE_HAL
+ tracker->hal = tracker_hal_new ();
#endif /* HAVE_HAL */
initialise_directories (&need_index);
@@ -979,6 +981,28 @@
g_critical ("File monitoring failed to start");
}
else if (tracker_config_get_enable_indexing (tracker->config)) {
+ gint initial_sleep;
+
+ initial_sleep = tracker_config_get_initial_sleep (tracker->config);
+ g_message ("Indexing enabled, sleeping for %d secs before starting...",
+ initial_sleep);
+
+ while (initial_sleep > 0) {
+ g_usleep (G_USEC_PER_SEC);
+
+ initial_sleep --;
+
+ if (!tracker->is_running || tracker->shutdown) {
+ break;
+ }
+ }
+
+ if (tracker->is_running && !tracker->shutdown) {
+ g_message ("Indexing enabled, starting...");
+ tracker_dbus_start_indexer ();
+ }
+
+#if 0
thread = g_thread_create_full ((GThreadFunc) tracker_process_files,
tracker,
(gulong) tracker_config_get_thread_stack_size (tracker->config),
@@ -986,10 +1010,13 @@
FALSE,
G_THREAD_PRIORITY_NORMAL,
NULL);
+#endif
} else {
- g_message ("Indexing disabled, waiting for DBus requests...");
+ g_message ("Indexing disabled, not starting");
}
}
+
+ g_message ("Waiting for DBus requests...");
if (tracker->is_running) {
main_loop = g_main_loop_new (NULL, FALSE);
@@ -1022,7 +1049,7 @@
tracker_dbus_shutdown ();
tracker_ontology_shutdown ();
tracker_cache_shutdown ();
- tracker_xesam_shutdown ();
+ tracker_xesam_manager_shutdown ();
tracker_db_shutdown ();
tracker_db_manager_shutdown ();
tracker_nfs_lock_shutdown ();
Modified: branches/xesam-support/src/trackerd/tracker-process-files.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-process-files.c (original)
+++ branches/xesam-support/src/trackerd/tracker-process-files.c Fri May 30 09:25:54 2008
@@ -43,7 +43,7 @@
#include "tracker-db.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
#include "tracker-cache.h"
#include "tracker-email.h"
#include "tracker-indexer.h"
@@ -811,7 +811,7 @@
g_message ("Starting file indexing...");
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
tracker_db_end_index_transaction (db_con);
@@ -1078,7 +1078,7 @@
tracker_index_stage_set (TRACKER_INDEX_STAGE_EMAILS);
/* Signal progress */
- daemon = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ daemon = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (daemon, "index-progress",
"Emails",
"",
@@ -1120,7 +1120,7 @@
GObject *object;
TrackerIndexStage stage;
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
/* Check dir_queue in case there are
* directories waiting to be indexed.
@@ -1543,7 +1543,7 @@
/* Get pointers we need */
db_con = tracker_db_connect_all ();
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
dir_queue = g_async_queue_new ();
file_metadata_queue = g_async_queue_new ();
@@ -1614,7 +1614,7 @@
tracker_index_stage_set (TRACKER_INDEX_STAGE_CONFIG);
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
pushed_events = FALSE;
first_run = TRUE;
@@ -1753,7 +1753,7 @@
}
/* Signal progress */
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-progress",
"Files",
Modified: branches/xesam-support/src/trackerd/tracker-status.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-status.c (original)
+++ branches/xesam-support/src/trackerd/tracker-status.c Fri May 30 09:25:54 2008
@@ -23,7 +23,7 @@
#include "tracker-status.h"
#include "tracker-dbus.h"
-#include "tracker-dbus-daemon.h"
+#include "tracker-daemon.h"
static TrackerStatus status = TRACKER_STATUS_INITIALIZING;
@@ -132,7 +132,7 @@
return;
}
- object = tracker_dbus_get_object (TRACKER_TYPE_DBUS_DAEMON);
+ object = tracker_dbus_get_object (TRACKER_TYPE_DAEMON);
g_signal_emit_by_name (object,
"index-state-change",
Modified: branches/xesam-support/src/trackerd/tracker-utils.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-utils.c (original)
+++ branches/xesam-support/src/trackerd/tracker-utils.c Fri May 30 09:25:54 2008
@@ -29,7 +29,7 @@
#include "tracker-utils.h"
#include "tracker-main.h"
#include "tracker-process-files.h"
-#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
extern Tracker *tracker;
@@ -131,7 +131,7 @@
void
tracker_add_io_grace (const gchar *uri)
{
- if (tracker_xesam_is_uri_in_xesam_dir (uri)) {
+ if (tracker_xesam_manager_is_uri_in_xesam_dir (uri)) {
return;
}
Modified: branches/xesam-support/src/trackerd/tracker-xesam-live-search.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-xesam-live-search.c (original)
+++ branches/xesam-support/src/trackerd/tracker-xesam-live-search.c Fri May 30 09:25:54 2008
@@ -24,18 +24,20 @@
#include <dbus/dbus-glib-bindings.h>
#include "tracker-xesam-live-search.h"
-#include "tracker-dbus-xesam.h"
-#include "tracker-dbus.h"
#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
#include "tracker-xesam-query.h"
+#include "tracker-dbus.h"
struct _TrackerXesamLiveSearchPriv {
- gchar *search_id;
TrackerXesamSession *session;
- gboolean active;
- gboolean closed;
- gchar *query;
- gchar *from_sql, *join_sql, *where_sql;
+ gchar *search_id;
+ gboolean active;
+ gboolean closed;
+ gchar *query;
+ gchar *from_sql;
+ gchar *where_sql;
+ gchar *join_sql;
};
enum {
@@ -66,23 +68,41 @@
void
tracker_xesam_live_search_set_session (TrackerXesamLiveSearch *self,
- gpointer session)
+ gpointer session)
{
TrackerXesamLiveSearchPriv *priv = self->priv;
- if (priv->session)
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (session != NULL);
+
+ if (priv->session) {
g_object_unref (priv->session);
+ }
- priv->session = g_object_ref (session);
+ if (session) {
+ priv->session = g_object_ref (session);
+ } else {
+ priv->session = NULL;
+ }
}
void
-tracker_xesam_live_search_set_xml_query (TrackerXesamLiveSearch *self, const gchar *query)
+tracker_xesam_live_search_set_xml_query (TrackerXesamLiveSearch *self,
+ const gchar *query)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+
+ priv = self->priv;
g_free (priv->query);
- priv->query = g_strdup (query);
+
+ if (query) {
+ priv->query = g_strdup (query);
+ } else {
+ priv->query = NULL;
+ }
}
static void
@@ -94,7 +114,7 @@
switch (param_id) {
case PROP_XMLQUERY:
tracker_xesam_live_search_set_xml_query (TRACKER_XESAM_LIVE_SEARCH (object),
- g_value_get_pointer (value));
+ g_value_get_pointer (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -107,7 +127,10 @@
tracker_xesam_live_search_class_init (TrackerXesamLiveSearchClass *klass)
{
GObjectClass *object_class;
+
object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = tracker_xesam_live_search_finalize;
object_class->set_property = xesam_search_set_property;
g_object_class_install_property (object_class,
@@ -117,8 +140,7 @@
"XML Query",
G_PARAM_WRITABLE));
- object_class->finalize = tracker_xesam_live_search_finalize;
- g_type_class_add_private( klass, sizeof(struct _TrackerXesamLiveSearchPriv) );
+ g_type_class_add_private (klass, sizeof (struct _TrackerXesamLiveSearchPriv));
}
@@ -127,7 +149,7 @@
{
TrackerXesamLiveSearchPriv *priv;
- priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,TRACKER_TYPE_XESAM_LIVE_SEARCH,struct _TrackerXesamLiveSearchPriv);
+ priv = self->priv = GET_PRIV (self);
priv->session = NULL;
priv->search_id = NULL;
@@ -153,9 +175,15 @@
tracker_xesam_live_search_emit_hits_added (TrackerXesamLiveSearch *self,
guint count)
{
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
-
- g_signal_emit_by_name (proxy, "hits-added", tracker_xesam_live_search_get_id (self), count);
+ GObject *xesam;
+
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+
+ g_signal_emit_by_name (xesam, "hits-added",
+ tracker_xesam_live_search_get_id (self),
+ count);
}
/**
@@ -173,9 +201,16 @@
tracker_xesam_live_search_emit_hits_removed (TrackerXesamLiveSearch *self,
GArray *hit_ids)
{
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ GObject *xesam;
+
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (hit_ids != NULL);
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
- g_signal_emit_by_name (proxy, "hits-removed", tracker_xesam_live_search_get_id (self), hit_ids);
+ g_signal_emit_by_name (xesam, "hits-removed",
+ tracker_xesam_live_search_get_id (self),
+ hit_ids);
}
/**
@@ -193,9 +228,16 @@
tracker_xesam_live_search_emit_hits_modified (TrackerXesamLiveSearch *self,
GArray *hit_ids)
{
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ GObject *xesam;
+
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (hit_ids != NULL);
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
- g_signal_emit_by_name (proxy, "hits-modified", tracker_xesam_live_search_get_id (self), hit_ids);
+ g_signal_emit_by_name (xesam, "hits-modified",
+ tracker_xesam_live_search_get_id (self),
+ hit_ids);
}
/**
@@ -212,17 +254,25 @@
void
tracker_xesam_live_search_emit_done (TrackerXesamLiveSearch *self)
{
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ GObject *xesam;
- g_signal_emit_by_name (proxy, "search-done", tracker_xesam_live_search_get_id (self));
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+
+ g_signal_emit_by_name (xesam, "search-done",
+ tracker_xesam_live_search_get_id (self));
}
+
+
/* Created and Modified items */
static void
get_hits_added_modified (TrackerXesamLiveSearch *self, DBConnection *db_con, GArray **added, GArray **modified)
{
- GArray *m_added = NULL, *m_modified = NULL;
- gboolean ls_valid = TRUE;
+ gboolean ls_valid = TRUE;
+ GArray *m_added = NULL;
+ GArray *m_modified = NULL;
TrackerDBResultSet *result_set;
result_set = tracker_db_get_live_search_new_ids (db_con,
@@ -286,8 +336,8 @@
static void
get_all_hits (TrackerXesamLiveSearch *self, DBConnection *db_con, GArray **hits)
{
- GArray *m_hits = NULL;
- gboolean ls_valid = TRUE;
+ gboolean ls_valid = TRUE;
+ GArray *m_hits = NULL;
TrackerDBResultSet *result_set;
result_set = tracker_db_get_live_search_all_ids (db_con,
@@ -318,6 +368,7 @@
*hits = m_hits;
}
+
/**
* tracker_xesam_live_search_match_with_events:
* @self: A #TrackerXesamLiveSearch
@@ -330,13 +381,14 @@
void
tracker_xesam_live_search_match_with_events (TrackerXesamLiveSearch *self, GArray **added, GArray **removed, GArray **modified)
{
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
DBConnection *db_con = NULL;
TrackerDBResultSet *result_set;
gboolean ls_valid = TRUE;
GArray *m_added = NULL, *m_removed = NULL, *m_modified = NULL;
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ GObject *xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+
+ g_object_get (xesam, "db-connection", &db_con, NULL);
/* Deleted items */
@@ -386,19 +438,26 @@
tracker_xesam_live_search_close (TrackerXesamLiveSearch *self,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (priv->closed)
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
- TRACKER_XESAM_ERROR_SEARCH_CLOSED,
- "Search was already closed");
- else {
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+
+ priv = self->priv;
+
+ if (priv->closed) {
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
+ TRACKER_XESAM_ERROR_SEARCH_CLOSED,
+ "Search was already closed");
+ } else {
DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ GObject *xesam;
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
tracker_db_stop_live_search (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
}
priv->closed = TRUE;
@@ -421,31 +480,36 @@
guint *count,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (!priv->active)
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
- TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
- "Search is not active");
- else {
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (count != NULL);
+
+ priv = self->priv;
+
+ if (!priv->active) {
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active");
+ } else {
TrackerDBResultSet *result_set;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
- GValue value = {0, };
- DBConnection *db_con = NULL;
+ GValue value = {0, };
+ DBConnection *db_con = NULL;
+ GObject *xesam;
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
result_set = tracker_db_get_live_search_hit_count (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
_tracker_db_result_set_get_value (result_set, 0, &value);
*count = g_value_get_int (&value);
g_value_unset (&value);
g_object_unref (result_set);
}
-
}
-
/**
* Retrieving Hits
* The return value of GetHits and GetHitData is a sorted array of hits. A hit
@@ -470,25 +534,32 @@
**/
static void
get_hit_data (TrackerXesamLiveSearch *self,
- TrackerDBResultSet *result_set,
- GPtrArray **hit_data)
+ TrackerDBResultSet *result_set,
+ GPtrArray **hit_data)
{
- gboolean valid = TRUE;
- gint hitfields_columns = 0, column;
- GPtrArray *result = g_ptr_array_new ();
+ GPtrArray *result;
+ gboolean valid = TRUE;
+ gint hitfields_columns = 0;
+ gint column;
+ result = g_ptr_array_new ();
while (valid) {
- GPtrArray *row = g_ptr_array_new ();
+ GPtrArray *row;
+
+ row = g_ptr_array_new ();
for (column = 0; column < hitfields_columns; column++) {
- GValue *value = g_new0 (GValue, 1);
- GValue value_in = {0, };
+ GValue *value;
+ GValue value_in = {0, };
- // Question for ottela: how will we do list-values like
- // xesam:userKeywords? That's a column with comma's? or
- // how is this done? An extra result_set to loop? An
- // extra query? A union?
+ value = g_new0 (GValue, 1);
+
+ /* Question for ottela: how will we do list-values like
+ * xesam:userKeywords? That's a column with comma's? or
+ * how is this done? An extra result_set to loop? An
+ * extra query? A union?
+ */
_tracker_db_result_set_get_value (result_set, column, &value_in);
@@ -528,7 +599,12 @@
GPtrArray **hits,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (hits != NULL);
+
+ priv = self->priv;
if (!priv->active)
g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
@@ -536,17 +612,18 @@
"Search is not active");
else {
TrackerDBResultSet *result_set = NULL;
- DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
-
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ DBConnection *db_con = NULL;
+ GObject *xesam;
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
g_debug ("live_search_get_hits");
- // For ottela: fetch results for get_hits
+ /* For ottela: fetch results for get_hits */
result_set = tracker_db_get_live_search_get_hit_data (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
if (result_set) {
get_hit_data (self, result_set, hits);
@@ -555,29 +632,37 @@
}
}
-void tracker_xesam_live_search_get_range_hits (TrackerXesamLiveSearch *self,
- guint a,
- guint b,
- GPtrArray **hits,
- GError **error)
+void
+tracker_xesam_live_search_get_range_hits (TrackerXesamLiveSearch *self,
+ guint a,
+ guint b,
+ GPtrArray **hits,
+ GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (!priv->active)
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
- TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
- "Search is not active");
- else {
- TrackerDBResultSet *result_set = NULL;
- DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (hits != NULL);
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ priv = self->priv;
+
+ if (!priv->active) {
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active");
+ } else {
+ TrackerDBResultSet *result_set = NULL;
+ DBConnection *db_con = NULL;
+ GObject *xesam;
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
- // For ottela: fetch results for get_hits
+ /* For ottela: fetch results for get_hits */
result_set = tracker_db_get_live_search_get_hit_data (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
if (result_set) {
get_hit_data (self, result_set, hits);
@@ -586,7 +671,6 @@
}
}
-
/**
* tracker_xesam_live_search_get_hit_data:
* @self: a #TrackerXesamLiveSearch
@@ -621,23 +705,31 @@
GPtrArray **hit_data,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (!priv->active)
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
- TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
- "Search is not active yet");
- else {
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (hit_ids != NULL);
+ g_return_if_fail (hit_data != NULL);
+
+ priv = self->priv;
+
+ if (!priv->active) {
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active yet");
+ } else {
TrackerDBResultSet *result_set = NULL;
- DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
-
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ DBConnection *db_con = NULL;
+ GObject *xesam;
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
- // For ottela: fetch results for get_hits
+ /* For ottela: fetch results for get_hits */
result_set = tracker_db_get_live_search_get_hit_data (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
if (result_set) {
get_hit_data (self, result_set, hit_data);
@@ -646,7 +738,6 @@
}
}
-
void
tracker_xesam_live_search_get_range_hit_data (TrackerXesamLiveSearch *self,
guint a,
@@ -655,23 +746,31 @@
GPtrArray **hit_data,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (!priv->active)
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
- TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
- "Search is not active yet");
- else {
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+ g_return_if_fail (fields != NULL);
+ g_return_if_fail (hit_data != NULL);
+
+ priv = self->priv;
+
+ if (!priv->active) {
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
+ TRACKER_XESAM_ERROR_SEARCH_NOT_ACTIVE,
+ "Search is not active yet");
+ } else {
TrackerDBResultSet *result_set = NULL;
- DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ DBConnection *db_con = NULL;
+ GObject *xesam;
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
- // For ottela: fetch results for get_hits
+ /* For ottela: fetch results for get_hits */
result_set = tracker_db_get_live_search_get_hit_data (db_con,
- tracker_xesam_live_search_get_id (self));
+ tracker_xesam_live_search_get_id (self));
if (result_set) {
get_hit_data (self, result_set, hit_data);
@@ -691,7 +790,11 @@
gboolean
tracker_xesam_live_search_is_active (TrackerXesamLiveSearch *self)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), FALSE);
+
+ priv = self->priv;
return priv->active;
}
@@ -716,10 +819,10 @@
"Search is closed");
else {
DBConnection *db_con = NULL;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
- GArray *hits = NULL;
+ GObject *xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ GArray *hits = NULL;
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
tracker_db_start_live_search (db_con,
tracker_xesam_live_search_get_from_query (self),
@@ -752,11 +855,16 @@
*
* @returns: a read-only string with the query
**/
-const gchar*
+const gchar *
tracker_xesam_live_search_get_xml_query (TrackerXesamLiveSearch *self)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
- return (const gchar *) priv->query;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), NULL);
+
+ priv = self->priv;
+
+ return priv->query;
}
/**
@@ -770,11 +878,19 @@
tracker_xesam_live_search_set_id (TrackerXesamLiveSearch *self,
const gchar *search_id)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
- if (priv->search_id)
- g_free (priv->search_id);
- priv->search_id = g_strdup (search_id);
+ g_return_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self));
+
+ priv = self->priv;
+
+ g_free (priv->search_id);
+
+ if (search_id) {
+ priv->search_id = g_strdup (search_id);
+ } else {
+ priv->search_id = NULL;
+ }
}
/**
@@ -788,9 +904,13 @@
const gchar*
tracker_xesam_live_search_get_id (TrackerXesamLiveSearch *self)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), NULL);
- return (const gchar*) priv->search_id;
+ priv = self->priv;
+
+ return priv->search_id;
}
@@ -806,13 +926,18 @@
tracker_xesam_live_search_parse_query (TrackerXesamLiveSearch *self,
GError **error)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
- TrackerDBusXesam *proxy = TRACKER_DBUS_XESAM (tracker_dbus_get_object (TRACKER_TYPE_DBUS_XESAM));
+ TrackerXesamLiveSearchPriv *priv;
+ GObject *xesam;
DBConnection *db_con = NULL;
GError *parse_error = NULL;
gchar *orig_from, *orig_join, *orig_where;
- g_object_get (proxy, "db-connection", &db_con, NULL);
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), FALSE);
+
+ priv = self->priv;
+
+ xesam = tracker_dbus_get_object (TRACKER_TYPE_XESAM);
+ g_object_get (xesam, "db-connection", &db_con, NULL);
orig_from = priv->from_sql;
orig_join = priv->join_sql;
@@ -831,7 +956,8 @@
if (parse_error) {
gchar *str = g_strdup_printf ("Parse error: %s",
parse_error->message);
- g_set_error (error, TRACKER_XESAM_ERROR_DOMAIN,
+ g_set_error (error,
+ TRACKER_XESAM_ERROR_DOMAIN,
TRACKER_XESAM_ERROR_PARSING_FAILED,
str);
g_free (str);
@@ -852,6 +978,9 @@
g_free (orig_where);
}
+ g_message ("Parsed to '%s' and '%s'",
+ priv->from_sql, priv->where_sql);
+
return TRUE;
}
@@ -866,8 +995,13 @@
const gchar*
tracker_xesam_live_search_get_from_query (TrackerXesamLiveSearch *self)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
- return (const gchar *) priv->from_sql;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), NULL);
+
+ priv = self->priv;
+
+ return priv->from_sql;
}
/**
@@ -896,8 +1030,13 @@
const gchar*
tracker_xesam_live_search_get_where_query (TrackerXesamLiveSearch *self)
{
- TrackerXesamLiveSearchPriv *priv = self->priv;
- return (const gchar *) priv->where_sql;
+ TrackerXesamLiveSearchPriv *priv;
+
+ g_return_val_if_fail (TRACKER_IS_XESAM_LIVE_SEARCH (self), NULL);
+
+ priv = self->priv;
+
+ return priv->where_sql;
}
/**
@@ -911,7 +1050,8 @@
tracker_xesam_live_search_new (const gchar *query_xml)
{
return g_object_new (TRACKER_TYPE_XESAM_LIVE_SEARCH,
- "xml-query", query_xml, NULL);
+ "xml-query", query_xml,
+ NULL);
}
Modified: branches/xesam-support/src/trackerd/tracker-xesam-session.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-xesam-session.c (original)
+++ branches/xesam-support/src/trackerd/tracker-xesam-session.c Fri May 30 09:25:54 2008
@@ -21,19 +21,18 @@
#include <string.h>
-#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
+
+#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_XESAM_SESSION, struct _TrackerXesamSessionPriv))
struct _TrackerXesamSessionPriv {
GHashTable *searches;
- gchar *session_id;
GHashTable *props;
+ gchar *session_id;
};
G_DEFINE_TYPE (TrackerXesamSession, tracker_xesam_session, G_TYPE_OBJECT)
-#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TRACKER_TYPE_XESAM_SESSION, struct _TrackerXesamSessionPriv))
-
-
static void
tracker_xesam_session_g_value_free (GValue *value)
{
@@ -386,7 +385,8 @@
search = tracker_xesam_live_search_new (query_xml);
tracker_xesam_live_search_set_session (search, self);
- tracker_xesam_live_search_set_id (search, tracker_xesam_generate_unique_key ());
+ tracker_xesam_live_search_set_id (search,
+ tracker_xesam_manager_generate_unique_key ());
if (tracker_xesam_live_search_parse_query (search, error)) {
Modified: branches/xesam-support/src/trackerd/tracker-xesam-session.h
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-xesam-session.h (original)
+++ branches/xesam-support/src/trackerd/tracker-xesam-session.h Fri May 30 09:25:54 2008
@@ -22,12 +22,11 @@
#ifndef __TRACKERD_XESAM_SESSION_H__
#define __TRACKERD_XESAM_SESSION_H__
-#include <glib.h>
#include <glib-object.h>
-#include "tracker-xesam.h"
+#include "tracker-xesam-manager.h"
#include "tracker-xesam-live-search.h"
-#include "tracker-dbus-xesam.h"
+#include "tracker-xesam.h"
G_BEGIN_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]