aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal-backend-sync.h
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/pcs/cal-backend-sync.h')
-rw-r--r--calendar/pcs/cal-backend-sync.h146
1 files changed, 146 insertions, 0 deletions
diff --git a/calendar/pcs/cal-backend-sync.h b/calendar/pcs/cal-backend-sync.h
new file mode 100644
index 0000000000..ead49fa4b7
--- /dev/null
+++ b/calendar/pcs/cal-backend-sync.h
@@ -0,0 +1,146 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ */
+
+#ifndef __Cal_BACKEND_SYNC_H__
+#define __Cal_BACKEND_SYNC_H__
+
+#include <glib.h>
+#include <pcs/cal-backend.h>
+#include <pcs/evolution-calendar.h>
+
+G_BEGIN_DECLS
+
+#define CAL_TYPE_BACKEND_SYNC (cal_backend_sync_get_type ())
+#define CAL_BACKEND_SYNC(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CAL_TYPE_BACKEND_SYNC, CalBackendSync))
+#define CAL_BACKEND_SYNC_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CAL_TYPE_BACKEND_SYNC, CalBackendSyncClass))
+#define CAL_IS_BACKEND_SYNC(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CAL_TYPE_BACKEND_SYNC))
+#define CAL_IS_BACKEND_SYNC_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CAL_TYPE_BACKEND_SYNC))
+#define CAL_BACKEND_SYNC_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((k), CAL_TYPE_BACKEND_SYNC, CalBackendSyncClass))
+typedef struct _CalBackendSync CalBackendSync;
+typedef struct _CalBackendSyncClass CalBackendSyncClass;
+typedef struct _CalBackendSyncPrivate CalBackendSyncPrivate;
+
+typedef GNOME_Evolution_Calendar_CallStatus CalBackendSyncStatus;
+
+struct _CalBackendSync {
+ CalBackend parent_object;
+
+ CalBackendSyncPrivate *priv;
+};
+
+struct _CalBackendSyncClass {
+ CalBackendClass parent_class;
+
+ /* Virtual methods */
+ CalBackendSyncStatus (*is_read_only_sync) (CalBackendSync *backend, Cal *cal, gboolean *read_only);
+ CalBackendSyncStatus (*get_cal_address_sync) (CalBackendSync *backend, Cal *cal, char **address);
+ CalBackendSyncStatus (*get_alarm_email_address_sync) (CalBackendSync *backend, Cal *cal, char **address);
+ CalBackendSyncStatus (*get_ldap_attribute_sync) (CalBackendSync *backend, Cal *cal, char **attribute);
+ CalBackendSyncStatus (*get_static_capabilities_sync) (CalBackendSync *backend, Cal *cal, char **capabilities);
+
+ CalBackendSyncStatus (*open_sync) (CalBackendSync *backend, Cal *cal, gboolean only_if_exists);
+ CalBackendSyncStatus (*remove_sync) (CalBackendSync *backend, Cal *cal);
+
+ CalBackendSyncStatus (*create_object_sync) (CalBackendSync *backend, Cal *cal, const char *calobj, char **uid);
+ CalBackendSyncStatus (*modify_object_sync) (CalBackendSync *backend, Cal *cal, const char *calobj, CalObjModType mod, char **old_object);
+ CalBackendSyncStatus (*remove_object_sync) (CalBackendSync *backend, Cal *cal, const char *uid, const char *rid, CalObjModType mod, char **object);
+
+ CalBackendSyncStatus (*discard_alarm_sync) (CalBackendSync *backend, Cal *cal, const char *uid, const char *auid);
+
+ CalBackendSyncStatus (*receive_objects_sync) (CalBackendSync *backend, Cal *cal, const char *calobj, GList **created, GList **modified, GList **removed);
+ CalBackendSyncStatus (*send_objects_sync) (CalBackendSync *backend, Cal *cal, const char *calobj);
+
+ CalBackendSyncStatus (*get_default_object_sync) (CalBackendSync *backend, Cal *cal, char **object);
+ CalBackendSyncStatus (*get_object_sync) (CalBackendSync *backend, Cal *cal, const char *uid, const char *rid, char **object);
+ CalBackendSyncStatus (*get_object_list_sync) (CalBackendSync *backend, Cal *cal, const char *sexp, GList **objects);
+
+ CalBackendSyncStatus (*get_timezone_sync) (CalBackendSync *backend, Cal *cal, const char *tzid, char **object);
+ CalBackendSyncStatus (*add_timezone_sync) (CalBackendSync *backend, Cal *cal, const char *tzobj);
+ CalBackendSyncStatus (*set_default_timezone_sync) (CalBackendSync *backend, Cal *cal, const char *tzid);
+
+ CalBackendSyncStatus (*get_changes_sync) (CalBackendSync *backend, Cal *cal, CalObjType type, const char *change_id, GList **adds, GList **modifies, GList **deletes);
+ CalBackendSyncStatus (*get_freebusy_sync) (CalBackendSync *backend, Cal *cal, GList *users, time_t start, time_t end, GList **freebusy);
+
+ /* Padding for future expansion */
+ void (*_cal_reserved0) (void);
+ void (*_cal_reserved1) (void);
+ void (*_cal_reserved2) (void);
+ void (*_cal_reserved3) (void);
+ void (*_cal_reserved4) (void);
+
+};
+
+typedef CalBackendSync * (*CalBackendSyncFactoryFn) (void);
+GType cal_backend_sync_get_type (void);
+CalBackendSyncStatus cal_backend_sync_is_read_only (CalBackendSync *backend,
+ Cal *cal,
+ gboolean *read_only);
+CalBackendSyncStatus cal_backend_sync_get_cal_address (CalBackendSync *backend,
+ Cal *cal,
+ char **address);
+CalBackendSyncStatus cal_backend_sync_get_alarm_email_address (CalBackendSync *backend,
+ Cal *cal,
+ char **address);
+CalBackendSyncStatus cal_backend_sync_get_ldap_attribute (CalBackendSync *backend,
+ Cal *cal,
+ char **attribute);
+CalBackendSyncStatus cal_backend_sync_get_static_capabilities (CalBackendSync *backend,
+ Cal *cal,
+ char **capabiliites);
+CalBackendSyncStatus cal_backend_sync_open (CalBackendSync *backend,
+ Cal *cal,
+ gboolean only_if_exists);
+CalBackendSyncStatus cal_backend_sync_remove (CalBackendSync *backend,
+ Cal *cal);
+CalBackendSyncStatus cal_backend_sync_create_object (CalBackendSync *backend,
+ Cal *cal,
+ const char *calobj,
+ char **uid);
+CalBackendSyncStatus cal_backend_sync_modify_object (CalBackendSync *backend,
+ Cal *cal,
+ const char *calobj,
+ CalObjModType mod,
+ char **old_object);
+CalBackendSyncStatus cal_backend_sync_remove_object (CalBackendSync *backend,
+ Cal *cal,
+ const char *uid,
+ const char *rid,
+ CalObjModType mod,
+ char **object);
+CalBackendSyncStatus cal_backend_sync_discard_alarm (CalBackendSync *backend, Cal *cal, const char *uid, const char *auid);
+
+CalBackendSyncStatus cal_backend_sync_receive_objects (CalBackendSync *backend,
+ Cal *cal,
+ const char *calobj,
+ GList **created,
+ GList **modified,
+ GList **removed);
+CalBackendSyncStatus cal_backend_sync_send_objects (CalBackendSync *backend,
+ Cal *cal,
+ const char *calobj);
+CalBackendSyncStatus cal_backend_sync_get_default_object (CalBackendSync *backend,
+ Cal *cal,
+ char **object);
+
+CalBackendSyncStatus cal_backend_sync_get_object (CalBackendSync *backend,
+ Cal *cal,
+ const char *uid,
+ const char *rid,
+ char **object);
+
+CalBackendSyncStatus cal_backend_sync_get_object_list (CalBackendSync *backend,
+ Cal *cal,
+ const char *sexp,
+ GList **objects);
+
+CalBackendSyncStatus cal_backend_sync_get_timezone (CalBackendSync *backend, Cal *cal, const char *tzid, char **object);
+CalBackendSyncStatus cal_backend_sync_add_timezone (CalBackendSync *backend, Cal *cal, const char *tzobj);
+CalBackendSyncStatus cal_backend_sync_set_default_timezone (CalBackendSync *backend, Cal *cal, const char *tzid);
+
+CalBackendSyncStatus cal_backend_sync_get_changes (CalBackendSync *backend, Cal *cal, CalObjType type, const char *change_id, GList **adds, GList **modifies, GList **deletes);
+CalBackendSyncStatus cal_backend_sync_get_free_busy (CalBackendSync *backend, Cal *cal, GList *users, time_t start, time_t end, GList **freebusy);
+
+G_END_DECLS
+
+#endif /* ! __CAL_BACKEND_SYNC_H__ */