Tizen 2.1 release
[platform/core/uifw/e17.git] / src / modules / connman / e_mod_main.h
1 #ifndef E_MOD_MAIN_H
2 #define E_MOD_MAIN_H
3
4 #include "config.h"
5 #include <e.h>
6 #include <eina_log.h>
7
8 #include "E_Connman.h"
9
10 #define MOD_CONF_VERSION 3
11
12 extern E_Module *connman_mod;
13 extern int _e_connman_log_dom;
14
15 typedef struct E_Connman_Instance E_Connman_Instance;
16 typedef struct E_Connman_Module_Context E_Connman_Module_Context;
17
18 struct E_Connman_Instance
19 {
20    E_Connman_Module_Context *ctxt;
21    E_Gadcon_Client *gcc;
22
23    E_Gadcon_Popup *popup;
24
25    struct
26      {
27         Evas_Object *gadget;
28
29         struct
30           {
31              Evas_Object *list;
32              Evas_Object *powered;
33
34              Ecore_X_Window input_win;
35              Ecore_Event_Handler *input_mouse_up;
36           } popup;
37      } ui;
38 };
39
40 struct E_Connman_Module_Context
41 {
42    Eina_List *instances;
43    E_Config_Dialog *conf_dialog;
44
45    struct
46      {
47         Ecore_Event_Handler *manager_in;
48         Ecore_Event_Handler *manager_out;
49      } event;
50
51    struct Connman_Manager *cm;
52    Eina_Bool offline_mode;
53    int powered;
54 };
55
56 EAPI extern E_Module_Api e_modapi;
57 EAPI void *e_modapi_init(E_Module *m);
58 EAPI int e_modapi_shutdown(E_Module *m);
59 EAPI int e_modapi_save(E_Module *m);
60
61 void econnman_popup_del(E_Connman_Instance *inst);
62 const char *e_connman_theme_path(void);
63 E_Config_Dialog *e_connman_config_dialog_new(E_Container *con,
64                                              E_Connman_Module_Context *ctxt);
65
66 /**
67  * @addtogroup Optional_Devices
68  * @{
69  *
70  * @defgroup Module_Connman ConnMan (Connection Manager)
71  *
72  * Controls network connections for ethernet, wifi, 3G, GSM and
73  * bluetooth (PAN).
74  *
75  * @see http://connman.net/
76  * @}
77  */
78
79 #endif