Adapt libedata-cal to the new ESource API.
[platform/upstream/evolution-data-server.git] / calendar / libedata-cal / e-cal-backend-sync.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  */
4
5 #ifndef __E_CAL_BACKEND_SYNC_H__
6 #define __E_CAL_BACKEND_SYNC_H__
7
8 #include <libedata-cal/e-cal-backend.h>
9
10 G_BEGIN_DECLS
11
12 #define E_TYPE_CAL_BACKEND_SYNC         (e_cal_backend_sync_get_type ())
13 #define E_CAL_BACKEND_SYNC(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_CAL_BACKEND_SYNC, ECalBackendSync))
14 #define E_CAL_BACKEND_SYNC_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), E_TYPE_CAL_BACKEND_SYNC, ECalBackendSyncClass))
15 #define E_IS_CAL_BACKEND_SYNC(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_CAL_BACKEND_SYNC))
16 #define E_IS_CAL_BACKEND_SYNC_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_CAL_BACKEND_SYNC))
17 #define E_CAL_BACKEND_SYNC_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((k), E_TYPE_CAL_BACKEND_SYNC, ECalBackendSyncClass))
18
19 typedef struct _ECalBackendSync ECalBackendSync;
20 typedef struct _ECalBackendSyncClass ECalBackendSyncClass;
21 typedef struct _ECalBackendSyncPrivate ECalBackendSyncPrivate;
22
23 struct _ECalBackendSync {
24         ECalBackend parent_object;
25
26         ECalBackendSyncPrivate *priv;
27 };
28
29 struct _ECalBackendSyncClass {
30         ECalBackendClass parent_class;
31
32         /* Virtual methods */
33         void    (* open_sync)                   (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, gboolean only_if_exists, GError **error);
34         void    (* remove_sync)                 (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
35
36         void    (* refresh_sync)                (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
37         gboolean (* get_backend_property_sync)  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error);
38         gboolean (* set_backend_property_sync)  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, const gchar *prop_value, GError **error);
39         void    (* get_object_sync)             (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, gchar **calobj, GError **error);
40         void    (* get_object_list_sync)        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *sexp, GSList **calobjs, GError **error);
41         void    (* get_free_busy_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *users, time_t start, time_t end, GSList **freebusyobjs, GError **error);
42         void    (* create_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, GSList **uids, GSList **new_components, GError **error);
43         void    (* modify_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
44         void    (* remove_objects_sync)         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *ids, CalObjModType mod, GSList **old_components, GSList **new_components, GError **error);
45         void    (* receive_objects_sync)        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GError **error);
46         void    (* send_objects_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GSList **users, gchar **modified_calobj, GError **error);
47         void    (* get_attachment_uris_sync)    (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, GSList **attachments, GError **error);
48         void    (* discard_alarm_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, const gchar *auid, GError **error);
49         void    (* get_timezone_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzid, gchar **tzobject, GError **error);
50         void    (* add_timezone_sync)           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzobject, GError **error);
51 };
52
53 GType   e_cal_backend_sync_get_type             (void);
54
55 void    e_cal_backend_sync_set_lock             (ECalBackendSync *backend, gboolean lock);
56
57 void    e_cal_backend_sync_open                 (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, gboolean only_if_exists, GError **error);
58 void    e_cal_backend_sync_remove               (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
59 void    e_cal_backend_sync_refresh              (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
60 gboolean e_cal_backend_sync_get_backend_property (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error);
61 gboolean e_cal_backend_sync_set_backend_property (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, const gchar *prop_value, GError **error);
62 void    e_cal_backend_sync_get_object           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, gchar **calobj, GError **error);
63 void    e_cal_backend_sync_get_object_list      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *sexp, GSList **calobjs, GError **error);
64 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);
65 void    e_cal_backend_sync_create_objects       (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *calobjs, GSList **uids, GSList **new_components, GError **error);
66 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);
67 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);
68 void    e_cal_backend_sync_receive_objects      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GError **error);
69 void    e_cal_backend_sync_send_objects         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GSList **users, gchar **modified_calobj, GError **error);
70 void    e_cal_backend_sync_get_attachment_uris  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, GSList **attachments, GError **error);
71 void    e_cal_backend_sync_discard_alarm        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, const gchar *auid, GError **error);
72 void    e_cal_backend_sync_get_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzid, gchar **tzobject, GError **error);
73 void    e_cal_backend_sync_add_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzobject, GError **error);
74
75 G_END_DECLS
76
77 #endif /* __E_CAL_BACKEND_SYNC_H__ */