[evolution-mapi] Adapt evolution-mapi to support backend-per-process
- From: Fabiano Fidêncio <ffidencio src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-mapi] Adapt evolution-mapi to support backend-per-process
- Date: Fri, 11 Jul 2014 07:34:57 +0000 (UTC)
commit 28d18ab58efb2fc67493883543fe9ac415e34572
Author: Fabiano Fidêncio <fidencio redhat com>
Date: Thu Jul 10 01:17:23 2014 +0200
Adapt evolution-mapi to support backend-per-process
https://bugzilla.gnome.org/show_bug.cgi?id=732948
src/addressbook/e-book-backend-mapi-factory.c | 17 +++++++++++++++++
src/calendar/e-cal-backend-mapi-factory.c | 23 +++++++++++++++++++++++
2 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/src/addressbook/e-book-backend-mapi-factory.c b/src/addressbook/e-book-backend-mapi-factory.c
index 46a701f..ce03145 100644
--- a/src/addressbook/e-book-backend-mapi-factory.c
+++ b/src/addressbook/e-book-backend-mapi-factory.c
@@ -39,6 +39,8 @@ typedef EBookBackendFactoryClass EBookBackendMapiContactsFactoryClass;
typedef EBookBackendFactory EBookBackendMapiGalFactory;
typedef EBookBackendFactoryClass EBookBackendMapiGalFactoryClass;
+static EModule *e_module;
+
/* Module Entry Points */
void e_module_load (GTypeModule *type_module);
void e_module_unload (GTypeModule *type_module);
@@ -60,6 +62,12 @@ G_DEFINE_DYNAMIC_TYPE (
static void
e_book_backend_mapi_contacts_factory_class_init (EBookBackendFactoryClass *class)
{
+ EBackendFactoryClass *backend_factory_class;
+
+ backend_factory_class = E_BACKEND_FACTORY_CLASS (class);
+ backend_factory_class->e_module = e_module;
+ backend_factory_class->share_subprocess = TRUE;
+
class->factory_name = "mapi";
class->backend_type = E_TYPE_BOOK_BACKEND_MAPI_CONTACTS;
}
@@ -77,6 +85,12 @@ e_book_backend_mapi_contacts_factory_init (EBookBackendFactory *factory)
static void
e_book_backend_mapi_gal_factory_class_init (EBookBackendFactoryClass *class)
{
+ EBackendFactoryClass *backend_factory_class;
+
+ backend_factory_class = E_BACKEND_FACTORY_CLASS (class);
+ backend_factory_class->e_module = e_module;
+ backend_factory_class->share_subprocess = TRUE;
+
class->factory_name = "mapigal";
class->backend_type = E_TYPE_BOOK_BACKEND_MAPI_GAL;
}
@@ -97,6 +111,8 @@ e_module_load (GTypeModule *type_module)
bindtextdomain (GETTEXT_PACKAGE, EXCHANGE_MAPI_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ e_module = E_MODULE (type_module);
+
e_source_mapi_folder_type_register (type_module);
e_book_backend_mapi_contacts_factory_register_type (type_module);
@@ -106,5 +122,6 @@ e_module_load (GTypeModule *type_module)
G_MODULE_EXPORT void
e_module_unload (GTypeModule *type_module)
{
+ e_module = NULL;
}
diff --git a/src/calendar/e-cal-backend-mapi-factory.c b/src/calendar/e-cal-backend-mapi-factory.c
index c44a55a..1f13d34 100644
--- a/src/calendar/e-cal-backend-mapi-factory.c
+++ b/src/calendar/e-cal-backend-mapi-factory.c
@@ -43,6 +43,8 @@ typedef ECalBackendFactoryClass ECalBackendMapiJournalFactoryClass;
typedef ECalBackendFactory ECalBackendMapiTodosFactory;
typedef ECalBackendFactoryClass ECalBackendMapiTodosFactoryClass;
+static EModule *e_module;
+
/* Module Entry Points */
void e_module_load (GTypeModule *type_module);
void e_module_unload (GTypeModule *type_module);
@@ -70,6 +72,12 @@ G_DEFINE_DYNAMIC_TYPE (
static void
e_cal_backend_mapi_events_factory_class_init (ECalBackendFactoryClass *class)
{
+ EBackendFactoryClass *backend_factory_class;
+
+ backend_factory_class = E_BACKEND_FACTORY_CLASS (class);
+ backend_factory_class->e_module = e_module;
+ backend_factory_class->share_subprocess = TRUE;
+
class->factory_name = FACTORY_NAME;
class->component_kind = ICAL_VEVENT_COMPONENT;
class->backend_type = E_TYPE_CAL_BACKEND_MAPI;
@@ -88,6 +96,12 @@ e_cal_backend_mapi_events_factory_init (ECalBackendFactory *factory)
static void
e_cal_backend_mapi_journal_factory_class_init (ECalBackendFactoryClass *class)
{
+ EBackendFactoryClass *backend_factory_class;
+
+ backend_factory_class = E_BACKEND_FACTORY_CLASS (class);
+ backend_factory_class->e_module = e_module;
+ backend_factory_class->share_subprocess = TRUE;
+
class->factory_name = FACTORY_NAME;
class->component_kind = ICAL_VJOURNAL_COMPONENT;
class->backend_type = E_TYPE_CAL_BACKEND_MAPI;
@@ -106,6 +120,12 @@ e_cal_backend_mapi_journal_factory_init (ECalBackendFactory *factory)
static void
e_cal_backend_mapi_todos_factory_class_init (ECalBackendFactoryClass *class)
{
+ EBackendFactoryClass *backend_factory_class;
+
+ backend_factory_class = E_BACKEND_FACTORY_CLASS (class);
+ backend_factory_class->e_module = e_module;
+ backend_factory_class->share_subprocess = TRUE;
+
class->factory_name = FACTORY_NAME;
class->component_kind = ICAL_VTODO_COMPONENT;
class->backend_type = E_TYPE_CAL_BACKEND_MAPI;
@@ -127,6 +147,8 @@ e_module_load (GTypeModule *type_module)
bindtextdomain (GETTEXT_PACKAGE, EXCHANGE_MAPI_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ e_module = E_MODULE (type_module);
+
e_source_mapi_folder_type_register (type_module);
e_cal_backend_mapi_events_factory_register_type (type_module);
@@ -137,5 +159,6 @@ e_module_load (GTypeModule *type_module)
G_MODULE_EXPORT void
e_module_unload (GTypeModule *type_module)
{
+ e_module = NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]