diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-10-22 02:51:30 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-10-22 02:51:30 +0800 |
commit | 21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36 (patch) | |
tree | 0111dbe4d8a6d5617f5e5406001b0024e4293169 /calendar/pcs/cal-backend.h | |
parent | 653cfffc0e00dfb59b36813c1b45c53d3f773c65 (diff) | |
download | gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar.gz gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar.bz2 gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar.lz gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar.xz gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.tar.zst gsoc2013-evolution-21743ac2cfa2d2ddcd539e9b7695cc8dd720ef36.zip |
Merge new-ui-branch into the trunk.
svn path=/trunk/; revision=22966
Diffstat (limited to 'calendar/pcs/cal-backend.h')
-rw-r--r-- | calendar/pcs/cal-backend.h | 218 |
1 files changed, 75 insertions, 143 deletions
diff --git a/calendar/pcs/cal-backend.h b/calendar/pcs/cal-backend.h index 49d8b2d76e..793622cadc 100644 --- a/calendar/pcs/cal-backend.h +++ b/calendar/pcs/cal-backend.h @@ -24,6 +24,7 @@ #ifndef CAL_BACKEND_H #define CAL_BACKEND_H +#include <e-util/e-list.h> #include <cal-util/cal-util.h> #include <cal-util/cal-component.h> #include "pcs/evolution-calendar.h" @@ -42,37 +43,6 @@ G_BEGIN_DECLS #define IS_CAL_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAL_BACKEND_TYPE)) #define IS_CAL_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAL_BACKEND_TYPE)) -/* Open status values */ -typedef enum { - CAL_BACKEND_OPEN_SUCCESS, /* Loading OK */ - CAL_BACKEND_OPEN_ERROR, /* We need better error reporting in libversit */ - CAL_BACKEND_OPEN_NOT_FOUND, - CAL_BACKEND_OPEN_PERMISSION_DENIED, -} CalBackendOpenStatus; - -/* Update and Remove result values */ -typedef enum { - CAL_BACKEND_RESULT_SUCCESS, - CAL_BACKEND_RESULT_INVALID_OBJECT, - CAL_BACKEND_RESULT_NOT_FOUND, - CAL_BACKEND_RESULT_PERMISSION_DENIED -} CalBackendResult; - -/* Send result values */ -typedef enum { - CAL_BACKEND_SEND_SUCCESS, - CAL_BACKEND_SEND_INVALID_OBJECT, - CAL_BACKEND_SEND_BUSY, - CAL_BACKEND_SEND_PERMISSION_DENIED, -} CalBackendSendResult; - -/* Result codes for ::get_alarms_in_range() */ -typedef enum { - CAL_BACKEND_GET_ALARMS_SUCCESS, - CAL_BACKEND_GET_ALARMS_NOT_FOUND, - CAL_BACKEND_GET_ALARMS_INVALID_RANGE -} CalBackendGetAlarmsForObjectResult; - typedef struct _CalBackendPrivate CalBackendPrivate; struct _CalBackend { @@ -88,153 +58,115 @@ struct _CalBackendClass { void (* last_client_gone) (CalBackend *backend); void (* cal_added) (CalBackend *backend, Cal *cal); - void (* opened) (CalBackend *backend, CalBackendOpenStatus status); + gboolean (* is_loaded) (CalBackend *backend); + + /* FIXME What to pass back here */ + void (* opened) (CalBackend *backend, int status); + void (* removed) (CalBackend *backend, int status); void (* obj_updated) (CalBackend *backend, const char *uid); - void (* obj_removed) (CalBackend *backend, const char *uid); /* Virtual methods */ - const char *(* get_uri) (CalBackend *backend); - - const char *(* get_cal_address) (CalBackend *backend); - const char *(* get_alarm_email_address) (CalBackend *backend); - const char *(* get_ldap_attribute) (CalBackend *backend); - - const char *(* get_static_capabilities) (CalBackend *backend); + void (* is_read_only) (CalBackend *backend, Cal *cal); + void (* get_cal_address) (CalBackend *backend, Cal *cal); + void (* get_alarm_email_address) (CalBackend *backend, Cal *cal); + void (* get_ldap_attribute) (CalBackend *backend, Cal *cal); + void (* get_static_capabilities) (CalBackend *backend, Cal *cal); - CalBackendOpenStatus (* open) (CalBackend *backend, const char *uristr, - gboolean only_if_exists); + void (* open) (CalBackend *backend, Cal *cal, gboolean only_if_exists); + void (* remove) (CalBackend *backend, Cal *cal); - gboolean (* is_loaded) (CalBackend *backend); - gboolean (* is_read_only) (CalBackend *backend); - - Query *(* get_query) (CalBackend *backend, - GNOME_Evolution_Calendar_QueryListener ql, - const char *sexp); - - /* Mode relate virtual methods */ - CalMode (* get_mode) (CalBackend *backend); - void (* set_mode) (CalBackend *backend, CalMode mode); - - /* General object acquirement and information related virtual methods */ - int (* get_n_objects) (CalBackend *backend, CalObjType type); - char *(* get_default_object) (CalBackend *backend, CalObjType type); - char *(* get_object) (CalBackend *backend, const char *uid); - CalComponent *(* get_object_component) (CalBackend *backend, const char *uid); - char *(* get_timezone_object) (CalBackend *backend, const char *tzid); - GList *(* get_uids) (CalBackend *backend, CalObjType type); - - GList *(* get_objects_in_range) (CalBackend *backend, CalObjType type, - time_t start, time_t end); - GList *(* get_free_busy) (CalBackend *backend, GList *users, time_t start, time_t end); - - /* Change related virtual methods */ - GNOME_Evolution_Calendar_CalObjChangeSeq * (* get_changes) ( - CalBackend *backend, CalObjType type, const char *change_id); - - /* Alarm related virtual methods */ - GNOME_Evolution_Calendar_CalComponentAlarmsSeq *(* get_alarms_in_range) ( - CalBackend *backend, time_t start, time_t end); - GNOME_Evolution_Calendar_CalComponentAlarms *(* get_alarms_for_object) ( - CalBackend *backend, const char *uid, - time_t start, time_t end, gboolean *object_found); - CalBackendResult (* discard_alarm) (CalBackend *backend, const char *uid, const char *auid); - - /* Object manipulation virtual methods */ - CalBackendResult (* update_objects) (CalBackend *backend, const char *calobj, CalObjModType mod); - CalBackendResult (* remove_object) (CalBackend *backend, const char *uid, CalObjModType mod); - - CalBackendSendResult (* send_object) (CalBackend *backend, const char *calobj, char **new_calobj, - GNOME_Evolution_Calendar_UserList **user_list, - char error_msg[256]); - - /* Timezone related virtual methods */ - icaltimezone *(* get_timezone) (CalBackend *backend, const char *tzid); - icaltimezone *(* get_default_timezone) (CalBackend *backend); - gboolean (* set_default_timezone) (CalBackend *backend, const char *tzid); -}; - -GType cal_backend_get_type (void); - -const char *cal_backend_get_uri (CalBackend *backend); + /* Object related virtual methods */ + void (* create_object) (CalBackend *backend, Cal *cal, const char *calobj); + void (* modify_object) (CalBackend *backend, Cal *cal, const char *calobj, CalObjModType mod); + void (* remove_object) (CalBackend *backend, Cal *cal, const char *uid, const char *rid, CalObjModType mod); -const char *cal_backend_get_cal_address (CalBackend *backend); -const char *cal_backend_get_alarm_email_address (CalBackend *backend); -const char *cal_backend_get_ldap_attribute (CalBackend *backend); + void (* discard_alarm) (CalBackend *backend, Cal *cal, const char *uid, const char *auid); -const char *cal_backend_get_static_capabilities (CalBackend *backend); + void (* receive_objects) (CalBackend *backend, Cal *cal, const char *calobj); + void (* send_objects) (CalBackend *backend, Cal *cal, const char *calobj); -void cal_backend_add_cal (CalBackend *backend, Cal *cal); + void (* get_default_object) (CalBackend *backend, Cal *cal); + void (* get_object) (CalBackend *backend, Cal *cal, const char *uid, const char *rid); + void (* get_object_list) (CalBackend *backend, Cal *cal, const char *sexp); -CalBackendOpenStatus cal_backend_open (CalBackend *backend, const char *uristr, - gboolean only_if_exists); - -gboolean cal_backend_is_loaded (CalBackend *backend); - -gboolean cal_backend_is_read_only (CalBackend *backend); - -Query *cal_backend_get_query (CalBackend *backend, - GNOME_Evolution_Calendar_QueryListener ql, - const char *sexp); + /* Timezone related virtual methods */ + void (* get_timezone) (CalBackend *backend, Cal *cal, const char *tzid); + void (* add_timezone) (CalBackend *backend, Cal *cal, const char *object); + void (* set_default_timezone) (CalBackend *backend, Cal *cal, const char *tzid); -CalMode cal_backend_get_mode (CalBackend *backend); -void cal_backend_set_mode (CalBackend *backend, CalMode mode); + void (* start_query) (CalBackend *backend, Query *query); -int cal_backend_get_n_objects (CalBackend *backend, CalObjType type); + /* Mode relate virtual methods */ + CalMode (* get_mode) (CalBackend *backend); + void (* set_mode) (CalBackend *backend, CalMode mode); -char *cal_backend_get_default_object (CalBackend *backend, CalObjType type); + void (* get_free_busy) (CalBackend *backend, Cal *cal, GList *users, time_t start, time_t end); + void (* get_changes) (CalBackend *backend, Cal *cal, CalObjType type, const char *change_id); -char *cal_backend_get_object (CalBackend *backend, const char *uid); + /* Internal methods for use only in the pcs */ + icaltimezone *(* internal_get_default_timezone) (CalBackend *backend); + icaltimezone *(* internal_get_timezone) (CalBackend *backend, const char *tzid); +}; -CalComponent *cal_backend_get_object_component (CalBackend *backend, const char *uid); +GType cal_backend_get_type (void); -gboolean cal_backend_set_default_timezone (CalBackend *backend, const char *tzid); +const char *cal_backend_get_uri (CalBackend *backend); +icalcomponent_kind cal_backend_get_kind (CalBackend *backend); -char *cal_backend_get_timezone_object (CalBackend *backend, const char *tzid); +void cal_backend_add_client (CalBackend *backend, Cal *cal); +void cal_backend_remove_client (CalBackend *backend, Cal *cal); -CalObjType cal_backend_get_type_by_uid (CalBackend *backend, const char *uid); +void cal_backend_add_query (CalBackend *backend, Query *query); +EList *cal_backend_get_queries (CalBackend *backend); -GList *cal_backend_get_uids (CalBackend *backend, CalObjType type); +void cal_backend_is_read_only (CalBackend *backend, Cal *cal); +void cal_backend_get_cal_address (CalBackend *backend, Cal *cal); +void cal_backend_get_alarm_email_address (CalBackend *backend, Cal *cal); +void cal_backend_get_ldap_attribute (CalBackend *backend, Cal *cal); +void cal_backend_get_static_capabilities (CalBackend *backend, Cal *cal); -GList *cal_backend_get_objects_in_range (CalBackend *backend, CalObjType type, - time_t start, time_t end); +void cal_backend_open (CalBackend *backend, Cal *cal, gboolean only_if_exists); +void cal_backend_remove (CalBackend *backend, Cal *cal); -GList *cal_backend_get_free_busy (CalBackend *backend, GList *users, time_t start, time_t end); +void cal_backend_create_object (CalBackend *backend, Cal *cal, const char *calobj); +void cal_backend_modify_object (CalBackend *backend, Cal *cal, const char *calobj, CalObjModType mod); +void cal_backend_remove_object (CalBackend *backend, Cal *cal, const char *uid, const char *rid, CalObjModType mod); -GNOME_Evolution_Calendar_CalObjChangeSeq * cal_backend_get_changes ( - CalBackend *backend, CalObjType type, const char *change_id); +void cal_backend_discard_alarm (CalBackend *backend, Cal *cal, const char *uid, const char *auid); -GNOME_Evolution_Calendar_CalComponentAlarmsSeq *cal_backend_get_alarms_in_range ( - CalBackend *backend, time_t start, time_t end, gboolean *valid_range); +void cal_backend_receive_objects (CalBackend *backend, Cal *cal, const char *calobj); +void cal_backend_send_objects (CalBackend *backend, Cal *cal, const char *calobj); -GNOME_Evolution_Calendar_CalComponentAlarms *cal_backend_get_alarms_for_object ( - CalBackend *backend, const char *uid, - time_t start, time_t end, - CalBackendGetAlarmsForObjectResult *result); +void cal_backend_get_default_object (CalBackend *backend, Cal *cal); +void cal_backend_get_object (CalBackend *backend, Cal *cal, const char *uid, const char *rid); +void cal_backend_get_object_list (CalBackend *backend, Cal *cal, const char *sexp); -CalBackendResult cal_backend_discard_alarm (CalBackend *backend, const char *uid, const char *auid); +gboolean cal_backend_is_loaded (CalBackend *backend); +void cal_backend_start_query (CalBackend *backend, Query *query); -CalBackendResult cal_backend_update_objects (CalBackend *backend, const char *calobj, CalObjModType mod); +CalMode cal_backend_get_mode (CalBackend *backend); +void cal_backend_set_mode (CalBackend *backend, CalMode mode); -CalBackendResult cal_backend_remove_object (CalBackend *backend, const char *uid, CalObjModType mod); +void cal_backend_get_timezone (CalBackend *backend, Cal *cal, const char *tzid); +void cal_backend_add_timezone (CalBackend *backend, Cal *cal, const char *object); +void cal_backend_set_default_timezone (CalBackend *backend, Cal *cal, const char *tzid); -CalBackendSendResult cal_backend_send_object (CalBackend *backend, const char *calobj, char **new_calobj, - GNOME_Evolution_Calendar_UserList **user_list, - char error_msg[256]); +void cal_backend_get_changes (CalBackend *backend, Cal *cal, CalObjType type, const char *change_id); +void cal_backend_get_free_busy (CalBackend *backend, Cal *cal, GList *users, time_t start, time_t end); -icaltimezone* cal_backend_get_timezone (CalBackend *backend, const char *tzid); -icaltimezone* cal_backend_get_default_timezone (CalBackend *backend); +icaltimezone* cal_backend_internal_get_default_timezone (CalBackend *backend); +icaltimezone* cal_backend_internal_get_timezone (CalBackend *backend, const char *tzid); void cal_backend_last_client_gone (CalBackend *backend); -void cal_backend_opened (CalBackend *backend, CalBackendOpenStatus status); -void cal_backend_obj_updated (CalBackend *backend, const char *uid); -void cal_backend_obj_removed (CalBackend *backend, const char *uid); + +/* FIXME what to do about status */ +void cal_backend_opened (CalBackend *backend, int status); +void cal_backend_removed (CalBackend *backend, int status); void cal_backend_notify_mode (CalBackend *backend, GNOME_Evolution_Calendar_Listener_SetModeStatus status, GNOME_Evolution_Calendar_CalMode mode); -void cal_backend_notify_update (CalBackend *backend, const char *uid); -void cal_backend_notify_remove (CalBackend *backend, const char *uid); void cal_backend_notify_error (CalBackend *backend, const char *message); void cal_backend_ref_categories (CalBackend *backend, GSList *categories); void cal_backend_unref_categories (CalBackend *backend, GSList *categories); |