diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2003-12-18 19:17:57 +0000 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2003-12-18 19:17:57 +0000 |
commit | 0318e520a9b63286c8723bcdef05890583a6d1ad (patch) | |
tree | 71d1cd57f663403d25065af325151ce36b48a782 | |
parent | ea67f5a08f13a3143ec44eb8de00493422be87f1 (diff) | |
download | evolution-data-server-0318e520a9b63286c8723bcdef05890583a6d1ad.tar.gz |
get the BonoboObject's we create here out of the function. (main):
2003-12-18 Rodrigo Moya <rodrigo@ximian.com>
* src/server.c (setup_logging, setup_interface_check): get the
BonoboObject's we create here out of the function.
(main): re-organize extra interfaces initialization code, and
make sure we unref all objects we have created.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/server.c | 36 |
2 files changed, 29 insertions, 14 deletions
@@ -1,3 +1,10 @@ +2003-12-18 Rodrigo Moya <rodrigo@ximian.com> + + * src/server.c (setup_logging, setup_interface_check): get the + BonoboObject's we create here out of the function. + (main): re-organize extra interfaces initialization code, and + make sure we unref all objects we have created. + 2003-12-17 Hans Petter Jansson <hpj@ximian.com> * libedataserver/e-source.c (build_absolute_uri): Implement based on diff --git a/src/server.c b/src/server.c index d5c005e4c..ba408fee0 100644 --- a/src/server.c +++ b/src/server.c @@ -70,6 +70,11 @@ static EDataCalFactory *e_data_cal_factory; static EDataBookFactory *e_data_book_factory; +/* The other interfaces we implement */ + +static ServerLogging *logging_iface; +static ServerInterfaceCheck *interface_check_iface; + /* Timeout interval in milliseconds for termination */ #define EXIT_TIMEOUT 5000 @@ -197,9 +202,10 @@ setup_cals (void) static gboolean setup_logging (void) { - ServerLogging *logging_iface = server_logging_new (); int result; + logging_iface = server_logging_new (); + server_logging_register_domain (logging_iface, NULL); server_logging_register_domain (logging_iface, "Gdk"); server_logging_register_domain (logging_iface, "Gtk"); @@ -225,9 +231,9 @@ setup_logging (void) static gboolean setup_interface_check (void) { - ServerInterfaceCheck *interface_check_iface = server_interface_check_new (); int result; + interface_check_iface = server_interface_check_new (); result = bonobo_activation_active_server_register (E_DATA_SERVER_INTERFACE_CHECK_OAF_ID, BONOBO_OBJREF (interface_check_iface)); @@ -294,19 +300,15 @@ main (int argc, char **argv) exit (EXIT_FAILURE); } - if (! setup_logging ()) { - g_error (G_STRLOC "Cannot register DataServer::Logging object"); - exit (EXIT_FAILURE); - } + if ( setup_logging ()) { + if ( setup_interface_check ()) { + g_message ("Server up and running"); - if (! setup_interface_check ()) { - g_error (G_STRLOC "Cannot register DataServer::InterfaceCheck object"); - exit (EXIT_FAILURE); - } - - g_message ("Server up and running"); - - bonobo_main (); + bonobo_main (); + } else + g_error (G_STRLOC "Cannot register DataServer::InterfaceCheck object"); + } else + g_error (G_STRLOC "Cannot register DataServer::Logging object"); bonobo_object_unref (BONOBO_OBJECT (e_data_cal_factory)); e_data_cal_factory = NULL; @@ -314,6 +316,12 @@ main (int argc, char **argv) bonobo_object_unref (BONOBO_OBJECT (e_data_book_factory)); e_data_book_factory = NULL; + bonobo_object_unref (BONOBO_OBJECT (logging_iface)); + logging_iface = NULL; + + bonobo_object_unref (BONOBO_OBJECT (interface_check_iface)); + interface_check_iface = NULL; + gnome_vfs_shutdown (); return 0; |