Add new ESource classes.
[platform/upstream/evolution-data-server.git] / libedataserver / e-source-webdav.h
1 /*
2  * e-source-webdav.h
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) version 3.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with the program; if not, see <http://www.gnu.org/licenses/>
16  *
17  */
18
19 #ifndef E_SOURCE_WEBDAV_H
20 #define E_SOURCE_WEBDAV_H
21
22 #include <libsoup/soup.h>
23 #include <libedataserver/e-source-extension.h>
24
25 /* Standard GObject macros */
26 #define E_TYPE_SOURCE_WEBDAV \
27         (e_source_webdav_get_type ())
28 #define E_SOURCE_WEBDAV(obj) \
29         (G_TYPE_CHECK_INSTANCE_CAST \
30         ((obj), E_TYPE_SOURCE_WEBDAV, ESourceWebdav))
31 #define E_SOURCE_WEBDAV_CLASS(cls) \
32         (G_TYPE_CHECK_CLASS_CAST \
33         ((cls), E_TYPE_SOURCE_WEBDAV, ESourceWebdavClass))
34 #define E_IS_SOURCE_WEBDAV(obj) \
35         (G_TYPE_CHECK_INSTANCE_TYPE \
36         ((obj), E_TYPE_SOURCE_WEBDAV))
37 #define E_IS_SOURCE_WEBDAV_CLASS(cls) \
38         (G_TYPE_CHECK_CLASS_TYPE \
39         ((cls), E_TYPE_SOURCE_WEBDAV))
40 #define E_SOURCE_WEBDAV_GET_CLASS(obj) \
41         (G_TYPE_INSTANCE_GET_CLASS \
42         ((obj), E_TYPE_SOURCE_WEBDAV, ESourceWebdavClass))
43
44 /**
45  * E_SOURCE_EXTENSION_WEBDAV_BACKEND:
46  *
47  * Pass this extension name to e_source_get_extension() to access
48  * #ESourceWebdav.  This is also used as a group name in key files.
49  *
50  * Since: 3.6
51  **/
52 #define E_SOURCE_EXTENSION_WEBDAV_BACKEND "WebDAV Backend"
53
54 G_BEGIN_DECLS
55
56 typedef struct _ESourceWebdav ESourceWebdav;
57 typedef struct _ESourceWebdavClass ESourceWebdavClass;
58 typedef struct _ESourceWebdavPrivate ESourceWebdavPrivate;
59
60 /**
61  * ESourceWebdav:
62  *
63  * Contains only private data that should be read and manipulated using the
64  * functions below.
65  *
66  * Since: 3.6
67  **/
68 struct _ESourceWebdav {
69         ESourceExtension parent;
70         ESourceWebdavPrivate *priv;
71 };
72
73 struct _ESourceWebdavClass {
74         ESourceExtensionClass parent_class;
75 };
76
77 GType           e_source_webdav_get_type        (void) G_GNUC_CONST;
78 gboolean        e_source_webdav_get_avoid_ifmatch
79                                                 (ESourceWebdav *extension);
80 void            e_source_webdav_set_avoid_ifmatch
81                                                 (ESourceWebdav *extension,
82                                                  gboolean avoid_ifmatch);
83 gboolean        e_source_webdav_get_calendar_auto_schedule
84                                                 (ESourceWebdav *extension);
85 void            e_source_webdav_set_calendar_auto_schedule
86                                                 (ESourceWebdav *extension,
87                                                  gboolean calendar_auto_schedule);
88 const gchar *   e_source_webdav_get_display_name
89                                                 (ESourceWebdav *extension);
90 gchar *         e_source_webdav_dup_display_name
91                                                 (ESourceWebdav *extension);
92 void            e_source_webdav_set_display_name
93                                                 (ESourceWebdav *extension,
94                                                  const gchar *display_name);
95 const gchar *   e_source_webdav_get_email_address
96                                                 (ESourceWebdav *extension);
97 gchar *         e_source_webdav_dup_email_address
98                                                 (ESourceWebdav *extension);
99 void            e_source_webdav_set_email_address
100                                                 (ESourceWebdav *extension,
101                                                  const gchar *email_address);
102 gboolean        e_source_webdav_get_ignore_invalid_cert
103                                                 (ESourceWebdav *extension);
104 void            e_source_webdav_set_ignore_invalid_cert
105                                                 (ESourceWebdav *extension,
106                                                  gboolean ignore_invalid_cert);
107 const gchar *   e_source_webdav_get_resource_path
108                                                 (ESourceWebdav *extension);
109 gchar *         e_source_webdav_dup_resource_path
110                                                 (ESourceWebdav *extension);
111 void            e_source_webdav_set_resource_path
112                                                 (ESourceWebdav *extension,
113                                                  const gchar *resource_path);
114 SoupURI *       e_source_webdav_dup_soup_uri    (ESourceWebdav *extension);
115 void            e_source_webdav_set_soup_uri    (ESourceWebdav *extension,
116                                                  SoupURI *uri);
117
118 G_END_DECLS
119
120 #endif /* E_SOURCE_WEBDAV_H */