1 /* 2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client 3 * Copyright (C) 1999-2012 Hiroyuki Yamamoto and 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 __ACCOUNT_H__ 21 #define __ACCOUNT_H__ 22 23 #include <glib.h> 24 25 #include "prefs_gtk.h" 26 #include "prefs_account.h" 27 #include "folder.h" 28 29 typedef gint (*AccountFunc) (PrefsAccount *ac_prefs, 30 gpointer user_data); 31 32 typedef struct { 33 const gchar *user; 34 const gchar *server; 35 const gchar *protocol; 36 guint16 port; 37 38 gchar *password; 39 } PasswordRequest; 40 41 #define PASSWORD_GET_HOOKLIST "password_get_hooklist" 42 43 extern PrefsAccount *cur_account; 44 45 PrefsAccount *account_get_cur_account (void); 46 void account_read_config_all (void); 47 void account_write_config_all (void); 48 49 GList *account_find_all_from_address (GList *ac_list, 50 const gchar *address); 51 GList *account_find_all (void); 52 PrefsAccount *account_find_from_smtp_server (const gchar *address, 53 const gchar *smtp_server); 54 PrefsAccount *account_find_from_address (const gchar *address, gboolean newsgroups_ok); 55 PrefsAccount *account_find_from_id (gint id); 56 PrefsAccount *account_find_from_item (FolderItem *item); 57 58 void account_set_menu_only_toolbar (void); 59 60 GList *account_get_list (void); 61 62 void account_edit_open (gpointer a, gpointer b); 63 void account_add (void); 64 void account_open (PrefsAccount *ac_prefs, gboolean called_from_acc_list); 65 void account_set_as_recv_at_get_all (PrefsAccount *ac_prefs); 66 PrefsAccount *account_get_default (void); 67 68 void account_set_missing_folder(void); 69 FolderItem *account_get_special_folder(PrefsAccount *ac_prefs, 70 SpecialFolderItemType type); 71 72 PrefsAccount *account_get_reply_account (MsgInfo *msginfo, 73 gboolean reply_autosel); 74 void account_rename_path (const gchar *old_id, 75 const gchar *new_id); 76 gchar *account_get_signature_str(PrefsAccount *account); 77 78 gboolean password_get(const gchar *user, 79 const gchar *server, 80 const gchar *protocol, 81 guint16 port, 82 gchar **password); 83 84 void account_sigsep_matchlist_create (void); 85 void account_sigsep_matchlist_delete (void); 86 gboolean account_sigsep_matchlist_str_found (const gchar *str, const gchar *format); 87 gboolean account_sigsep_matchlist_nchar_found (const gchar *str, const gchar *format); 88 89 #endif /* __ACCOUNT_H__ */ 90