Including <glib.h> directly is rarely needed.
[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_object_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, gchar **uid, gchar **new_object, GError **error);
43         void    (* modify_object_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, CalObjModType mod, gchar **old_object, gchar **new_object, GError **error);
44         void    (* remove_object_sync)          (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, CalObjModType mod, gchar **old_object, gchar **new_object, 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         void    (* authenticate_user_sync)      (ECalBackendSync *backend, GCancellable *cancellable, ECredentials *credentials, GError **error);
53 };
54
55 GType   e_cal_backend_sync_get_type             (void);
56
57 void    e_cal_backend_sync_set_lock             (ECalBackendSync *backend, gboolean lock);
58
59 void    e_cal_backend_sync_open                 (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, gboolean only_if_exists, GError **error);
60 void    e_cal_backend_sync_remove               (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
61 void    e_cal_backend_sync_refresh              (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, GError **error);
62 gboolean e_cal_backend_sync_get_backend_property(ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error);
63 gboolean e_cal_backend_sync_set_backend_property(ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, const gchar *prop_value, GError **error);
64 void    e_cal_backend_sync_get_object           (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, gchar **calobj, GError **error);
65 void    e_cal_backend_sync_get_object_list      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *sexp, GSList **calobjs, GError **error);
66 void    e_cal_backend_sync_get_free_busy        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const GSList *users, time_t start, time_t end, GSList **freebusyobjs, GError **error);
67 void    e_cal_backend_sync_create_object        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, gchar **uid, gchar **new_object, GError **error);
68 void    e_cal_backend_sync_modify_object        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, CalObjModType mod, gchar **old_object, gchar **new_object, GError **error);
69 void    e_cal_backend_sync_remove_object        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, CalObjModType mod, gchar **old_object, gchar **new_object, GError **error);
70 void    e_cal_backend_sync_receive_objects      (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GError **error);
71 void    e_cal_backend_sync_send_objects         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, GSList **users, gchar **modified_calobj, GError **error);
72 void    e_cal_backend_sync_get_attachment_uris  (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, GSList **attachments, GError **error);
73 void    e_cal_backend_sync_discard_alarm        (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *uid, const gchar *rid, const gchar *auid, GError **error);
74 void    e_cal_backend_sync_get_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzid, gchar **tzobject, GError **error);
75 void    e_cal_backend_sync_add_timezone         (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *tzobject, GError **error);
76
77 void    e_cal_backend_sync_authenticate_user    (ECalBackendSync *backend, GCancellable *cancellable, ECredentials *credentials, GError **error);
78
79 G_END_DECLS
80
81 #endif /* __E_CAL_BACKEND_SYNC_H__ */