2 * e-source-mail-account.h
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.
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
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/>.
18 #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
19 #error "Only <libedataserver/libedataserver.h> should be included directly."
22 #ifndef E_SOURCE_MAIL_ACCOUNT_H
23 #define E_SOURCE_MAIL_ACCOUNT_H
25 #include <libedataserver/e-source-backend.h>
27 /* Standard GObject macros */
28 #define E_TYPE_SOURCE_MAIL_ACCOUNT \
29 (e_source_mail_account_get_type ())
30 #define E_SOURCE_MAIL_ACCOUNT(obj) \
31 (G_TYPE_CHECK_INSTANCE_CAST \
32 ((obj), E_TYPE_SOURCE_MAIL_ACCOUNT, ESourceMailAccount))
33 #define E_SOURCE_MAIL_ACCOUNT_CLASS(cls) \
34 (G_TYPE_CHECK_CLASS_CAST \
35 ((cls), E_TYPE_SOURCE_MAIL_ACCOUNT, ESourceMailAccountClass))
36 #define E_IS_SOURCE_MAIL_ACCOUNT(obj) \
37 (G_TYPE_CHECK_INSTANCE_TYPE \
38 ((obj), E_TYPE_SOURCE_MAIL_ACCOUNT))
39 #define E_IS_SOURCE_MAIL_ACCOUNT_CLASS(cls) \
40 (G_TYPE_CHECK_CLASS_TYPE \
41 ((cls), E_TYPE_SOURCE_MAIL_ACCOUNT))
42 #define E_SOURCE_MAIL_ACCOUNT_GET_CLASS(obj) \
43 (G_TYPE_INSTANCE_GET_CLASS \
44 ((obj), E_TYPE_SOURCE_MAIL_ACCOUNT, ESourceMailAccountClass))
47 * E_SOURCE_EXTENSION_MAIL_ACCOUNT:
49 * Pass this extension name to e_source_get_extension() to access
50 * #ESourceMailAccount. This is also used as a group name in key files.
54 #define E_SOURCE_EXTENSION_MAIL_ACCOUNT "Mail Account"
58 typedef struct _ESourceMailAccount ESourceMailAccount
;
59 typedef struct _ESourceMailAccountClass ESourceMailAccountClass
;
60 typedef struct _ESourceMailAccountPrivate ESourceMailAccountPrivate
;
65 * Contains only private data that should be read and manipulated using the
70 struct _ESourceMailAccount
{
72 ESourceBackend parent
;
73 ESourceMailAccountPrivate
*priv
;
76 struct _ESourceMailAccountClass
{
77 ESourceBackendClass parent_class
;
80 GType e_source_mail_account_get_type
82 const gchar
* e_source_mail_account_get_identity_uid
83 (ESourceMailAccount
*extension
);
84 gchar
* e_source_mail_account_dup_identity_uid
85 (ESourceMailAccount
*extension
);
86 void e_source_mail_account_set_identity_uid
87 (ESourceMailAccount
*extension
,
88 const gchar
*identity_uid
);
89 const gchar
* e_source_mail_account_get_archive_folder
90 (ESourceMailAccount
*extension
);
91 gchar
* e_source_mail_account_dup_archive_folder
92 (ESourceMailAccount
*extension
);
93 void e_source_mail_account_set_archive_folder
94 (ESourceMailAccount
*extension
,
95 const gchar
*archive_folder
);
96 gboolean e_source_mail_account_get_needs_initial_setup
97 (ESourceMailAccount
*extension
);
98 void e_source_mail_account_set_needs_initial_setup
99 (ESourceMailAccount
*extension
,
100 gboolean needs_initial_setup
);
104 #endif /* E_SOURCE_MAIL_ACCOUNT_H */