1 /* 2 * e-source-local.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_LOCAL_H 23 #define E_SOURCE_LOCAL_H 24 25 #include <libedataserver/e-source-extension.h> 26 27 /* Standard GObject macros */ 28 #define E_TYPE_SOURCE_LOCAL \ 29 (e_source_local_get_type ()) 30 #define E_SOURCE_LOCAL(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST \ 32 ((obj), E_TYPE_SOURCE_LOCAL, ESourceLocal)) 33 #define E_SOURCE_LOCAL_CLASS(cls) \ 34 (G_TYPE_CHECK_CLASS_CAST \ 35 ((cls), E_TYPE_SOURCE_LOCAL, ESourceLocalClass)) 36 #define E_IS_SOURCE_LOCAL(obj) \ 37 (G_TYPE_CHECK_INSTANCE_TYPE \ 38 ((obj), E_TYPE_SOURCE_LOCAL)) 39 #define E_IS_SOURCE_LOCAL_CLASS(cls) \ 40 (G_TYPE_CHECK_CLASS_TYPE \ 41 ((cls), E_TYPE_SOURCE_LOCAL)) 42 #define E_SOURCE_LOCAL_GET_CLASS(obj) \ 43 (G_TYPE_INSTANCE_GET_CLASS \ 44 ((obj), E_TYPE_SOURCE_LOCAL, ESourceLocalClass)) 45 46 /** 47 * E_SOURCE_EXTENSION_LOCAL_BACKEND: 48 * 49 * Pass this extension name to e_source_get_extension() to access 50 * #ESourceLocal. This is also used as a group name in key files. 51 * 52 * Since: 3.18 53 **/ 54 #define E_SOURCE_EXTENSION_LOCAL_BACKEND "Local Backend" 55 56 G_BEGIN_DECLS 57 58 typedef struct _ESourceLocal ESourceLocal; 59 typedef struct _ESourceLocalClass ESourceLocalClass; 60 typedef struct _ESourceLocalPrivate ESourceLocalPrivate; 61 62 struct _ESourceLocal { 63 /*< private >*/ 64 ESourceExtension parent; 65 ESourceLocalPrivate *priv; 66 }; 67 68 struct _ESourceLocalClass { 69 ESourceExtensionClass parent_class; 70 }; 71 72 GType e_source_local_get_type (void); 73 GFile * e_source_local_get_custom_file (ESourceLocal *extension); 74 GFile * e_source_local_dup_custom_file (ESourceLocal *extension); 75 void e_source_local_set_custom_file (ESourceLocal *extension, 76 GFile *custom_file); 77 gboolean e_source_local_get_writable (ESourceLocal *extension); 78 void e_source_local_set_writable (ESourceLocal *extension, 79 gboolean writable); 80 const gchar * e_source_local_get_email_address(ESourceLocal *extension); 81 gchar * e_source_local_dup_email_address(ESourceLocal *extension); 82 void e_source_local_set_email_address(ESourceLocal *extension, 83 const gchar *email_address); 84 G_END_DECLS 85 86 #endif /* E_SOURCE_LOCAL_H */ 87