1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * SPDX-FileCopyrightText: (C) 2012 Red Hat, Inc. (www.redhat.com)
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  */
6 
7 #ifndef E_MAIL_CONFIG_EWS_OAL_COMBO_BOX_H
8 #define E_MAIL_CONFIG_EWS_OAL_COMBO_BOX_H
9 
10 #include <gtk/gtk.h>
11 #include <mail/e-mail-config-service-backend.h>
12 
13 /* Standard GObject macros */
14 #define E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX \
15 	(e_mail_config_ews_oal_combo_box_get_type ())
16 #define E_MAIL_CONFIG_EWS_OAL_COMBO_BOX(obj) \
17 	(G_TYPE_CHECK_INSTANCE_CAST \
18 	((obj), E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX, EMailConfigEwsOalComboBox))
19 #define E_MAIL_CONFIG_EWS_OAL_COMBO_BOX_CLASS(cls) \
20 	(G_TYPE_CHECK_CLASS_CAST \
21 	((cls), E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX, EMailConfigEwsOalComboBoxClass))
22 #define E_IS_MAIL_CONFIG_EWS_OAL_COMBO_BOX(obj) \
23 	(G_TYPE_CHECK_INSTANCE_TYPE \
24 	((obj), E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX))
25 #define E_IS_MAIL_CONFIG_EWS_OAL_COMBO_BOX_CLASS(cls) \
26 	(G_TYPE_CHECK_CLASS_TYPE \
27 	((cls), E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX))
28 #define E_MAIL_CONFIG_EWS_OAL_COMBO_BOX_GET_CLASS(obj) \
29 	(G_TYPE_INSTANCE_GET_CLASS \
30 	((obj), E_TYPE_MAIL_CONFIG_EWS_OAL_COMBO_BOX, EMailConfigEwsOalComboBoxClass))
31 
32 G_BEGIN_DECLS
33 
34 typedef struct _EMailConfigEwsOalComboBox EMailConfigEwsOalComboBox;
35 typedef struct _EMailConfigEwsOalComboBoxClass EMailConfigEwsOalComboBoxClass;
36 typedef struct _EMailConfigEwsOalComboBoxPrivate EMailConfigEwsOalComboBoxPrivate;
37 
38 struct _EMailConfigEwsOalComboBox {
39 	GtkComboBoxText parent;
40 	EMailConfigEwsOalComboBoxPrivate *priv;
41 };
42 
43 struct _EMailConfigEwsOalComboBoxClass {
44 	GtkComboBoxTextClass parent_class;
45 };
46 
47 GType		e_mail_config_ews_oal_combo_box_get_type
48 						(void) G_GNUC_CONST;
49 void		e_mail_config_ews_oal_combo_box_type_register
50 						(GTypeModule *type_module);
51 GtkWidget *	e_mail_config_ews_oal_combo_box_new
52 						(EMailConfigServiceBackend *backend);
53 EMailConfigServiceBackend *
54 		e_mail_config_ews_oal_combo_box_get_backend
55 						(EMailConfigEwsOalComboBox *combo_box);
56 void		e_mail_config_ews_oal_combo_box_update
57 						(EMailConfigEwsOalComboBox *combo_box,
58 						 GCancellable *cancellable,
59 						 GAsyncReadyCallback callback,
60 						 gpointer user_data);
61 gboolean	e_mail_config_ews_oal_combo_box_update_finish
62 						(EMailConfigEwsOalComboBox *combo_box,
63 						 GAsyncResult *result,
64 						 GError **error);
65 
66 G_END_DECLS
67 
68 #endif /* E_MAIL_CONFIG_EWS_OAL_COMBO_BOX_H */
69 
70