Updated Indonesian translation
[evolution.git] / mail / e-mail-config-service-page.h
blob43623ab8052b58d95c19ebd2cbfb682fb6ab4469
1 /*
2 * e-mail-config-service-page.h
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) version 3.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with the program; if not, see <http://www.gnu.org/licenses/>
19 /* XXX This is very similar to ESourceConfig for address books and
20 * calendars, but not similar enough to easily unify the APIs.
21 * Probably with more thought and effort it could be done. */
23 #ifndef E_MAIL_CONFIG_SERVICE_PAGE_H
24 #define E_MAIL_CONFIG_SERVICE_PAGE_H
26 #include <camel/camel.h>
28 #include <mail/e-mail-autoconfig.h>
29 #include <mail/e-mail-config-activity-page.h>
30 #include <mail/e-mail-config-service-backend.h>
32 /* Standard GObject macros */
33 #define E_TYPE_MAIL_CONFIG_SERVICE_PAGE \
34 (e_mail_config_service_page_get_type ())
35 #define E_MAIL_CONFIG_SERVICE_PAGE(obj) \
36 (G_TYPE_CHECK_INSTANCE_CAST \
37 ((obj), E_TYPE_MAIL_CONFIG_SERVICE_PAGE, EMailConfigServicePage))
38 #define E_MAIL_CONFIG_SERVICE_PAGE_CLASS(cls) \
39 (G_TYPE_CHECK_CLASS_CAST \
40 ((cls), E_TYPE_MAIL_CONFIG_SERVICE_PAGE, EMailConfigServicePageClass))
41 #define E_IS_MAIL_CONFIG_SERVICE_PAGE(obj) \
42 (G_TYPE_CHECK_INSTANCE_TYPE \
43 ((obj), E_TYPE_MAIL_CONFIG_SERVICE_PAGE))
44 #define E_IS_MAIL_CONFIG_SERVICE_PAGE_CLASS(cls) \
45 (G_TYPE_CHECK_CLASS_TYPE \
46 ((cls), E_TYPE_MAIL_CONFIG_SERVICE_PAGE))
47 #define E_MAIL_CONFIG_SERVICE_PAGE_GET_CLASS(obj) \
48 (G_TYPE_INSTANCE_GET_CLASS \
49 ((obj), E_TYPE_MAIL_CONFIG_SERVICE_PAGE, EMailConfigServicePageClass))
51 G_BEGIN_DECLS
53 typedef struct _EMailConfigServicePage EMailConfigServicePage;
54 typedef struct _EMailConfigServicePageClass EMailConfigServicePageClass;
55 typedef struct _EMailConfigServicePagePrivate EMailConfigServicePagePrivate;
57 struct _EMailConfigServicePage {
58 EMailConfigActivityPage parent;
59 EMailConfigServicePagePrivate *priv;
62 struct _EMailConfigServicePageClass {
63 EMailConfigActivityPageClass parent_class;
65 const gchar *extension_name;
66 CamelProviderType provider_type;
67 const gchar *default_backend_name;
70 GType e_mail_config_service_page_get_type
71 (void) G_GNUC_CONST;
72 EMailConfigServiceBackend *
73 e_mail_config_service_page_get_active_backend
74 (EMailConfigServicePage *page);
75 void e_mail_config_service_page_set_active_backend
76 (EMailConfigServicePage *page,
77 EMailConfigServiceBackend *backend);
78 const gchar * e_mail_config_service_page_get_email_address
79 (EMailConfigServicePage *page);
80 void e_mail_config_service_page_set_email_address
81 (EMailConfigServicePage *page,
82 const gchar *email_address);
83 ESourceRegistry *
84 e_mail_config_service_page_get_registry
85 (EMailConfigServicePage *page);
86 EMailConfigServiceBackend *
87 e_mail_config_service_page_add_scratch_source
88 (EMailConfigServicePage *page,
89 ESource *scratch_source,
90 ESource *opt_collection);
91 EMailConfigServiceBackend *
92 e_mail_config_service_page_lookup_backend
93 (EMailConfigServicePage *page,
94 const gchar *backend_name);
95 void e_mail_config_service_page_auto_configure
96 (EMailConfigServicePage *page,
97 EMailAutoconfig *autoconfig);
99 G_END_DECLS
101 #endif /* E_MAIL_CONFIG_SERVICE_PAGE_H */