1 /* 2 * e-source-webdav.h 3 * 4 * This library is free software: you can redistribute it and/or modify it 5 * under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation. 7 * 8 * This library is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 11 * for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this library. If not, see <http://www.gnu.org/licenses/>. 15 * 16 */ 17 18 #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION) 19 #error "Only <libedataserver/libedataserver.h> should be included directly." 20 #endif 21 22 #ifndef E_SOURCE_WEBDAV_H 23 #define E_SOURCE_WEBDAV_H 24 25 #include <gio/gio.h> 26 #include <libsoup/soup.h> 27 #include <libedataserver/e-source-enums.h> 28 #include <libedataserver/e-source-extension.h> 29 30 /* Standard GObject macros */ 31 #define E_TYPE_SOURCE_WEBDAV \ 32 (e_source_webdav_get_type ()) 33 #define E_SOURCE_WEBDAV(obj) \ 34 (G_TYPE_CHECK_INSTANCE_CAST \ 35 ((obj), E_TYPE_SOURCE_WEBDAV, ESourceWebdav)) 36 #define E_SOURCE_WEBDAV_CLASS(cls) \ 37 (G_TYPE_CHECK_CLASS_CAST \ 38 ((cls), E_TYPE_SOURCE_WEBDAV, ESourceWebdavClass)) 39 #define E_IS_SOURCE_WEBDAV(obj) \ 40 (G_TYPE_CHECK_INSTANCE_TYPE \ 41 ((obj), E_TYPE_SOURCE_WEBDAV)) 42 #define E_IS_SOURCE_WEBDAV_CLASS(cls) \ 43 (G_TYPE_CHECK_CLASS_TYPE \ 44 ((cls), E_TYPE_SOURCE_WEBDAV)) 45 #define E_SOURCE_WEBDAV_GET_CLASS(obj) \ 46 (G_TYPE_INSTANCE_GET_CLASS \ 47 ((obj), E_TYPE_SOURCE_WEBDAV, ESourceWebdavClass)) 48 49 /** 50 * E_SOURCE_EXTENSION_WEBDAV_BACKEND: 51 * 52 * Pass this extension name to e_source_get_extension() to access 53 * #ESourceWebdav. This is also used as a group name in key files. 54 * 55 * Since: 3.6 56 **/ 57 #define E_SOURCE_EXTENSION_WEBDAV_BACKEND "WebDAV Backend" 58 59 G_BEGIN_DECLS 60 61 /* forward declaration */ 62 struct _ENamedParameters; 63 struct _ESourceRegistry; 64 65 typedef struct _ESourceWebdav ESourceWebdav; 66 typedef struct _ESourceWebdavClass ESourceWebdavClass; 67 typedef struct _ESourceWebdavPrivate ESourceWebdavPrivate; 68 69 /** 70 * ESourceWebdav: 71 * 72 * Contains only private data that should be read and manipulated using the 73 * functions below. 74 * 75 * Since: 3.6 76 **/ 77 struct _ESourceWebdav { 78 /*< private >*/ 79 ESourceExtension parent; 80 ESourceWebdavPrivate *priv; 81 }; 82 83 struct _ESourceWebdavClass { 84 ESourceExtensionClass parent_class; 85 }; 86 87 GType e_source_webdav_get_type (void) G_GNUC_CONST; 88 gboolean e_source_webdav_get_avoid_ifmatch 89 (ESourceWebdav *extension); 90 void e_source_webdav_set_avoid_ifmatch 91 (ESourceWebdav *extension, 92 gboolean avoid_ifmatch); 93 gboolean e_source_webdav_get_calendar_auto_schedule 94 (ESourceWebdav *extension); 95 void e_source_webdav_set_calendar_auto_schedule 96 (ESourceWebdav *extension, 97 gboolean calendar_auto_schedule); 98 const gchar * e_source_webdav_get_display_name 99 (ESourceWebdav *extension); 100 gchar * e_source_webdav_dup_display_name 101 (ESourceWebdav *extension); 102 void e_source_webdav_set_display_name 103 (ESourceWebdav *extension, 104 const gchar *display_name); 105 const gchar * e_source_webdav_get_color (ESourceWebdav *extension); 106 gchar * e_source_webdav_dup_color (ESourceWebdav *extension); 107 void e_source_webdav_set_color (ESourceWebdav *extension, 108 const gchar *color); 109 const gchar * e_source_webdav_get_email_address 110 (ESourceWebdav *extension); 111 gchar * e_source_webdav_dup_email_address 112 (ESourceWebdav *extension); 113 void e_source_webdav_set_email_address 114 (ESourceWebdav *extension, 115 const gchar *email_address); 116 const gchar * e_source_webdav_get_resource_path 117 (ESourceWebdav *extension); 118 gchar * e_source_webdav_dup_resource_path 119 (ESourceWebdav *extension); 120 void e_source_webdav_set_resource_path 121 (ESourceWebdav *extension, 122 const gchar *resource_path); 123 const gchar * e_source_webdav_get_resource_query 124 (ESourceWebdav *extension); 125 gchar * e_source_webdav_dup_resource_query 126 (ESourceWebdav *extension); 127 void e_source_webdav_set_resource_query 128 (ESourceWebdav *extension, 129 const gchar *resource_query); 130 const gchar * e_source_webdav_get_ssl_trust (ESourceWebdav *extension); 131 gchar * e_source_webdav_dup_ssl_trust (ESourceWebdav *extension); 132 void e_source_webdav_set_ssl_trust (ESourceWebdav *extension, 133 const gchar *ssl_trust); 134 SoupURI * e_source_webdav_dup_soup_uri (ESourceWebdav *extension); 135 void e_source_webdav_set_soup_uri (ESourceWebdav *extension, 136 SoupURI *soup_uri); 137 void e_source_webdav_update_ssl_trust 138 (ESourceWebdav *extension, 139 const gchar *host, 140 GTlsCertificate *cert, 141 ETrustPromptResponse response); 142 ETrustPromptResponse 143 e_source_webdav_verify_ssl_trust 144 (ESourceWebdav *extension, 145 const gchar *host, 146 GTlsCertificate *cert, 147 GTlsCertificateFlags cert_errors); 148 void e_source_webdav_unset_temporary_ssl_trust 149 (ESourceWebdav *extension); 150 ETrustPromptResponse 151 e_source_webdav_get_ssl_trust_response 152 (ESourceWebdav *extension); 153 void e_source_webdav_set_ssl_trust_response 154 (ESourceWebdav *extension, 155 ETrustPromptResponse response); 156 guint e_source_webdav_get_order (ESourceWebdav *extension); 157 void e_source_webdav_set_order (ESourceWebdav *extension, 158 guint order); 159 160 G_END_DECLS 161 162 #endif /* E_SOURCE_WEBDAV_H */ 163