aboutsummaryrefslogtreecommitdiffstats
path: root/wombat
diff options
context:
space:
mode:
Diffstat (limited to 'wombat')
-rw-r--r--wombat/Makefile.am32
-rw-r--r--wombat/wombat.c46
-rw-r--r--wombat/wombat.gnorba8
3 files changed, 73 insertions, 13 deletions
diff --git a/wombat/Makefile.am b/wombat/Makefile.am
new file mode 100644
index 0000000000..4207a87a2d
--- /dev/null
+++ b/wombat/Makefile.am
@@ -0,0 +1,32 @@
+INCLUDES = \
+ $(EXTRA_GNOME_CFLAGS) \
+ $(GNOME_INCLUDEDIR) \
+ -I$(top_srcdir)/e-util \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/addressbook/backend/pas \
+ -I$(top_srcdir)/calendar/pcs \
+ -I$(top_srcdir)/calendar/cal-util \
+ -DEVOLUTION_VERSION=\""$(VERSION)"\" \
+ -DEVOLUTION_LOCALEDIR=\""$(datadir)/locale"\"
+
+bin_PROGRAMS = \
+ wombat
+
+wombat_SOURCES = \
+ wombat.c
+
+wombat_LDADD = \
+ $(EXTRA_GNOME_LIBS) \
+ $(BONOBO_HTML_GNOME_LIBS) \
+ $(top_builddir)/e-util/libeutil.la \
+ -lpas \
+ -lpcs \
+ -lical \
+ -lcalutil \
+ $(top_builddir)/libversit/libversit.la \
+ -lgnomevfs
+
+wombat_LDFLAGS = `gnome-config --libs gnorba`
+
+gnorbadir = $(sysconfdir)/CORBA/servers
+gnorba_DATA = wombat.gnorba
diff --git a/wombat/wombat.c b/wombat/wombat.c
index 034b97f478..9568ae1938 100644
--- a/wombat/wombat.c
+++ b/wombat/wombat.c
@@ -9,6 +9,10 @@
#include <bonobo.h>
#include <backend/pas-book-factory.h>
#include <backend/pas-backend-file.h>
+#include <libgnomevfs/gnome-vfs-init.h>
+#include <libgnorba/gnorba.h>
+#include <cal-factory.h>
+#include <calobj.h>
CORBA_Environment ev;
CORBA_ORB orb;
@@ -26,20 +30,45 @@ setup_pas (int argc, char **argv)
pas_book_factory_activate (factory);
}
-#include "cal-factory.h"
-#include "calobj.h"
+
static void
setup_pcs (int argc, char **argv)
{
- CalFactory *factory;
-
- factory = cal_factory_new ();
+ int result;
+ CORBA_Object object;
+ CalFactory *factory = cal_factory_new ();
+
if (!factory) {
g_message ("%s: %d: couldn't create a Calendar factory\n",
__FILE__, __LINE__);
}
-
-
+
+ object = bonobo_object_corba_objref (BONOBO_OBJECT (factory));
+
+ CORBA_exception_init (&ev);
+ result = goad_server_register (CORBA_OBJECT_NIL,
+ object,
+ "evolution:calendar-factory",
+ "server",
+ &ev);
+
+ if (ev._major != CORBA_NO_EXCEPTION || result == -1) {
+
+ g_message ("create_cal_factory(): "
+ "could not register the calendar factory");
+ bonobo_object_unref (BONOBO_OBJECT (factory));
+ CORBA_exception_free (&ev);
+
+ } else if (result == -2) {
+
+ g_message ("create_cal_factory(): "
+ "a calendar factory is already registered");
+ bonobo_object_unref (BONOBO_OBJECT (factory));
+ CORBA_exception_free (&ev);
+
+ }
+
+ CORBA_exception_free (&ev);
}
static void
@@ -47,7 +76,6 @@ setup_config (int argc, char **argv)
{
}
-#include <libgnomevfs/gnome-vfs-init.h>
static void
setup_vfs (int argc, char **argv)
{
@@ -57,7 +85,7 @@ setup_vfs (int argc, char **argv)
}
}
-#include <libgnorba/gnorba.h>
+
static void
init_bonobo (int argc, char **argv)
{
diff --git a/wombat/wombat.gnorba b/wombat/wombat.gnorba
index 0e5839cc55..165722b8ce 100644
--- a/wombat/wombat.gnorba
+++ b/wombat/wombat.gnorba
@@ -1,11 +1,11 @@
-[evolution:card-server]
+[evolution:addressbook-server]
type=exe
-repo_id=IDL:Evolution/CardServer:1.0
+repo_id=IDL:Evolution/BookFactory:1.0 IDL:Bonobo/Unknown:1.0
description=The Personal Addressbook Server
location_info=wombat
-[evolution:calendar-factory]
+[evolution:calendar-server]
type=exe
repo_id=IDL:Evolution/Calendar/CalFactory:1.0 IDL:Bonobo/Unknown:1.0
-description=Calendar factory for the Personal Calendar Server
+description=The Personal Calendar Server
location_info=wombat