Adapt libedata-cal to the new ESource API.
[platform/upstream/evolution-data-server.git] / calendar / libedata-cal / e-cal-backend-sync.h
index d47811b..826e648 100644 (file)
@@ -5,9 +5,7 @@
 #ifndef __E_CAL_BACKEND_SYNC_H__
 #define __E_CAL_BACKEND_SYNC_H__
 
-#include <glib.h>
-#include <libedatacal/Evolution-DataServer-Calendar.h>
-#include <libedatacal/e-cal-backend.h>
+#include <libedata-cal/e-cal-backend.h>
 
 G_BEGIN_DECLS
 
@@ -17,12 +15,11 @@ G_BEGIN_DECLS
 #define E_IS_CAL_BACKEND_SYNC(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_CAL_BACKEND_SYNC))
 #define E_IS_CAL_BACKEND_SYNC_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_CAL_BACKEND_SYNC))
 #define E_CAL_BACKEND_SYNC_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((k), E_TYPE_CAL_BACKEND_SYNC, ECalBackendSyncClass))
+
 typedef struct _ECalBackendSync ECalBackendSync;
 typedef struct _ECalBackendSyncClass ECalBackendSyncClass;
 typedef struct _ECalBackendSyncPrivate ECalBackendSyncPrivate;
 
-typedef GNOME_Evolution_Calendar_CallStatus ECalBackendSyncStatus;
-
 struct _ECalBackendSync {
        ECalBackend parent_object;
 
@@ -33,111 +30,48 @@ struct _ECalBackendSyncClass {
        ECalBackendClass parent_class;
 
        /* Virtual methods */
-       ECalBackendSyncStatus (*is_read_only_sync)  (ECalBackendSync *backend, EDataCal *cal, gboolean *read_only);
-       ECalBackendSyncStatus (*get_cal_address_sync)  (ECalBackendSync *backend, EDataCal *cal, char **address);
-       ECalBackendSyncStatus (*get_alarm_email_address_sync)  (ECalBackendSync *backend, EDataCal *cal, char **address);
-       ECalBackendSyncStatus (*get_ldap_attribute_sync)  (ECalBackendSync *backend, EDataCal *cal, char **attribute);
-       ECalBackendSyncStatus (*get_static_capabilities_sync)  (ECalBackendSync *backend, EDataCal *cal, char **capabilities);
-
-       ECalBackendSyncStatus (*open_sync)  (ECalBackendSync *backend, EDataCal *cal, gboolean only_if_exists);
-       ECalBackendSyncStatus (*remove_sync)  (ECalBackendSync *backend, EDataCal *cal);
-
-       ECalBackendSyncStatus (*create_object_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *calobj, char **uid);
-       ECalBackendSyncStatus (*modify_object_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *calobj, CalObjModType mod, char **old_object);
-       ECalBackendSyncStatus (*remove_object_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *uid, const char *rid, CalObjModType mod, char **object);
-
-       ECalBackendSyncStatus (*discard_alarm_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *uid, const char *auid);
-
-       ECalBackendSyncStatus (*receive_objects_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *calobj);
-       ECalBackendSyncStatus (*send_objects_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *calobj);
-
-       ECalBackendSyncStatus (*get_default_object_sync)  (ECalBackendSync *backend, EDataCal *cal, char **object);
-       ECalBackendSyncStatus (*get_object_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *uid, const char *rid, char **object);
-       ECalBackendSyncStatus (*get_object_list_sync)  (ECalBackendSync *backend, EDataCal *cal, const char *sexp, GList **objects);
-
-       ECalBackendSyncStatus (*get_timezone_sync) (ECalBackendSync *backend, EDataCal *cal, const char *tzid, char **object);
-       ECalBackendSyncStatus (*add_timezone_sync) (ECalBackendSync *backend, EDataCal *cal, const char *tzobj);
-       ECalBackendSyncStatus (*set_default_timezone_sync) (ECalBackendSync *backend, EDataCal *cal, const char *tzid);
-
-       ECalBackendSyncStatus (*get_changes_sync) (ECalBackendSync *backend, EDataCal *cal, const char *change_id, GList **adds, GList **modifies, GList **deletes);
-       ECalBackendSyncStatus (*get_freebusy_sync) (ECalBackendSync *backend, EDataCal *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);
-
+       void    (* open_sync)                   (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, gboolean only_if_exists, GError **error);
+       void    (* remove_sync)                 (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
+
+       void    (* refresh_sync)                (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
+       gboolean (* get_backend_property_sync)  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error);
+       gboolean (* set_backend_property_sync)  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, const gchar *prop_value, GError **error);
+       void    (* get_object_sync)             (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, gchar **calobj, GError **error);
+       void    (* get_object_list_sync)        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *sexp, GSList **calobjs, GError **error);
+       void    (* get_free_busy_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *users, time_t start, time_t end, GSList **freebusyobjs, GError **error);
+       void    (* create_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, GSList **uids, GSList **new_components, GError **error);
+       void    (* modify_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
+       void    (* remove_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *ids, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
+       void    (* receive_objects_sync)        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GError **error);
+       void    (* send_objects_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GSList **users, gchar **modified_calobj, GError **error);
+       void    (* get_attachment_uris_sync)    (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, GSList **attachments, GError **error);
+       void    (* discard_alarm_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, const gchar *auid, GError **error);
+       void    (* get_timezone_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzid, gchar **tzobject, GError **error);
+       void    (* add_timezone_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzobject, GError **error);
 };
 
-typedef ECalBackendSync * (*ECalBackendSyncFactoryFn) (void);
-GType                e_cal_backend_sync_get_type                (void);
-ECalBackendSyncStatus e_cal_backend_sync_is_read_only            (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              gboolean        *read_only);
-ECalBackendSyncStatus e_cal_backend_sync_get_cal_address         (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              char           **address);
-ECalBackendSyncStatus e_cal_backend_sync_get_alarm_email_address (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              char           **address);
-ECalBackendSyncStatus e_cal_backend_sync_get_ldap_attribute      (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              char           **attribute);
-ECalBackendSyncStatus e_cal_backend_sync_get_static_capabilities (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              char           **capabiliites);
-ECalBackendSyncStatus e_cal_backend_sync_open                    (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              gboolean         only_if_exists);
-ECalBackendSyncStatus e_cal_backend_sync_remove                  (ECalBackendSync  *backend,
-                                                              EDataCal             *cal);
-ECalBackendSyncStatus e_cal_backend_sync_create_object           (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *calobj,
-                                                              char           **uid);
-ECalBackendSyncStatus e_cal_backend_sync_modify_object           (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *calobj,
-                                                              CalObjModType    mod,
-                                                              char           **old_object);
-ECalBackendSyncStatus e_cal_backend_sync_remove_object           (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *uid,
-                                                              const char      *rid,
-                                                              CalObjModType    mod,
-                                                              char **object);
-ECalBackendSyncStatus e_cal_backend_sync_discard_alarm (ECalBackendSync *backend, EDataCal *cal, const char *uid, const char *auid);
-
-ECalBackendSyncStatus e_cal_backend_sync_receive_objects         (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *calobj);
-ECalBackendSyncStatus e_cal_backend_sync_send_objects            (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *calobj);
-ECalBackendSyncStatus e_cal_backend_sync_get_default_object         (ECalBackendSync  *backend,
-                                                                EDataCal             *cal,
-                                                                char           **object);
-
-ECalBackendSyncStatus e_cal_backend_sync_get_object         (ECalBackendSync  *backend,
-                                                         EDataCal             *cal,
-                                                         const char *uid,
-                                                         const char *rid,
-                                                         char           **object);
-
-ECalBackendSyncStatus e_cal_backend_sync_get_object_list         (ECalBackendSync  *backend,
-                                                              EDataCal             *cal,
-                                                              const char      *sexp,
-                                                              GList          **objects);
-
-ECalBackendSyncStatus e_cal_backend_sync_get_timezone (ECalBackendSync *backend, EDataCal *cal, const char *tzid, char **object);
-ECalBackendSyncStatus e_cal_backend_sync_add_timezone (ECalBackendSync *backend, EDataCal *cal, const char *tzobj);
-ECalBackendSyncStatus e_cal_backend_sync_set_default_timezone (ECalBackendSync *backend, EDataCal *cal, const char *tzid);
-
-ECalBackendSyncStatus e_cal_backend_sync_get_changes (ECalBackendSync *backend, EDataCal *cal, const char *change_id, GList **adds, GList **modifies, GList **deletes);
-ECalBackendSyncStatus e_cal_backend_sync_get_free_busy (ECalBackendSync *backend, EDataCal *cal, GList *users, time_t start, time_t end, GList **freebusy);
+GType  e_cal_backend_sync_get_type             (void);
+
+void   e_cal_backend_sync_set_lock             (ECalBackendSync *backend, gboolean lock);
+
+void   e_cal_backend_sync_open                 (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, gboolean only_if_exists, GError **error);
+void   e_cal_backend_sync_remove               (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
+void   e_cal_backend_sync_refresh              (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
+gboolean e_cal_backend_sync_get_backend_property (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error);
+gboolean e_cal_backend_sync_set_backend_property (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, const gchar *prop_value, GError **error);
+void   e_cal_backend_sync_get_object           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, gchar **calobj, GError **error);
+void   e_cal_backend_sync_get_object_list      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *sexp, GSList **calobjs, GError **error);
+void   e_cal_backend_sync_get_free_busy        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *users, time_t start, time_t end, GSList **freebusyobjects, GError **error);
+void   e_cal_backend_sync_create_objects       (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, GSList **uids, GSList **new_components, GError **error);
+void   e_cal_backend_sync_modify_objects       (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
+void   e_cal_backend_sync_remove_objects       (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *ids, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
+void   e_cal_backend_sync_receive_objects      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GError **error);
+void   e_cal_backend_sync_send_objects         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GSList **users, gchar **modified_calobj, GError **error);
+void   e_cal_backend_sync_get_attachment_uris  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, GSList **attachments, GError **error);
+void   e_cal_backend_sync_discard_alarm        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, const gchar *auid, GError **error);
+void   e_cal_backend_sync_get_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzid, gchar **tzobject, GError **error);
+void   e_cal_backend_sync_add_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzobject, GError **error);
 
 G_END_DECLS
 
-#endif /* __E_CAL_BACKEND_SYNC_H__ */
+#endif /* __E_CAL_BACKEND_SYNC_H__ */