6 #define E_CONNMAN_I_KNOW_THIS_API_IS_SUBJECT_TO_CHANGE 1
7 #include <connman0_7x/E_Connman.h>
10 #define MOD_CONF_VERSION 2
12 extern int _e_connman_log_dom;
13 #define DBG(...) EINA_LOG_DOM_DBG(_e_connman_log_dom, __VA_ARGS__)
14 #define WRN(...) EINA_LOG_DOM_WARN(_e_connman_log_dom, __VA_ARGS__)
15 #define ERR(...) EINA_LOG_DOM_ERR(_e_connman_log_dom, __VA_ARGS__)
17 typedef struct E_Connman_Instance E_Connman_Instance;
18 typedef struct E_Connman_Module_Context E_Connman_Module_Context;
19 typedef struct E_Connman_Service E_Connman_Service;
20 typedef struct E_Connman_Technology E_Connman_Technology;
22 struct E_Connman_Instance
24 E_Connman_Module_Context *ctxt;
26 E_Gadcon_Popup *popup;
31 const char *service_path;
32 Eina_Bool first_selection;
38 Evas_Object *offline_mode;
44 Ecore_Event_Handler *mouse_up;
45 Ecore_Event_Handler *key_down;
53 struct E_Connman_Service
56 E_Connman_Module_Context *ctxt;
57 E_Connman_Element *element;
65 const char *ipv4_method;
66 const char *ipv4_address;
67 const char *ipv4_netmask;
68 unsigned char strength;
69 Eina_Bool favorite : 1;
70 Eina_Bool auto_connect : 1;
71 Eina_Bool pass_required : 1;
74 struct E_Connman_Technology
77 E_Connman_Module_Context *ctxt;
78 E_Connman_Element *element;
85 struct E_Connman_Module_Context
88 E_Config_Dialog *conf_dialog;
90 struct st_connman_actions
92 E_Action *toggle_offline_mode;
97 Ecore_Event_Handler *manager_in;
98 Ecore_Event_Handler *manager_out;
99 Ecore_Event_Handler *mode_changed;
104 Ecore_Poller *default_service_changed;
105 Ecore_Poller *manager_changed;
108 Eina_Bool has_manager : 1;
109 Eina_Bool offline_mode;
110 Eina_Bool offline_mode_pending;
111 const char *technology;
112 const E_Connman_Service *default_service;
113 Eina_Inlist *services;
114 Eina_Inlist *technologies;
117 EAPI extern E_Module_Api e_modapi;
118 EAPI void *e_modapi_init(E_Module *m);
119 EAPI int e_modapi_shutdown(E_Module *m);
120 EAPI int e_modapi_save(E_Module *m);
122 const char *e_connman_theme_path(void);
123 E_Config_Dialog *e_connman_config_dialog_new(E_Container *con,
124 E_Connman_Module_Context *ctxt);
125 void _connman_toggle_offline_mode(E_Connman_Module_Context *ctxt);
126 Evas_Object *_connman_service_new_list_item(Evas *evas,
127 E_Connman_Service *service);
130 _connman_dbus_error_show(const char *msg,
131 const DBusError *error)
135 if ((!error) || (!dbus_error_is_set(error)))
139 if (strncmp(name, "org.moblin.connman.Error.",
140 sizeof("org.moblin.connman.Error.") - 1) == 0)
141 name += sizeof("org.moblin.connman.Error.") - 1;
143 e_util_dialog_show(_("Connman Server Operation Failed"),
144 _("Could not execute remote operation:<br>"
146 "Server Error <hilight>%s:</hilight> %s"),
147 msg, name, error->message);
151 _connman_operation_error_show(const char *msg)
153 e_util_dialog_show(_("Connman Operation Failed"),
154 _("Could not execute local operation:<br>%s"),
158 static inline E_Connman_Service *
159 _connman_ctxt_find_service_stringshare(const E_Connman_Module_Context *ctxt,
160 const char *service_path)
162 E_Connman_Service *itr;
164 EINA_INLIST_FOREACH(ctxt->services, itr)
165 if (itr->path == service_path)
171 static inline E_Connman_Technology *
172 _connman_ctxt_technology_find_stringshare(const E_Connman_Module_Context *ctxt,
175 E_Connman_Technology *t;
177 EINA_INLIST_FOREACH(ctxt->technologies, t)