[evolution-data-server] EDataFactory: Move reload policy to subclasses.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] EDataFactory: Move reload policy to subclasses.
- Date: Mon, 16 Apr 2012 21:50:37 +0000 (UTC)
commit 785ae185f55e812f3d0a7a0b12842e0118af534f
Author: Matthew Barnes <mbarnes redhat com>
Date: Mon Apr 16 17:43:47 2012 -0400
EDataFactory: Move reload policy to subclasses.
The upcoming D-Bus service for data sources will be derived from
EDataFactoryClass, and it *does* support E_DBUS_SERVER_EXIT_RELOAD.
addressbook/libedata-book/e-data-book-factory.c | 17 +++++++++++++++++
calendar/libedata-cal/e-data-cal-factory.c | 17 +++++++++++++++++
libebackend/e-data-factory.c | 20 --------------------
3 files changed, 34 insertions(+), 20 deletions(-)
---
diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c
index 0f6ef70..4a1f082 100644
--- a/addressbook/libedata-book/e-data-book-factory.c
+++ b/addressbook/libedata-book/e-data-book-factory.c
@@ -424,6 +424,22 @@ data_book_factory_bus_name_lost (EDBusServer *server,
bus_name_lost (server, connection);
}
+static void
+data_book_factory_quit_server (EDBusServer *server,
+ EDBusServerExitCode exit_code)
+{
+ /* This factory does not support reloading, so stop the signal
+ * emission and return without chaining up to prevent quitting. */
+ if (exit_code == E_DBUS_SERVER_EXIT_RELOAD) {
+ g_signal_stop_emission_by_name (server, "quit-server");
+ return;
+ }
+
+ /* Chain up to parent's quit_server() method. */
+ E_DBUS_SERVER_CLASS (e_data_book_factory_parent_class)->
+ quit_server (server, exit_code);
+}
+
static gboolean
data_book_factory_initable_init (GInitable *initable,
GCancellable *cancellable,
@@ -452,6 +468,7 @@ e_data_book_factory_class_init (EDataBookFactoryClass *class)
dbus_server_class->module_directory = BACKENDDIR;
dbus_server_class->bus_acquired = data_book_factory_bus_acquired;
dbus_server_class->bus_name_lost = data_book_factory_bus_name_lost;
+ dbus_server_class->quit_server = data_book_factory_quit_server;
data_factory_class = E_DATA_FACTORY_CLASS (class);
data_factory_class->backend_factory_type = E_TYPE_BOOK_BACKEND_FACTORY;
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c
index 9b1970f..d16d7c7 100644
--- a/calendar/libedata-cal/e-data-cal-factory.c
+++ b/calendar/libedata-cal/e-data-cal-factory.c
@@ -404,6 +404,22 @@ data_cal_factory_bus_name_lost (EDBusServer *server,
bus_name_lost (server, connection);
}
+static void
+data_cal_factory_quit_server (EDBusServer *server,
+ EDBusServerExitCode exit_code)
+{
+ /* This factory does not support reloading, so stop the signal
+ * emission and return without chaining up to prevent quitting. */
+ if (exit_code == E_DBUS_SERVER_EXIT_RELOAD) {
+ g_signal_stop_emission_by_name (server, "quit-server");
+ return;
+ }
+
+ /* Chain up to parent's quit_server() method. */
+ E_DBUS_SERVER_CLASS (e_data_cal_factory_parent_class)->
+ quit_server (server, exit_code);
+}
+
static gboolean
data_cal_factory_initable_init (GInitable *initable,
GCancellable *cancellable,
@@ -432,6 +448,7 @@ e_data_cal_factory_class_init (EDataCalFactoryClass *class)
dbus_server_class->module_directory = BACKENDDIR;
dbus_server_class->bus_acquired = data_cal_factory_bus_acquired;
dbus_server_class->bus_name_lost = data_cal_factory_bus_name_lost;
+ dbus_server_class->quit_server = data_cal_factory_quit_server;
data_factory_class = E_DATA_FACTORY_CLASS (class);
data_factory_class->backend_factory_type = E_TYPE_CAL_BACKEND_FACTORY;
diff --git a/libebackend/e-data-factory.c b/libebackend/e-data-factory.c
index 51b0310..3f1426d 100644
--- a/libebackend/e-data-factory.c
+++ b/libebackend/e-data-factory.c
@@ -157,26 +157,9 @@ data_factory_constructed (GObject *object)
}
static void
-data_factory_quit_server (EDBusServer *server,
- EDBusServerExitCode exit_code)
-{
- /* EDataFactory does not support reloading, so stop the signal
- * emission and return without chaining up to prevent quitting. */
- if (exit_code == E_DBUS_SERVER_EXIT_RELOAD) {
- g_signal_stop_emission_by_name (server, "quit-server");
- return;
- }
-
- /* Chain up to parent's quit_server() method. */
- E_DBUS_SERVER_CLASS (e_data_factory_parent_class)->
- quit_server (server, exit_code);
-}
-
-static void
e_data_factory_class_init (EDataFactoryClass *class)
{
GObjectClass *object_class;
- EDBusServerClass *dbus_server_class;
g_type_class_add_private (class, sizeof (EDataFactoryPrivate));
@@ -185,9 +168,6 @@ e_data_factory_class_init (EDataFactoryClass *class)
object_class->finalize = data_factory_finalize;
object_class->constructed = data_factory_constructed;
- dbus_server_class = E_DBUS_SERVER_CLASS (class);
- dbus_server_class->quit_server = data_factory_quit_server;
-
class->backend_factory_type = E_TYPE_BACKEND_FACTORY;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]