1 /* 2 * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client 3 * Copyright (C) 2004-2015 the Claws Mail team 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef GPGMEGTK_PREFS_GPG_H 21 #define GPGMEGTK_PREFS_GPG_H 22 23 typedef struct GPGConfig GPGConfig; 24 typedef struct GPGAccountConfig GPGAccountConfig; 25 26 typedef enum { 27 SIGN_KEY_DEFAULT, 28 SIGN_KEY_BY_FROM, 29 SIGN_KEY_CUSTOM 30 } SignKeyType; 31 32 #include "prefs_account.h" 33 34 struct GPGConfig 35 { 36 gboolean auto_check_signatures; 37 gboolean autocompletion; 38 gint autocompletion_limit; 39 gboolean use_gpg_agent; 40 gboolean store_passphrase; 41 gint store_passphrase_timeout; 42 gboolean passphrase_grab; 43 gboolean gpg_warning; 44 gboolean gpg_ask_create_key; 45 gchar *skip_encryption_warning; 46 gchar *gpg_path; 47 }; 48 49 struct GPGAccountConfig 50 { 51 SignKeyType sign_key; 52 gchar *sign_key_id; 53 SignKeyType smime_sign_key; 54 gchar *smime_sign_key_id; 55 }; 56 57 void prefs_gpg_init(void); 58 void prefs_gpg_done(void); 59 void prefs_gpg_save_config(void); 60 struct GPGConfig *prefs_gpg_get_config(void); 61 struct GPGAccountConfig *prefs_gpg_account_get_config(PrefsAccount *account); 62 void prefs_gpg_account_set_config(PrefsAccount *account, GPGAccountConfig *config); 63 void prefs_gpg_account_free_config(GPGAccountConfig *config); 64 void prefs_gpg_enable_agent(gboolean enable); 65 void prefs_gpg_add_skip_encryption_warning(const gchar *systemid); 66 void prefs_gpg_remove_skip_encryption_warning(const gchar *systemid); 67 gboolean prefs_gpg_should_skip_encryption_warning(const gchar *systemid); 68 gboolean prefs_gpg_auto_check_signatures(void); 69 70 #endif /* GPGMEGTK_PREFS_GPG_H */ 71