diff options
author | Federico Mena Quintero <federico@ximian.com> | 2001-01-17 18:44:33 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2001-01-17 18:44:33 +0800 |
commit | 0932fd7ec9d21e763371a043283384af8bc987fb (patch) | |
tree | dbfd7dcaf49fd667712a6408eae165bd201c3219 /calendar/pcs/cal-backend.c | |
parent | ff6098b51168decc542245a215056dc6219ebd69 (diff) | |
download | gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar.gz gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar.bz2 gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar.lz gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar.xz gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.tar.zst gsoc2013-evolution-0932fd7ec9d21e763371a043283384af8bc987fb.zip |
Ximianified email addresses and copyrights.
2001-01-17 Federico Mena Quintero <federico@ximian.com>
* */*: Ximianified email addresses and copyrights.
* idl/evolution-calendar.idl (CalFactory::open): Renamed from
::load(), and added an only_if_exists argument.
(CalFactory::create): Removed method.
(Listener::OpenStatus): Removed the IN_USE error and replaced it
with a NOT_FOUND one; renamed the enum from LoadStatus.
(Listener::notifyCalOpened): Renamed from notifyCalLoaded().
* pcs/cal-backend.h (CalBackend): Removed the uri field.
(CalBackendOpenStatus): Renamed from CalBackendLoadStatus and
added a NOT_FOUND value.
(CalBackendClass::open): Put in a slot for the open method.
* pcs/cal-backend.c (cal_backend_create): Removed function.
* pcs/cal-backend-file.c (cal_backend_file_open): Return the
appropriate value when only_if_exists is TRUE.
(create_cal): We are Ximian now, so set the PRODID property to
the appropriate foo.
* pcs/cal-factory.c (CalFactory_open): implemented, replacing
CalFactory_load() and CalFactory_create().
(CalFactory_open): Moved the queue_load_create_job() stuff to
here, since we now only need to contemplate the open case instead
of load/create ones.
(open_backend): Do everything here; replaces load_backend() and
create_backend().
* cal-client/cal-listener.h (CalListenerClass::cal_opened):
Renamed from cal_loaded.
(CalListenerClass): Replaced the silly signals, which are
gratuitous abstraction, by a set of function pointers in the
instance structure.
* cal-client/cal-listener.c (cal_listener_get_calendar): Removed
unused function.
(cal_listener_construct): Added the listener notification functions.
(cal_listener_new): Ditto.
(Listener_notifyCalOpened): Renamed to our new naming convention
for servant implementations.
(Listener_notifyObjUpdated): Ditto.
(Listener_notifyObjRemoved): Ditto.
* cal-client/cal-client.h (CalClientOpenStatus): Renamed from
CalClientLoadStatus.
(CalClientClass::cal_opened): Renamed from ::cal_loaded().
(CalClientLoadState): New enum; basically make LoadState public so
that users of this code do not have to maintain their own states.
* cal-client/cal-client.c (cal_client_create_calendar): Removed
function.
(cal_client_open_calendar): Moved the functionality over from
load_or_create(); now we do everything here.
(*): Use the CalClientLoadState enum values instead of the old
LoadState values.
(cal_client_get_load_state): Renamed from cal_client_is_loaded(),
and return the appropriate value.
(CalClientPrivate): Added an uri field.
(cal_client_init): Initialize priv->uri.
(cal_client_destroy): Free the priv->uri.
(cal_opened_cb): Maintain the priv->uri.
(cal_client_open_calendar): Fill in the priv->uri.
(cal_client_get_uri): New function.
* gui/calendar-model.c (calendar_model_set_new_comp_vtype): New
function to configure the type of calendar components to create
when doing click-to-add. This makes the model usable for
something other than task lists.
(calendar_model_get_new_comp_vtype): New function.
* gui/e-calendar-table.c (e_calendar_table_get_model): New function.
(e_calendar_table_destroy): Unref the subset_model.
* gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum.
* gui/gnome-cal.c (LoadState): Removed enum; we now use the
CalClientLoadState from the client objects.
(GnomeCalendarPrivate): Removed the loading_uri and
task_pad_loading_uri fields as well as the load_state and
task_pad_load_state fields, as we can now query them directly from
the CalClient.
(open_error): Renamed from load_error().
(create_error): Removed function.
(gnome_calendar_open): Do not take in the mode parameter.
(cal_opened_cb): Get rid of our beautifully-crafted state machine
and replace it with simple code; all the loading smarts are in the
Wombat now.
(setup_widgets): Set the new component vtype of the table model to
CAL_COMPONENT_TODO.
* gui/Makefile.am (evolution_calendar_SOURCES): Removed
gnome-month-item.[ch] from the list of sources.
* gui/calendar-summary.c (CalSummary): Removed unused cal_loaded
field.
(create_summary_view): Do not check if the file exists; this is
the job of the Wombat.
(generate_html_summary): Fixed prototype.
(alarm_fn): Fixed prototype.
(property_dialog): Fixed prototype. Wonder if/how this ever
worked.
(create_summary_view): Cast the component and view as
appropriate. Removed unused html variable.
[Iain dude, are you compiling with -Wall?]
* gui/e-itip-control.c (cal_opened_cb): Sigh, this function
signature was *very* wrong. It was using CalClientGetStatus
instead of CalClientOpenStatus.
* gui/e-tasks.h (ETasksOpenMode): Removed enum.
* gui/e-tasks.c (setup_widgets): Set the new component vtype of
the table model to CAL_COMPONENT_TODO.
(LoadState): Removed the state machine foo.
(e_tasks_open): Removed the mode parameter.
(initial_load): Removed function.
(create_error): Removed function.
(ETasksPrivate): Removed folder_uri field.
(cal_opened_cb): Remove the state machine.
* gui/component-factory.c: #include "tasks-control.h"
* conduits/calendar/calendar-conduit.h (ECalConduitContext):
Removed calendar_load_tried field.
* conduits/calendar/calendar-conduit.c (start_calendar_server_cb):
Sigh, fixed function prototype.
* conduits/todo/todo-conduit.h (EToDoConduitContext): Removed
calendar_load_tried field.
* conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed
function prototype.
svn path=/trunk/; revision=7571
Diffstat (limited to 'calendar/pcs/cal-backend.c')
-rw-r--r-- | calendar/pcs/cal-backend.c | 99 |
1 files changed, 19 insertions, 80 deletions
diff --git a/calendar/pcs/cal-backend.c b/calendar/pcs/cal-backend.c index 0dc5d45883..6353fbbcd7 100644 --- a/calendar/pcs/cal-backend.c +++ b/calendar/pcs/cal-backend.c @@ -2,9 +2,10 @@ /* Evolution calendar - generic backend class * * Copyright (C) 2000 Helix Code, Inc. + * Copyright (C) 2000 Ximian, Inc. * - * Authors: Federico Mena-Quintero <federico@helixcode.com> - * JP Rosevear <jpr@helixcode.com> + * Authors: Federico Mena-Quintero <federico@ximian.com> + * JP Rosevear <jpr@ximian.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -40,10 +41,6 @@ enum { }; static void cal_backend_class_init (CalBackendClass *class); -static void cal_backend_init (CalBackend *backend); -static void cal_backend_destroy (GtkObject *object); - -static GtkObjectClass *parent_class; static guint cal_backend_signals[LAST_SIGNAL]; @@ -71,7 +68,7 @@ cal_backend_get_type (void) sizeof (CalBackend), sizeof (CalBackendClass), (GtkClassInitFunc) cal_backend_class_init, - (GtkObjectInitFunc) cal_backend_init, + (GtkObjectInitFunc) NULL, NULL, /* reserved_1 */ NULL, /* reserved_2 */ (GtkClassInitFunc) NULL @@ -92,10 +89,6 @@ cal_backend_class_init (CalBackendClass *class) object_class = (GtkObjectClass *) class; - parent_class = gtk_type_class (GTK_TYPE_OBJECT); - - object_class->destroy = cal_backend_destroy; - cal_backend_signals[LAST_CLIENT_GONE] = gtk_signal_new ("last_client_gone", GTK_RUN_FIRST, @@ -107,37 +100,13 @@ cal_backend_class_init (CalBackendClass *class) gtk_object_class_add_signals (object_class, cal_backend_signals, LAST_SIGNAL); } -/* Per instance initialization function */ -static void -cal_backend_init (CalBackend *backend) -{ - backend->uri = NULL; -} - -static void -cal_backend_destroy (GtkObject *object) -{ - CalBackend *backend; - - g_return_if_fail (object != NULL); - g_return_if_fail (IS_CAL_BACKEND (object)); - - backend = CAL_BACKEND (object); - - if (backend->uri) - gnome_vfs_uri_unref (backend->uri); - - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); -} - /** * cal_backend_get_uri: * @backend: A calendar backend. * - * Queries the URI of a calendar backend, which must already have a loaded + * Queries the URI of a calendar backend, which must already have an open * calendar. * * Return value: The URI where the calendar is stored. @@ -152,23 +121,13 @@ cal_backend_get_uri (CalBackend *backend) return (* CLASS (backend)->get_uri) (backend); } -static void -cal_backend_set_uri (CalBackend *backend, GnomeVFSURI *uri) -{ - if (backend->uri) - gnome_vfs_uri_unref (backend->uri); - - gnome_vfs_uri_ref (uri); - backend->uri = uri; -} - /** * cal_backend_add_cal: * @backend: A calendar backend. * @cal: A calendar client interface object. * * Adds a calendar client interface object to a calendar @backend. - * The calendar backend must already have a loaded calendar. + * The calendar backend must already have an open calendar. **/ void cal_backend_add_cal (CalBackend *backend, Cal *cal) @@ -181,54 +140,34 @@ cal_backend_add_cal (CalBackend *backend, Cal *cal) } /** - * cal_backend_load: + * cal_backend_open: * @backend: A calendar backend. * @uri: URI that contains the calendar data. + * @only_if_exists: Whether the calendar should be opened only if it already + * exists. If FALSE, a new calendar will be created when the specified @uri + * does not exist. * - * Loads a calendar backend with data from a calendar stored at the specified + * Opens a calendar backend with data from a calendar stored at the specified * URI. * * Return value: An operation status code. **/ -CalBackendLoadStatus -cal_backend_load (CalBackend *backend, GnomeVFSURI *uri) +CalBackendOpenStatus +cal_backend_open (CalBackend *backend, GnomeVFSURI *uri, gboolean only_if_exists) { - CalBackendLoadStatus result; + CalBackendOpenStatus result; - g_return_val_if_fail (backend != NULL, CAL_BACKEND_LOAD_ERROR); - g_return_val_if_fail (IS_CAL_BACKEND (backend), CAL_BACKEND_LOAD_ERROR); - g_return_val_if_fail (uri != NULL, CAL_BACKEND_LOAD_ERROR); + g_return_val_if_fail (backend != NULL, CAL_BACKEND_OPEN_ERROR); + g_return_val_if_fail (IS_CAL_BACKEND (backend), CAL_BACKEND_OPEN_ERROR); + g_return_val_if_fail (uri != NULL, CAL_BACKEND_OPEN_ERROR); - g_assert (CLASS (backend)->load != NULL); - result = (* CLASS (backend)->load) (backend, uri); + g_assert (CLASS (backend)->open != NULL); + result = (* CLASS (backend)->open) (backend, uri, only_if_exists); - if (result == CAL_BACKEND_LOAD_SUCCESS) - cal_backend_set_uri (backend, uri); - return result; } /** - * cal_backend_create: - * @backend: A calendar backend. - * @uri: URI that will contain the calendar data. - * - * Creates a new empty calendar in a calendar backend. - **/ -void -cal_backend_create (CalBackend *backend, GnomeVFSURI *uri) -{ - g_return_if_fail (backend != NULL); - g_return_if_fail (IS_CAL_BACKEND (backend)); - g_return_if_fail (uri != NULL); - - g_assert (CLASS (backend)->create != NULL); - (* CLASS (backend)->create) (backend, uri); - - cal_backend_set_uri (backend, uri); -} - -/** * cal_backend_get_n_objects: * @backend: A calendar backend. * @type: Types of objects that will be included in the count. |