Files
evolution/wombat/ChangeLog
Federico Mena Quintero 8160d7388e CalBackendClass now is just an interface for calendar backends; this is an
2000-05-08  Federico Mena Quintero  <federico@helixcode.com>

	* pcs/cal-backend.h (CalBackendClass): CalBackendClass now is just
	an interface for calendar backends; this is an abstract class.
	Put in the vtable for the backend methods.

	* pcs/cal-backend.c (cal_backend_new): Removed function, since
	CalBackend is not just an abstract class.
	Removed implementation-specific functions and made public
	functions call the virtual methods instead.

	* pcs/cal-backend-imc.[ch]: New files with the CalBackendIMC
	implementation; this implements a backend for iCalendar and
	vCalendar files.  Moved the implementation-specific stuff from
	cal-backend.[ch] to here.

	* pcs/cal-backend-imc.c (CalendarFormat): Moved enumeration to
	here.  Added a CAL_UNKNOWN value for when the backend is not
	loaded yet.
	(cal_backend_imc_init): Initialize priv->format as CAL_UNKNOWN.
	(save_to_vcal): Use the same VCProdIdProp value as in
	cal-util/calobj.c.  Use "1.0" as the VCVersionProp as per the
	vCalendar spec.
	(ensure_uid): Return nothing, since the result value need not be
	used anymore.
	(add_object): Since we mark the calendar as dirty anyways, we do
	not need to check the result value of ensure_uid() anymore.
	(remove_object): Asssert that we know how to handle the object's
	type.  We do this in add_object() anyways.

	* pcs/Makefile.am (libpcs_a_SOURCES): Added cal-backend-imc.[ch].

	* gui/gnome-cal.c: Replaced debugging printf()s with g_message()
	so that we can see the line number where they occur.

	* gui/gnome-cal.c (gnome_calendar_load_cb): Sort of handle the
	LOAD_METHOD_NOT_SUPPORTED result code, and added a default for the
	switch.

	* cal-client/cal-listener.h (CalListenerLoadStatus): Removed
	enumeration; it is stupid to translate all values for the
	CalClient when it is going to translate them again.
	(CalListenerClass::cal_loaded): This signal now passes the
	LoadStatus directly from the CORBA side.

	* cal-client/cal-listener.c (Listener_cal_loaded): Do not
	translate the status value.

	* cal-client/cal-client.h (CalClientLoadStatus): Added the
	CAL_CLIENT_LOAD_METHOD_NOT_SUPPORTED error code.

	* cal-client/cal-client.c (cal_loaded_cb): Translate the CORBA
	version of the LoadStatus result code.

	* pcs/cal-factory.c (CalFactoryPrivate): New methods field for the
	hash table from method strings to the GtkTypes for backend class
	types.
	(cal_factory_init): Create the priv->methods hash table.
	(cal_factory_destroy): Free the priv->methods hash table.
	(cal_factory_register_method): New function to register a backend
	class for a particular URI method.
	(launch_backend_for_uri): New function to launch a backend for a
	particular URI's method.
	(load_backend): Use launch_backend_for_uri().  Move the error
	notification code from load_fn() to here.
	(create_backend): Use launch_backend_for_uri().  Move the error
	notification code form create_fn() to here; it is #ifdefed out
	since currently cal_backend_create() does not have any error
	reporting capabilities.

	* idl/evolution-calendar.idl (Listener::LoadStatus): Added a
	PROTOCOL_NOT_SUPPORTED error code.

	* pcs/cal-factory.c (cal_factory_load cal_factory_create): Removed
	functions, since they were supposed to be internal only.
	(CalFactory_load): Call queue_load_create_job() directly.
	(CalFactory_create): Likewise.

svn path=/trunk/; revision=2921
2000-05-08 16:58:27 +00:00

92 lines
3.3 KiB
Plaintext

2000-05-08 Federico Mena Quintero <federico@helixcode.com>
* wombat.c (setup_pcs): Register the "file" method with the IMC
backend.
2000-05-05 Chris Toshok <toshok@helixcode.com>
* .cvsignore: ignore wombat.pure
* Makefile.am: add support for building wombat.pure
2000-05-01 Federico Mena Quintero <federico@helixcode.com>
* wombat.c (main): Doh, also unref the pas_book_factory when we
are done.
2000-04-30 Federico Mena Quintero <federico@helixcode.com>
* wombat.c (setup_pas): Connect to the "last_book_gone" signal of
the book factory.
(last_book_gone_cb): Handle the "last_book_gone" signal.
(termination_handler): Check if the book factory has zero running
backends.
2000-04-30 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added ename libs to LDADD.
2000-04-27 Ettore Perazzoli <ettore@helixcode.com>
* wombat.c
(register_pcs): New function for registering into the name
service. Varies according on whether we are `USING_OAF' or not.
(init_corba): New function for initializing the CORBA stuff.
Implementation depends on `USING_OAF'.
(init_bonobo): Use `init_corba'.
* Makefile.am: Updated for OAF.
2000-04-25 Federico Mena Quintero <federico@helixcode.com>
* wombat.c (cal_factory pas_book_factory): New module-wide
variables for the PAS and PCS factories.
(setup_pcs): Connect to the "last_calendar_gone" signal of the
calendar factory.
(last_calendar_gone_cb): Queue a termination job.
(queue_termination): Function to queue a termination job. We have
to use a timeout to reduce the probability of running into GOAD's
race condition with factories.
(termination_handler): Check that the PCS and the PAS have zero
backends. If so, exit the main loop.
(setup_vfs): Use EXIT_FAILURE instead of 1.
(init_bonobo): Likewise.
(main): Destroy the factories and exit Wombat. Wheee!
2000-04-16 Federico Mena Quintero <federico@helixcode.com>
* Makefile.am (INCLUDES): Removed spurious calendar directories
from the include path. Added "wombat" log domain for glib.
(wombat_LDADD): Link libpcs.a instead of the old shared library.
* wombat.c: cal-factory.h is an internal include file. * wombat.c
(setup_pcs): We should NOT share a CORBA_environment across all
functions! Use our own CORBA_environment.
(init_bonobo): Use our own CORBA_environment. Free the exception
after initializing GOAD, and present some error messages if
necessary. (Should g_message()s for exceptional situations be
marked for translation?).
2000-04-15 Ettore Perazzoli <ettore@helixcode.com>
* Makefile.am (INCLUDES): Added
`-I$(top_builddir)/addressbook/backend/pas', and
`-I$(top_builddir)/calendar/pcs' because that's where the
IDL-generated files go.
2000-04-14 Chris Toshok <toshok@helixcode.com>
* Makefile.am (wombat_LDADD): use BONOBO_VFS_GNOME_LIBS instead of
BONOBO_HTML_GNOME_LIBS. fixes freebsd's problem running wombat.
2000-04-14 Federico Mena Quintero <federico@helixcode.com>
* wombat.c (setup_pcs): Must pass "object" for the kind to
goad_server_register(); "server" is meaningless.
(setup_pcs): Do not free the CORBA environment more than once.
Also, fix error messages.
* wombat.gnorba: The GOAD ID is "evolution:calendar-factory", not
"evolution:calendar-server".
* ChangeLog: Started the ChangeLog for Wombat.