diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-07-19 01:21:56 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-07-19 02:29:46 +0800 |
commit | ae3305a74b82cc31f9472ef87b4abcce65d0bc43 (patch) | |
tree | a9182fbfefaf74dc29491f47eaceaca4af4ac532 /mail/e-mail-config-page.h | |
parent | fb9ecaeaa707c0d3c05fb3bfdcc41539f8c36f62 (diff) | |
download | gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar.gz gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar.bz2 gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar.lz gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar.xz gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.tar.zst gsoc2013-evolution-ae3305a74b82cc31f9472ef87b4abcce65d0bc43.zip |
EMailConfigPage: Add submit() asynchronous method.
This method is meant for pages that show server-side settings instead of
client-side settings stored in key files. It's called after all scratch
sources have been successfully submitted to the D-Bus service.
The driving use case for this is evolution-ews's "Out of Office" page,
which is only shown by EMailConfigNotebook and so that's currently the
only place where submit() is invoked for all pages.
Should a need arise for EMailConfigAssistant to also invoke submit()
for all pages, then EMailConfigNotebook can be used as a reference.
Diffstat (limited to 'mail/e-mail-config-page.h')
-rw-r--r-- | mail/e-mail-config-page.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/mail/e-mail-config-page.h b/mail/e-mail-config-page.h index 40a949a2d5..6561780e87 100644 --- a/mail/e-mail-config-page.h +++ b/mail/e-mail-config-page.h @@ -52,9 +52,24 @@ struct _EMailConfigPageInterface { gboolean (*check_complete) (EMailConfigPage *page); void (*commit_changes) (EMailConfigPage *page, GQueue *source_queue); + + /* Intended for pages with server-side settings. + * Called after client-side settings are written. */ + gboolean (*submit_sync) (EMailConfigPage *page, + GCancellable *cancellable, + GError **error); + void (*submit) (EMailConfigPage *page, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (*submit_finish) (EMailConfigPage *page, + GAsyncResult *result, + GError **error); }; GType e_mail_config_page_get_type (void) G_GNUC_CONST; +gint e_mail_config_page_compare (GtkWidget *page_a, + GtkWidget *page_b); void e_mail_config_page_changed (EMailConfigPage *page); void e_mail_config_page_setup_defaults (EMailConfigPage *page); @@ -63,8 +78,17 @@ gboolean e_mail_config_page_check_complete void e_mail_config_page_commit_changes (EMailConfigPage *page, GQueue *source_queue); -gint e_mail_config_page_compare (GtkWidget *page_a, - GtkWidget *page_b); +gboolean e_mail_config_page_submit_sync (EMailConfigPage *page, + GCancellable *cancellable, + GError **error); +void e_mail_config_page_submit (EMailConfigPage *page, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean e_mail_config_page_submit_finish + (EMailConfigPage *page, + GAsyncResult *result, + GError **error); G_END_DECLS |