tracker r1585 - in branches/indexer-split: . src/trackerd
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1585 - in branches/indexer-split: . src/trackerd
- Date: Thu, 5 Jun 2008 09:36:36 +0000 (UTC)
Author: ifrade
Date: Thu Jun 5 09:36:35 2008
New Revision: 1585
URL: http://svn.gnome.org/viewvc/tracker?rev=1585&view=rev
Log:
Email plugins with a common interface
Added:
branches/indexer-split/src/trackerd/tracker-email-plugin.h
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/trackerd/tracker-email-evolution.c
branches/indexer-split/src/trackerd/tracker-email-kmail.c
branches/indexer-split/src/trackerd/tracker-email-modest.c
branches/indexer-split/src/trackerd/tracker-email-thunderbird.c
branches/indexer-split/src/trackerd/tracker-email-utils.c
branches/indexer-split/src/trackerd/tracker-email-utils.h
branches/indexer-split/src/trackerd/tracker-email.c
branches/indexer-split/src/trackerd/tracker-email.h
branches/indexer-split/src/trackerd/tracker-main.c
Modified: branches/indexer-split/src/trackerd/tracker-email-evolution.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-evolution.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email-evolution.c Thu Jun 5 09:36:35 2008
@@ -31,8 +31,7 @@
#include <glib/gstdio.h>
-#include <libtracker-common/tracker-log.h>
-#include <libtracker-common/tracker-config.h>
+
#include <libtracker-common/tracker-file-utils.h>
#include <libtracker-common/tracker-type-utils.h>
#include <libtracker-common/tracker-utils.h>
@@ -41,6 +40,7 @@
#include "tracker-email-utils.h"
#include "tracker-db-email.h"
+#include "tracker-email-plugin.h"
#include "tracker-dbus.h"
#include "tracker-daemon.h"
#include "tracker-watcher.h"
@@ -236,12 +236,10 @@
*********************************************************************************************/
gboolean
-tracker_email_init (TrackerConfig *config)
+tracker_email_plugin_init (void)
{
EvolutionConfig *conf;
- g_return_val_if_fail (TRACKER_IS_CONFIG (config), FALSE);
-
if (evolution_config) {
return TRUE;
}
@@ -257,7 +255,7 @@
gboolean
-tracker_email_finalize (void)
+tracker_email_plugin_finalize (void)
{
if (!evolution_config) {
return TRUE;
@@ -271,7 +269,7 @@
void
-tracker_email_watch_emails (DBConnection *db_con)
+tracker_email_plugin_watch_emails (DBConnection *db_con)
{
TrackerDBResultSet *result_set;
@@ -318,8 +316,8 @@
}
-static gboolean
-evolution_file_is_interesting (TrackerDBFileInfo *info)
+gboolean
+tracker_email_plugin_file_is_interesting (TrackerDBFileInfo *info)
{
GSList *dir;
@@ -375,14 +373,14 @@
gboolean
-tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
+tracker_email_plugin_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
{
gchar *file_name;
g_return_val_if_fail (db_con, FALSE);
g_return_val_if_fail (info, FALSE);
- if (!evolution_file_is_interesting (info))
+ if (!tracker_email_plugin_file_is_interesting (info))
return FALSE;
file_name = g_path_get_basename (info->uri);
@@ -543,7 +541,7 @@
}
const gchar *
-tracker_email_get_name (void)
+tracker_email_plugin_get_name (void)
{
return "EvolutionEmails";
}
Modified: branches/indexer-split/src/trackerd/tracker-email-kmail.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-kmail.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email-kmail.c Thu Jun 5 09:36:35 2008
@@ -25,11 +25,11 @@
#include <glib/gstdio.h>
-#include <libtracker-common/tracker-log.h>
#include <libtracker-common/tracker-utils.h>
#include <libtracker-common/tracker-file-utils.h>
#include <libtracker-common/tracker-type-utils.h>
-#include <libtracker-common/tracker-utils.h>
+
+#include "tracker-email-plugin.h"
#include "tracker-email-utils.h"
#include "tracker-db-email.h"
@@ -106,7 +106,7 @@
*********************************************************************************************/
gboolean
-kmail_init_module (void)
+tracker_email_plugin_init (void)
{
KMailConfig *conf;
@@ -125,7 +125,7 @@
gboolean
-tracker_email_finalize (void)
+tracker_email_plugin_finalize (void)
{
if (!kmail_config) {
return TRUE;
@@ -139,7 +139,7 @@
void
-tracker_email_watch_emails (DBConnection *db_con)
+tracker_email_plugin_watch_emails (DBConnection *db_con)
{
g_return_if_fail (kmail_config);
@@ -159,8 +159,8 @@
}
-static gboolean
-kmail_file_is_interesting (TrackerDBFileInfo *info)
+gboolean
+tracker_email_plugin_file_is_interesting (TrackerDBFileInfo *info)
{
const GSList *account;
@@ -186,14 +186,14 @@
gboolean
-tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
+tracker_email_plugin_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
{
KMailMailProtocol mail_protocol;
g_return_val_if_fail (db_con, FALSE);
g_return_val_if_fail (info, FALSE);
- if (!kmail_file_is_interesting (info))
+ if (!tracker_email_plugin_file_is_interesting (info))
return FALSE;
mail_protocol = find_mail_protocol (info->uri);
@@ -270,7 +270,7 @@
}
const gchar *
-tracker_email_get_name (void)
+tracker_email_plugin_get_name (void)
{
return "KMailEmails";
}
Modified: branches/indexer-split/src/trackerd/tracker-email-modest.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-modest.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email-modest.c Thu Jun 5 09:36:35 2008
@@ -31,8 +31,6 @@
#include <glib/gstdio.h>
#include <dirent.h>
-#include <libtracker-common/tracker-log.h>
-#include <libtracker-common/tracker-config.h>
#include <libtracker-common/tracker-file-utils.h>
#include <libtracker-common/tracker-utils.h>
@@ -219,12 +217,10 @@
*********************************************************************************************/
gboolean
-tracker_email_init (TrackerConfig *config)
+tracker_email_plugin_init (void)
{
ModestConfig *conf;
- g_return_val_if_fail (TRACKER_IS_CONFIG (config), FALSE);
-
if (modest_config) {
return TRUE;
}
@@ -241,7 +237,7 @@
gboolean
-tracker_email_finalize (void)
+tracker_email_plugin_finalize (void)
{
if (!modest_config) {
return TRUE;
@@ -276,7 +272,7 @@
}
void
-tracker_email_watch_emails (DBConnection *db_con)
+tracker_email_plugin_watch_emails (DBConnection *db_con)
{
TrackerDBResultSet *result_set;
@@ -319,8 +315,8 @@
load_current_dynamic_folders (modest_config);
}
-static gboolean
-modest_file_is_interesting (TrackerDBFileInfo *info)
+gboolean
+tracker_email_plugin_file_is_interesting (TrackerDBFileInfo *info)
{
g_return_val_if_fail (info, FALSE);
g_return_val_if_fail (info->uri, FALSE);
@@ -339,14 +335,14 @@
gboolean
-tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
+tracker_email_plugin_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
{
gchar *file_name;
g_return_val_if_fail (db_con, FALSE);
g_return_val_if_fail (info, FALSE);
- if (!modest_file_is_interesting (info))
+ if (!tracker_email_plugin_file_is_interesting (info))
return FALSE;
file_name = g_path_get_basename (info->uri);
@@ -389,7 +385,7 @@
}
const gchar *
-tracker_email_get_name (void)
+tracker_email_plugin_get_name (void)
{
return "ModestEmails";
}
Added: branches/indexer-split/src/trackerd/tracker-email-plugin.h
==============================================================================
--- (empty file)
+++ branches/indexer-split/src/trackerd/tracker-email-plugin.h Thu Jun 5 09:36:35 2008
@@ -0,0 +1,18 @@
+#ifndef __TRACKER_EMAIL_PLUGIN_H__
+#define __TRACKER_EMAIL_PLUGIN_H__
+
+#include "tracker-db-sqlite.h"
+
+G_BEGIN_DECLS
+
+gboolean tracker_email_plugin_init (void);
+gboolean tracker_email_plugin_finalize (void);
+const gchar *tracker_email_plugin_get_name (void);
+void tracker_email_plugin_watch_emails (DBConnection *db_con);
+gboolean tracker_email_plugin_index_file (DBConnection *db_con,
+ TrackerDBFileInfo *info);
+gboolean tracker_email_plugin_file_is_interesting (TrackerDBFileInfo *info);
+
+G_END_DECLS
+
+#endif
Modified: branches/indexer-split/src/trackerd/tracker-email-thunderbird.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-thunderbird.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email-thunderbird.c Thu Jun 5 09:36:35 2008
@@ -24,8 +24,7 @@
#include <glib/gstdio.h>
-#include <libtracker-common/tracker-log.h>
-#include <libtracker-common/tracker-config.h>
+#include "tracker-email-plugin.h"
#include "tracker-db-email.h"
#include "tracker-watcher.h"
@@ -91,8 +90,8 @@
return thunderbird_mail_dir != NULL;
}
-static gboolean
-thunderbird_file_is_interesting (TrackerDBFileInfo *info)
+gboolean
+tracker_email_plugin_file_is_interesting (TrackerDBFileInfo *info)
{
//Filename should be objectX.tms (Thunderbird Message Summary)
return g_str_has_suffix (info->uri, ".tms") ;
@@ -103,10 +102,8 @@
*********************************************************************************************/
gboolean
-tracker_email_init (TrackerConfig *config)
+tracker_email_plugin_init (void)
{
- g_return_val_if_fail (TRACKER_IS_CONFIG (config), FALSE);
-
if (!thunderbird_mail_dir) {
thunderbird_mail_dir = g_build_filename (g_get_home_dir (), THUNDERBIRD_MAIL_DIR_S, NULL);
}
@@ -116,7 +113,7 @@
gboolean
-tracker_email_finalize (void)
+tracker_email_plugin_finalize (void)
{
if (thunderbird_mail_dir) {
g_free (thunderbird_mail_dir);
@@ -128,7 +125,7 @@
void
-tracker_email_watch_emails (DBConnection *db_con)
+tracker_email_plugin_watch_emails (DBConnection *db_con)
{
if( thunderbird_mail_dir != NULL ) {
g_message ("Thunderbird directory lookup: \"%s\"", thunderbird_mail_dir);
@@ -138,12 +135,12 @@
gboolean
-tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
+tracker_email_plugin_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
{
g_return_val_if_fail (db_con, FALSE);
g_return_val_if_fail (info, FALSE);
- if (!thunderbird_file_is_interesting (info))
+ if (!tracker_email_plugin_file_is_interesting (info))
return FALSE;
g_message ("Thunderbird file being index:'%s'",info->uri);
@@ -155,7 +152,7 @@
}
const gchar *
-tracker_email_get_name (void)
+tracker_email_plugin_get_name (void)
{
return "ThunderbirdEmails";
}
Modified: branches/indexer-split/src/trackerd/tracker-email-utils.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-utils.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email-utils.c Thu Jun 5 09:36:35 2008
@@ -30,8 +30,6 @@
#include <glib/gstdio.h>
-#include <libtracker-common/tracker-log.h>
-#include <libtracker-common/tracker-config.h>
#include <libtracker-common/tracker-type-utils.h>
#include <libtracker-common/tracker-utils.h>
@@ -39,7 +37,6 @@
#include "tracker-dbus.h"
#include "tracker-daemon.h"
#include "tracker-email-utils.h"
-#include "tracker-watcher.h"
extern Tracker *tracker;
Modified: branches/indexer-split/src/trackerd/tracker-email-utils.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email-utils.h (original)
+++ branches/indexer-split/src/trackerd/tracker-email-utils.h Thu Jun 5 09:36:35 2008
@@ -23,7 +23,7 @@
#include <gmime/gmime.h>
-#include "tracker-email.h"
+#include "tracker-db-sqlite.h"
G_BEGIN_DECLS
Modified: branches/indexer-split/src/trackerd/tracker-email.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email.c (original)
+++ branches/indexer-split/src/trackerd/tracker-email.c Thu Jun 5 09:36:35 2008
@@ -19,79 +19,33 @@
*/
#include <glib.h>
-#include <glib/gstdio.h>
#include <gmodule.h>
-#include <libtracker-common/tracker-config.h>
+#include <gmime/gmime.h>
#include "tracker-email.h"
-#include "tracker-email-utils.h"
-#include "tracker-main.h"
-static GModule *module = NULL;
-
-/* Must be called before any work on files containing mails */
-void
-tracker_email_add_service_directories (DBConnection *db_con)
-{
- TrackerMailWatchEmails func;
-
- if (!module)
- return;
-
- if (g_module_symbol (module, "tracker_email_watch_emails", (gpointer *) &func)) {
- (func) (db_con);
- }
-}
-
-void
-tracker_email_end_email_watching (void)
-{
- TrackerMailFinalize func;
-
- if (!module)
- return;
-
- if (g_module_symbol (module, "tracker_email_finalize", (gpointer *) &func)) {
- (func) ();
- }
+typedef gboolean (* TrackerMailInit) (void);
+typedef void (* TrackerMailFinalize) (void);
+typedef void (* TrackerMailWatchEmails) (DBConnection *db_con);
+typedef gboolean (* TrackerMailIndexFile) (DBConnection *db_con,
+ TrackerDBFileInfo *info);
+typedef gboolean (* TrackerMailFileIsInteresting) (TrackerDBFileInfo *info);
+typedef const gchar * (* TrackerMailGetName) (void);
- g_mime_shutdown ();
-}
-
-
-gboolean
-tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
-{
- TrackerMailIndexFile func;
-
- g_return_val_if_fail (db_con, FALSE);
- g_return_val_if_fail (info, FALSE);
-
- if (!module)
- return FALSE;
-
- if (!g_module_symbol (module, "tracker_email_index_file", (gpointer *) &func))
- return FALSE;
+static GModule *module = NULL;
- return (func) (db_con, info);
-}
gboolean
-tracker_email_init (TrackerConfig *config)
+tracker_email_start_email_watching (const gchar *email_client)
{
TrackerMailInit func;
- const gchar *email_client;
gchar *module_name, *module_path;
gboolean result = FALSE;
- g_return_val_if_fail (TRACKER_IS_CONFIG (config), FALSE);
-
if (module)
return result;
- email_client = tracker_config_get_email_client (config);
-
if (!email_client)
return result;
@@ -114,10 +68,10 @@
g_module_make_resident (module);
- if (g_module_symbol (module, "tracker_email_init", (gpointer *) &func)) {
+ if (g_module_symbol (module, "tracker_email_plugin_init", (gpointer *) &func)) {
g_mime_init (0);
- result = (func) (config);
+ result = (func) ();
}
g_free (module_name);
@@ -127,13 +81,72 @@
}
void
-tracker_email_shutdown (void)
+tracker_email_end_email_watching (void)
{
- /* Nothing to do here it seems, this function is here for
- * completeness.
- */
+ TrackerMailFinalize func;
+
+ if (!module)
+ return;
+
+ if (g_module_symbol (module, "tracker_email_plugin_finalize", (gpointer *) &func)) {
+ (func) ();
+ }
+
+ g_mime_shutdown ();
+}
+
+
+/* Must be called before any work on files containing mails */
+void
+tracker_email_add_service_directories (DBConnection *db_con)
+{
+ TrackerMailWatchEmails func;
+
+ if (!module)
+ return;
+
+ if (g_module_symbol (module, "tracker_email_plugin_watch_emails", (gpointer *) &func)) {
+ (func) (db_con);
+ }
+}
+
+gboolean
+tracker_email_file_is_interesting (TrackerDBFileInfo *info)
+{
+ TrackerMailFileIsInteresting func;
+
+ if (!module)
+ return FALSE;
+
+
+ if (g_module_symbol (module, "tracker_email_plugin_file_is_interesting", (gpointer *) &func)) {
+ (func) (info);
+ } else {
+ g_warning ("%s module doesnt implement _file_is_interesting function",
+ tracker_email_get_name ());
+ }
+
+ return TRUE;
+}
+
+gboolean
+tracker_email_index_file (DBConnection *db_con, TrackerDBFileInfo *info)
+{
+ TrackerMailIndexFile func;
+
+ g_return_val_if_fail (db_con, FALSE);
+ g_return_val_if_fail (info, FALSE);
+
+ if (!module)
+ return FALSE;
+
+ if (!g_module_symbol (module, "tracker_email_plugin_index_file", (gpointer *) &func))
+ return FALSE;
+
+ return (func) (db_con, info);
}
+
const gchar *
tracker_email_get_name (void)
{
@@ -142,7 +155,7 @@
if (!module)
return NULL;
- if (!g_module_symbol (module, "tracker_email_get_name", (gpointer *) &func))
+ if (!g_module_symbol (module, "tracker_email_plugin_get_name", (gpointer *) &func))
return NULL;
return (func) ();
Modified: branches/indexer-split/src/trackerd/tracker-email.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-email.h (original)
+++ branches/indexer-split/src/trackerd/tracker-email.h Thu Jun 5 09:36:35 2008
@@ -23,25 +23,16 @@
#include "config.h"
-#include <libtracker-common/tracker-config.h>
#include <libtracker-db/tracker-db-file-info.h>
-#include "tracker-utils.h"
#include "tracker-db-sqlite.h"
G_BEGIN_DECLS
-typedef gboolean (* TrackerMailInit) (TrackerConfig *config);
-typedef void (* TrackerMailFinalize) (void);
-typedef void (* TrackerMailWatchEmails) (DBConnection *db_con);
-typedef gboolean (* TrackerMailIndexFile) (DBConnection *db_con,
- TrackerDBFileInfo *info);
-typedef const gchar * (* TrackerMailGetName) (void);
+gboolean tracker_email_start_email_watching (const gchar *email_client);
+void tracker_email_end_email_watching (void);
-gboolean tracker_email_init (TrackerConfig *config);
-void tracker_email_shutdown (void);
void tracker_email_add_service_directories (DBConnection *db_con);
-void tracker_email_end_email_watching (void);
gboolean tracker_email_file_is_interesting (TrackerDBFileInfo *info);
gboolean tracker_email_index_file (DBConnection *db_con,
TrackerDBFileInfo *info);
Modified: branches/indexer-split/src/trackerd/tracker-main.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-main.c (original)
+++ branches/indexer-split/src/trackerd/tracker-main.c Thu Jun 5 09:36:35 2008
@@ -941,7 +941,7 @@
tracker_db_manager_init (data_dir, user_data_dir, sys_tmp_dir);
tracker_xesam_manager_init ();
tracker_ontology_init ();
- tracker_email_init (tracker->config);
+ tracker_email_start_email_watching (tracker_config_get_email_client (tracker->config));
#ifdef HAVE_HAL
tracker->hal = tracker_hal_new ();
@@ -1041,7 +1041,7 @@
/* Shutdown major subsystems */
tracker_process_files_shutdown ();
- tracker_email_shutdown ();
+ tracker_email_end_email_watching ();
tracker_dbus_shutdown ();
tracker_ontology_shutdown ();
tracker_xesam_manager_shutdown ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]