1 /* 2 * e-source-openpgp.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_OPENPGP_H 23 #define E_SOURCE_OPENPGP_H 24 25 #include <libedataserver/e-source-extension.h> 26 27 /* Standard GObject macros */ 28 #define E_TYPE_SOURCE_OPENPGP \ 29 (e_source_openpgp_get_type ()) 30 #define E_SOURCE_OPENPGP(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST \ 32 ((obj), E_TYPE_SOURCE_OPENPGP, ESourceOpenPGP)) 33 #define E_SOURCE_OPENPGP_CLASS(cls) \ 34 (G_TYPE_CHECK_CLASS_CAST \ 35 ((cls), E_TYPE_SOURCE_OPENPGP, ESourceOpenPGPClass)) 36 #define E_IS_SOURCE_OPENPGP(obj) \ 37 (G_TYPE_CHECK_INSTANCE_TYPE \ 38 ((obj), E_TYPE_SOURCE_OPENPGP)) 39 #define E_IS_SOURCE_OPENPGP_CLASS(cls) \ 40 (G_TYPE_CHECK_CLASS_TYPE \ 41 ((cls), E_TYPE_SOURCE_OPENPGP)) 42 #define E_SOURCE_OPENPGP_GET_CLASS(obj) \ 43 (G_TYPE_INSTANCE_GET_CLASS \ 44 ((obj), E_TYPE_SOURCE_OPENPGP, ESourceOpenPGPClass)) 45 46 /** 47 * E_SOURCE_EXTENSION_OPENPGP: 48 * 49 * Pass this extension name to e_source_get_extension() to access 50 * #ESourceOpenPGP. This is also used as a group name in key files. 51 * 52 * Since: 3.6 53 **/ 54 #define E_SOURCE_EXTENSION_OPENPGP "Pretty Good Privacy (OpenPGP)" 55 56 G_BEGIN_DECLS 57 58 typedef struct _ESourceOpenPGP ESourceOpenPGP; 59 typedef struct _ESourceOpenPGPClass ESourceOpenPGPClass; 60 typedef struct _ESourceOpenPGPPrivate ESourceOpenPGPPrivate; 61 62 /** 63 * ESourceOpenPGP: 64 * 65 * Contains only private data that should be read and manipulated using the 66 * functions below. 67 * 68 * Since: 3.6 69 **/ 70 struct _ESourceOpenPGP { 71 /*< private >*/ 72 ESourceExtension parent; 73 ESourceOpenPGPPrivate *priv; 74 }; 75 76 struct _ESourceOpenPGPClass { 77 ESourceExtensionClass parent_class; 78 }; 79 80 GType e_source_openpgp_get_type (void) G_GNUC_CONST; 81 gboolean e_source_openpgp_get_always_trust 82 (ESourceOpenPGP *extension); 83 void e_source_openpgp_set_always_trust 84 (ESourceOpenPGP *extension, 85 gboolean always_trust); 86 gboolean e_source_openpgp_get_encrypt_to_self 87 (ESourceOpenPGP *extension); 88 void e_source_openpgp_set_encrypt_to_self 89 (ESourceOpenPGP *extension, 90 gboolean encrypt_to_self); 91 const gchar * e_source_openpgp_get_key_id (ESourceOpenPGP *extension); 92 gchar * e_source_openpgp_dup_key_id (ESourceOpenPGP *extension); 93 void e_source_openpgp_set_key_id (ESourceOpenPGP *extension, 94 const gchar *key_id); 95 const gchar * e_source_openpgp_get_signing_algorithm 96 (ESourceOpenPGP *extension); 97 gchar * e_source_openpgp_dup_signing_algorithm 98 (ESourceOpenPGP *extension); 99 void e_source_openpgp_set_signing_algorithm 100 (ESourceOpenPGP *extension, 101 const gchar *signing_algorithm); 102 gboolean e_source_openpgp_get_sign_by_default 103 (ESourceOpenPGP *extension); 104 void e_source_openpgp_set_sign_by_default 105 (ESourceOpenPGP *extension, 106 gboolean sign_by_default); 107 gboolean e_source_openpgp_get_encrypt_by_default 108 (ESourceOpenPGP *extension); 109 void e_source_openpgp_set_encrypt_by_default 110 (ESourceOpenPGP *extension, 111 gboolean encrypt_by_default); 112 gboolean e_source_openpgp_get_prefer_inline 113 (ESourceOpenPGP *extension); 114 void e_source_openpgp_set_prefer_inline 115 (ESourceOpenPGP *extension, 116 gboolean prefer_inline); 117 118 G_END_DECLS 119 120 #endif /* E_SOURCE_OPENPGP_H */ 121 122