|
|
|
@ -79,8 +79,8 @@ _connman_toggle_offline_mode_cb(void *data, DBusMessage *msg __UNUSED__, DBusErr |
|
|
|
|
|
|
|
|
|
if ((!error) || (!dbus_error_is_set(error))) |
|
|
|
|
{ |
|
|
|
|
ctxt->offline_mode_pending = EINA_FALSE; |
|
|
|
|
return; |
|
|
|
|
ctxt->offline_mode_pending = EINA_FALSE; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_connman_dbus_error_show(_("Cannot toggle system's offline mode."), error); |
|
|
|
@ -94,24 +94,24 @@ _connman_toggle_offline_mode(E_Connman_Module_Context *ctxt) |
|
|
|
|
|
|
|
|
|
if ((!ctxt) || (!ctxt->has_manager)) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show(_("ConnMan Daemon is not running.")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show(_("ConnMan Daemon is not running.")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!e_connman_manager_offline_mode_get(&offline)) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Query system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Query system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
offline = !offline; |
|
|
|
|
if (!e_connman_manager_offline_mode_set |
|
|
|
|
(offline, _connman_toggle_offline_mode_cb, ctxt)) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Cannot toggle system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Cannot toggle system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -175,8 +175,8 @@ _connman_passphrase_ask_del(void *data) |
|
|
|
|
|
|
|
|
|
if (d->canceled) |
|
|
|
|
{ |
|
|
|
|
free(d->passphrase); |
|
|
|
|
d->passphrase = NULL; |
|
|
|
|
free(d->passphrase); |
|
|
|
|
d->passphrase = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
d->cb(d->data, d->passphrase, d->service_path); |
|
|
|
@ -212,15 +212,15 @@ _connman_passphrase_ask(E_Connman_Service *service, void (*cb)(void *data, const |
|
|
|
|
return; |
|
|
|
|
if (!service) |
|
|
|
|
{ |
|
|
|
|
cb((void *)data, NULL, NULL); |
|
|
|
|
return; |
|
|
|
|
cb((void *)data, NULL, NULL); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
d = E_NEW(struct connman_passphrase_data, 1); |
|
|
|
|
if (!d) |
|
|
|
|
{ |
|
|
|
|
cb((void *)data, NULL, NULL); |
|
|
|
|
return; |
|
|
|
|
cb((void *)data, NULL, NULL); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
d->cb = cb; |
|
|
|
|
d->data = (void *)data; |
|
|
|
@ -239,11 +239,11 @@ _connman_passphrase_ask(E_Connman_Service *service, void (*cb)(void *data, const |
|
|
|
|
|
|
|
|
|
o = edje_object_add(evas); |
|
|
|
|
e_theme_edje_object_set(o, "base/theme/dialog", |
|
|
|
|
"e/widgets/dialog/text"); |
|
|
|
|
"e/widgets/dialog/text"); |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Connection Manager needs your passphrase for <br>" |
|
|
|
|
"the service <hilight>%s</hilight>"), |
|
|
|
|
service->name); |
|
|
|
|
_("Connection Manager needs your passphrase for <br>" |
|
|
|
|
"the service <hilight>%s</hilight>"), |
|
|
|
|
service->name); |
|
|
|
|
edje_object_part_text_set(o, "e.textblock.message", buf); |
|
|
|
|
edje_object_size_min_calc(o, &mw, &mh); |
|
|
|
|
evas_object_size_hint_min_set(o, mw, mh); |
|
|
|
@ -266,7 +266,7 @@ _connman_passphrase_ask(E_Connman_Service *service, void (*cb)(void *data, const |
|
|
|
|
#if 0 // NOT WORKING, e_widget_entry_password_set() changes stops editing!!!
|
|
|
|
|
d->cleartext = 1; |
|
|
|
|
o = e_widget_check_add(evas, _("Show passphrase as clear text"), |
|
|
|
|
&d->cleartext); |
|
|
|
|
&d->cleartext); |
|
|
|
|
evas_object_smart_callback_add |
|
|
|
|
(o, "changed", _connman_passphrase_ask_cleartext_changed, d); |
|
|
|
|
evas_object_show(o); |
|
|
|
@ -380,8 +380,8 @@ _connman_service_freed(void *data) |
|
|
|
|
|
|
|
|
|
if (ctxt->default_service == service) |
|
|
|
|
{ |
|
|
|
|
ctxt->default_service = NULL; |
|
|
|
|
_connman_default_service_changed_delayed(ctxt); |
|
|
|
|
ctxt->default_service = NULL; |
|
|
|
|
_connman_default_service_changed_delayed(ctxt); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -523,11 +523,11 @@ _connman_service_disconnect_cb(void *data, DBusMessage *msg __UNUSED__, DBusErro |
|
|
|
|
|
|
|
|
|
if (error && dbus_error_is_set(error)) |
|
|
|
|
{ |
|
|
|
|
if (strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.NotConnected") != 0) |
|
|
|
|
_connman_dbus_error_show(_("Disconnect from network service."), |
|
|
|
|
error); |
|
|
|
|
dbus_error_free(error); |
|
|
|
|
if (strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.NotConnected") != 0) |
|
|
|
|
_connman_dbus_error_show(_("Disconnect from network service."), |
|
|
|
|
error); |
|
|
|
|
dbus_error_free(error); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_connman_default_service_changed_delayed(ctxt); |
|
|
|
@ -554,36 +554,36 @@ _connman_service_connect_cb(void *data, DBusMessage *msg __UNUSED__, DBusError * |
|
|
|
|
|
|
|
|
|
if (error && dbus_error_is_set(error)) |
|
|
|
|
{ |
|
|
|
|
/* TODO: cellular might ask for SetupRequired to enter APN,
|
|
|
|
|
* username and password |
|
|
|
|
*/ |
|
|
|
|
if ((strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.PassphraseRequired") == 0) || |
|
|
|
|
(strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.Failed") == 0)) |
|
|
|
|
{ |
|
|
|
|
E_Connman_Service *service; |
|
|
|
|
|
|
|
|
|
service = _connman_ctxt_find_service_stringshare |
|
|
|
|
(d->ctxt, d->service_path); |
|
|
|
|
if (!service) |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Service does not exist anymore")); |
|
|
|
|
else if (strcmp(service->type, "wifi") == 0) |
|
|
|
|
{ |
|
|
|
|
_connman_service_disconnect(service); |
|
|
|
|
_connman_service_ask_pass_and_connect(service); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
/* TODO: cellular might ask for user and pass */ |
|
|
|
|
_connman_dbus_error_show(_("Connect to network service."), |
|
|
|
|
error); |
|
|
|
|
} |
|
|
|
|
else if (strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.AlreadyConnected") != 0) |
|
|
|
|
_connman_dbus_error_show(_("Connect to network service."), error); |
|
|
|
|
|
|
|
|
|
dbus_error_free(error); |
|
|
|
|
/* TODO: cellular might ask for SetupRequired to enter APN,
|
|
|
|
|
* username and password |
|
|
|
|
*/ |
|
|
|
|
if ((strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.PassphraseRequired") == 0) || |
|
|
|
|
(strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.Failed") == 0)) |
|
|
|
|
{ |
|
|
|
|
E_Connman_Service *service; |
|
|
|
|
|
|
|
|
|
service = _connman_ctxt_find_service_stringshare |
|
|
|
|
(d->ctxt, d->service_path); |
|
|
|
|
if (!service) |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Service does not exist anymore")); |
|
|
|
|
else if (strcmp(service->type, "wifi") == 0) |
|
|
|
|
{ |
|
|
|
|
_connman_service_disconnect(service); |
|
|
|
|
_connman_service_ask_pass_and_connect(service); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
/* TODO: cellular might ask for user and pass */ |
|
|
|
|
_connman_dbus_error_show(_("Connect to network service."), |
|
|
|
|
error); |
|
|
|
|
} |
|
|
|
|
else if (strcmp(error->name, |
|
|
|
|
"org.moblin.connman.Error.AlreadyConnected") != 0) |
|
|
|
|
_connman_dbus_error_show(_("Connect to network service."), error); |
|
|
|
|
|
|
|
|
|
dbus_error_free(error); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_connman_default_service_changed_delayed(d->ctxt); |
|
|
|
@ -606,9 +606,9 @@ _connman_service_connect(E_Connman_Service *service) |
|
|
|
|
if (!e_connman_service_connect |
|
|
|
|
(service->element, _connman_service_connect_cb, d)) |
|
|
|
|
{ |
|
|
|
|
eina_stringshare_del(d->service_path); |
|
|
|
|
E_FREE(d); |
|
|
|
|
_connman_operation_error_show(_("Connect to network service.")); |
|
|
|
|
eina_stringshare_del(d->service_path); |
|
|
|
|
E_FREE(d); |
|
|
|
|
_connman_operation_error_show(_("Connect to network service.")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -627,8 +627,8 @@ _connman_service_ask_pass_and_connect__set_cb(void *data, DBusMessage *msg __UNU |
|
|
|
|
service = _connman_ctxt_find_service_stringshare(d->ctxt, d->service_path); |
|
|
|
|
if (!service) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show(_("Service does not exist anymore")); |
|
|
|
|
goto end; |
|
|
|
|
_connman_operation_error_show(_("Service does not exist anymore")); |
|
|
|
|
goto end; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((!error) || (!dbus_error_is_set(error))) |
|
|
|
@ -651,14 +651,14 @@ _connman_service_ask_pass_and_connect__ask_cb(void *data, const char *passphrase |
|
|
|
|
service = _connman_ctxt_find_service_stringshare(ctxt, service_path); |
|
|
|
|
if (!service) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show(_("Service does not exist anymore")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show(_("Service does not exist anymore")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!passphrase) |
|
|
|
|
{ |
|
|
|
|
_connman_service_disconnect(service); |
|
|
|
|
return; |
|
|
|
|
_connman_service_disconnect(service); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
d = E_NEW(struct connman_service_ask_pass_data, 1); |
|
|
|
@ -669,12 +669,12 @@ _connman_service_ask_pass_and_connect__ask_cb(void *data, const char *passphrase |
|
|
|
|
|
|
|
|
|
if (!e_connman_service_passphrase_set |
|
|
|
|
(service->element, passphrase, |
|
|
|
|
_connman_service_ask_pass_and_connect__set_cb, d)) |
|
|
|
|
_connman_service_ask_pass_and_connect__set_cb, d)) |
|
|
|
|
{ |
|
|
|
|
eina_stringshare_del(d->service_path); |
|
|
|
|
E_FREE(d); |
|
|
|
|
_connman_operation_error_show(_("Could not set service's passphrase")); |
|
|
|
|
return; |
|
|
|
|
eina_stringshare_del(d->service_path); |
|
|
|
|
E_FREE(d); |
|
|
|
|
_connman_operation_error_show(_("Could not set service's passphrase")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -690,14 +690,14 @@ _connman_services_free(E_Connman_Module_Context *ctxt) |
|
|
|
|
{ |
|
|
|
|
while (ctxt->services) |
|
|
|
|
{ |
|
|
|
|
E_Connman_Service *service = (E_Connman_Service *)ctxt->services; |
|
|
|
|
e_connman_element_listener_del |
|
|
|
|
(service->element, _connman_service_changed, service); |
|
|
|
|
/* no need for free or unlink, since listener_del() calls
|
|
|
|
|
* _connman_service_freed() |
|
|
|
|
*/ |
|
|
|
|
//ctxt->services = eina_inlist_remove(ctxt->services, ctxt->services);
|
|
|
|
|
//_connman_service_free(service);
|
|
|
|
|
E_Connman_Service *service = (E_Connman_Service *)ctxt->services; |
|
|
|
|
e_connman_element_listener_del |
|
|
|
|
(service->element, _connman_service_changed, service); |
|
|
|
|
/* no need for free or unlink, since listener_del() calls
|
|
|
|
|
* _connman_service_freed() |
|
|
|
|
*/ |
|
|
|
|
//ctxt->services = eina_inlist_remove(ctxt->services, ctxt->services);
|
|
|
|
|
//_connman_service_free(service);
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -720,8 +720,8 @@ _connman_technologies_element_exists(const E_Connman_Module_Context *ctxt, const |
|
|
|
|
|
|
|
|
|
EINA_INLIST_FOREACH(ctxt->technologies, t) |
|
|
|
|
{ |
|
|
|
|
if (t->path == element->path) |
|
|
|
|
return EINA_TRUE; |
|
|
|
|
if (t->path == element->path) |
|
|
|
|
return EINA_TRUE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return EINA_FALSE; |
|
|
|
@ -732,8 +732,8 @@ _connman_request_scan_cb(void *data __UNUSED__, DBusMessage *msg __UNUSED__, DBu |
|
|
|
|
{ |
|
|
|
|
if (error && dbus_error_is_set(error)) |
|
|
|
|
{ |
|
|
|
|
ERR("%s method failed with message \'%s\'", error->name, error->message); |
|
|
|
|
dbus_error_free(error); |
|
|
|
|
ERR("%s method failed with message \'%s\'", error->name, error->message); |
|
|
|
|
dbus_error_free(error); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return; |
|
|
|
@ -751,19 +751,19 @@ _connman_technologies_load(E_Connman_Module_Context *ctxt) |
|
|
|
|
DBG("Technologies = %d.", count); |
|
|
|
|
for (i = 0; i < count; i++) |
|
|
|
|
{ |
|
|
|
|
E_Connman_Element *e = elements[i]; |
|
|
|
|
E_Connman_Technology *t; |
|
|
|
|
E_Connman_Element *e = elements[i]; |
|
|
|
|
E_Connman_Technology *t; |
|
|
|
|
|
|
|
|
|
if ((!e) || _connman_technologies_element_exists(ctxt, e)) |
|
|
|
|
continue; |
|
|
|
|
if ((!e) || _connman_technologies_element_exists(ctxt, e)) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
t = _connman_technology_new(ctxt, e); |
|
|
|
|
if (!t) |
|
|
|
|
continue; |
|
|
|
|
t = _connman_technology_new(ctxt, e); |
|
|
|
|
if (!t) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
DBG("Added technology: %s.", t->name); |
|
|
|
|
ctxt->technologies = eina_inlist_append |
|
|
|
|
(ctxt->technologies, EINA_INLIST_GET(t)); |
|
|
|
|
DBG("Added technology: %s.", t->name); |
|
|
|
|
ctxt->technologies = eina_inlist_append |
|
|
|
|
(ctxt->technologies, EINA_INLIST_GET(t)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!e_connman_manager_request_scan("", _connman_request_scan_cb, NULL)) |
|
|
|
@ -783,19 +783,19 @@ _connman_services_load(E_Connman_Module_Context *ctxt) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < count; i++) |
|
|
|
|
{ |
|
|
|
|
E_Connman_Element *e = elements[i]; |
|
|
|
|
E_Connman_Service *service; |
|
|
|
|
E_Connman_Element *e = elements[i]; |
|
|
|
|
E_Connman_Service *service; |
|
|
|
|
|
|
|
|
|
if ((!e) || (_connman_services_element_exists(ctxt, e))) |
|
|
|
|
continue; |
|
|
|
|
if ((!e) || (_connman_services_element_exists(ctxt, e))) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
service = _connman_service_new(ctxt, e); |
|
|
|
|
if (!service) |
|
|
|
|
continue; |
|
|
|
|
service = _connman_service_new(ctxt, e); |
|
|
|
|
if (!service) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
DBG("Added service: %s\n", service->name); |
|
|
|
|
ctxt->services = eina_inlist_append |
|
|
|
|
(ctxt->services, EINA_INLIST_GET(service)); |
|
|
|
|
DBG("Added service: %s\n", service->name); |
|
|
|
|
ctxt->services = eina_inlist_append |
|
|
|
|
(ctxt->services, EINA_INLIST_GET(service)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* no need to remove elements, as they remove themselves */ |
|
|
|
@ -812,18 +812,18 @@ _connman_default_service_changed(E_Connman_Module_Context *ctxt) |
|
|
|
|
|
|
|
|
|
EINA_INLIST_FOREACH(ctxt->services, itr) |
|
|
|
|
{ |
|
|
|
|
if ((itr->state == e_str_ready) || |
|
|
|
|
(itr->state == e_str_login) || |
|
|
|
|
(itr->state == e_str_online)) |
|
|
|
|
{ |
|
|
|
|
def = itr; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
else if ((itr->state == e_str_association) && |
|
|
|
|
((!def) || (def && def->state != e_str_configuration))) |
|
|
|
|
def = itr; |
|
|
|
|
else if (itr->state == e_str_configuration) |
|
|
|
|
def = itr; |
|
|
|
|
if ((itr->state == e_str_ready) || |
|
|
|
|
(itr->state == e_str_login) || |
|
|
|
|
(itr->state == e_str_online)) |
|
|
|
|
{ |
|
|
|
|
def = itr; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
else if ((itr->state == e_str_association) && |
|
|
|
|
((!def) || (def && def->state != e_str_configuration))) |
|
|
|
|
def = itr; |
|
|
|
|
else if (itr->state == e_str_configuration) |
|
|
|
|
def = itr; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
DBG("Default service changed to %p (%s)", def, def ? def->name : ""); |
|
|
|
@ -839,9 +839,9 @@ _connman_default_service_changed(E_Connman_Module_Context *ctxt) |
|
|
|
|
if ((e_config->mode.offline != ctxt->offline_mode) && |
|
|
|
|
(!ctxt->offline_mode_pending)) |
|
|
|
|
{ |
|
|
|
|
e_config->mode.offline = ctxt->offline_mode; |
|
|
|
|
e_config_mode_changed(); |
|
|
|
|
e_config_save_queue(); |
|
|
|
|
e_config->mode.offline = ctxt->offline_mode; |
|
|
|
|
e_config_mode_changed(); |
|
|
|
|
e_config_save_queue(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ctxt->default_service = def; |
|
|
|
@ -944,11 +944,11 @@ _connman_popup_input_window_create(E_Connman_Instance *inst) |
|
|
|
|
|
|
|
|
|
inst->ui.input.mouse_up = |
|
|
|
|
ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, |
|
|
|
|
_connman_popup_input_window_mouse_up_cb, inst); |
|
|
|
|
_connman_popup_input_window_mouse_up_cb, inst); |
|
|
|
|
|
|
|
|
|
inst->ui.input.key_down = |
|
|
|
|
ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, |
|
|
|
|
_connman_popup_input_window_key_down_cb, inst); |
|
|
|
|
_connman_popup_input_window_key_down_cb, inst); |
|
|
|
|
|
|
|
|
|
inst->ui.input.win = w; |
|
|
|
|
} |
|
|
|
@ -962,16 +962,16 @@ _connman_popup_cb_offline_mode_changed(void *data, Evas_Object *obj) |
|
|
|
|
|
|
|
|
|
if ((!ctxt) || (!ctxt->has_manager)) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show(_("ConnMan Daemon is not running.")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show(_("ConnMan Daemon is not running.")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!e_connman_manager_offline_mode_set |
|
|
|
|
(offline, _connman_toggle_offline_mode_cb, ctxt)) |
|
|
|
|
{ |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Cannot toggle system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
_connman_operation_error_show |
|
|
|
|
(_("Cannot toggle system's offline mode.")); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
ctxt->offline_mode_pending = EINA_TRUE; |
|
|
|
|
} |
|
|
|
@ -1000,8 +1000,8 @@ _connman_popup_service_selected(void *data) |
|
|
|
|
|
|
|
|
|
if (inst->first_selection) |
|
|
|
|
{ |
|
|
|
|
inst->first_selection = EINA_FALSE; |
|
|
|
|
return; |
|
|
|
|
inst->first_selection = EINA_FALSE; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!inst->service_path) |
|
|
|
@ -1039,14 +1039,14 @@ _connman_service_new_list_item(Evas *evas, E_Connman_Service *service) |
|
|
|
|
|
|
|
|
|
if (service->mode) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, sizeof(buf), "e,mode,%s", service->mode); |
|
|
|
|
edje_object_signal_emit(icon, buf, "e"); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,mode,%s", service->mode); |
|
|
|
|
edje_object_signal_emit(icon, buf, "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (service->security) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, sizeof(buf), "e,security,%s", service->security); |
|
|
|
|
edje_object_signal_emit(icon, buf, "e"); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,security,%s", service->security); |
|
|
|
|
edje_object_signal_emit(icon, buf, "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (service->favorite) |
|
|
|
@ -1091,23 +1091,23 @@ _connman_popup_update(E_Connman_Instance *inst) |
|
|
|
|
selected = -1; |
|
|
|
|
EINA_INLIST_FOREACH(inst->ctxt->services, service) |
|
|
|
|
{ |
|
|
|
|
Evas_Object *icon; |
|
|
|
|
Evas_Object *icon; |
|
|
|
|
|
|
|
|
|
if (service->path == default_path) |
|
|
|
|
selected = i; |
|
|
|
|
i++; |
|
|
|
|
if (service->path == default_path) |
|
|
|
|
selected = i; |
|
|
|
|
i++; |
|
|
|
|
|
|
|
|
|
icon = _connman_service_new_list_item(evas, service); |
|
|
|
|
icon = _connman_service_new_list_item(evas, service); |
|
|
|
|
|
|
|
|
|
e_widget_ilist_append |
|
|
|
|
(list, icon, service->name, _connman_popup_service_selected, |
|
|
|
|
inst, service->path); |
|
|
|
|
e_widget_ilist_append |
|
|
|
|
(list, icon, service->name, _connman_popup_service_selected, |
|
|
|
|
inst, service->path); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (selected >= 0) |
|
|
|
|
{ |
|
|
|
|
inst->first_selection = EINA_TRUE; |
|
|
|
|
e_widget_ilist_selected_set(list, selected); |
|
|
|
|
inst->first_selection = EINA_TRUE; |
|
|
|
|
e_widget_ilist_selected_set(list, selected); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
inst->first_selection = EINA_FALSE; |
|
|
|
@ -1136,8 +1136,8 @@ _connman_popup_new(E_Connman_Instance *inst) |
|
|
|
|
|
|
|
|
|
if (inst->popup) |
|
|
|
|
{ |
|
|
|
|
e_gadcon_popup_show(inst->popup); |
|
|
|
|
return; |
|
|
|
|
e_gadcon_popup_show(inst->popup); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
inst->popup = e_gadcon_popup_new(inst->gcc); |
|
|
|
@ -1152,7 +1152,7 @@ _connman_popup_new(E_Connman_Instance *inst) |
|
|
|
|
inst->ui.list = e_widget_ilist_add(evas, 32, 32, &inst->service_path); |
|
|
|
|
e_widget_size_min_set(inst->ui.list, 180, 100); |
|
|
|
|
e_widget_table_object_append(inst->ui.table, inst->ui.list, |
|
|
|
|
0, 0, 1, 5, 1, 1, 1, 1); |
|
|
|
|
0, 0, 1, 5, 1, 1, 1, 1); |
|
|
|
|
|
|
|
|
|
inst->offline_mode = ctxt->offline_mode; |
|
|
|
|
inst->ui.offline_mode = e_widget_check_add |
|
|
|
@ -1160,7 +1160,7 @@ _connman_popup_new(E_Connman_Instance *inst) |
|
|
|
|
|
|
|
|
|
evas_object_show(inst->ui.offline_mode); |
|
|
|
|
e_widget_table_object_append(inst->ui.table, inst->ui.offline_mode, |
|
|
|
|
0, 5, 1, 1, 1, 1, 1, 0); |
|
|
|
|
0, 5, 1, 1, 1, 1, 1, 0); |
|
|
|
|
e_widget_on_change_hook_set |
|
|
|
|
(inst->ui.offline_mode, _connman_popup_cb_offline_mode_changed, inst); |
|
|
|
|
|
|
|
|
@ -1190,8 +1190,8 @@ _connman_menu_cb_post(void *data, E_Menu *menu __UNUSED__) |
|
|
|
|
return; |
|
|
|
|
if (inst->menu) |
|
|
|
|
{ |
|
|
|
|
e_object_del(E_OBJECT(inst->menu)); |
|
|
|
|
inst->menu = NULL; |
|
|
|
|
e_object_del(E_OBJECT(inst->menu)); |
|
|
|
|
inst->menu = NULL; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1249,7 +1249,7 @@ _connman_tip_new(E_Connman_Instance *inst) |
|
|
|
|
|
|
|
|
|
inst->o_tip = edje_object_add(e); |
|
|
|
|
e_theme_edje_object_set(inst->o_tip, "base/theme/modules/connman/tip", |
|
|
|
|
"e/modules/connman/tip"); |
|
|
|
|
"e/modules/connman/tip"); |
|
|
|
|
|
|
|
|
|
_connman_tip_update(inst); |
|
|
|
|
|
|
|
|
@ -1279,10 +1279,10 @@ _connman_cb_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNU |
|
|
|
|
ev = event; |
|
|
|
|
if (ev->button == 1) |
|
|
|
|
{ |
|
|
|
|
if (!inst->popup) |
|
|
|
|
_connman_popup_new(inst); |
|
|
|
|
else |
|
|
|
|
_connman_popup_del(inst); |
|
|
|
|
if (!inst->popup) |
|
|
|
|
_connman_popup_new(inst); |
|
|
|
|
else |
|
|
|
|
_connman_popup_del(inst); |
|
|
|
|
} |
|
|
|
|
else if (ev->button == 2) |
|
|
|
|
_connman_toggle_offline_mode(inst->ctxt); |
|
|
|
@ -1322,70 +1322,70 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o) |
|
|
|
|
|
|
|
|
|
if (!ctxt->has_manager) |
|
|
|
|
{ |
|
|
|
|
edje_object_signal_emit(o, "e,unavailable", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.name", _("No ConnMan")); |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", |
|
|
|
|
_("No ConnMan server found.")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,connected,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,no", "e"); |
|
|
|
|
return; |
|
|
|
|
edje_object_signal_emit(o, "e,unavailable", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.name", _("No ConnMan")); |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", |
|
|
|
|
_("No ConnMan server found.")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,connected,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,no", "e"); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
edje_object_signal_emit(o, "e,available", "e"); |
|
|
|
|
|
|
|
|
|
if (ctxt->offline_mode) |
|
|
|
|
{ |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,yes", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", |
|
|
|
|
_("Offline mode: all radios are turned off")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,yes", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", |
|
|
|
|
_("Offline mode: all radios are turned off")); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,offline_mode,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.offline_mode", ""); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (ctxt->technology && ctxt->technology[0]) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", |
|
|
|
|
ctxt->technology); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,technology,%s", |
|
|
|
|
ctxt->technology); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", |
|
|
|
|
ctxt->technology); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,technology,%s", |
|
|
|
|
ctxt->technology); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
} |
|
|
|
|
else if (!ctxt->default_service) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,technology,none", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,technology,none", "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
service = ctxt->default_service; |
|
|
|
|
if (!service) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.name", _("No Connection")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,service,none", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,connected,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.name", _("No Connection")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,service,none", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,connected,no", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_part_text_set(o, "e.text.error", _("Not connected")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", _("Not connected")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,no", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_part_text_set(o, "e.text.state", _("disconnect")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,state,disconnect", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.state", _("disconnect")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,state,disconnect", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_signal_emit(o, "e,changed,mode,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,mode,no", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_signal_emit(o, "e,changed,mode,none", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,security,none", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,mode,none", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,security,none", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,no", "e"); |
|
|
|
|
|
|
|
|
|
edje_object_signal_emit(o, "e,changed,favorite,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,auto_connect,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,pass_required,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,favorite,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,auto_connect,no", "e"); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,pass_required,no", "e"); |
|
|
|
|
|
|
|
|
|
return; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
edje_object_signal_emit(o, "e,changed,connected,yes", "e"); |
|
|
|
@ -1397,13 +1397,13 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o) |
|
|
|
|
|
|
|
|
|
if (service->error) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", service->error); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,yes", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", service->error); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,yes", "e"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", _("No error")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.error", _("No error")); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,error,no", "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,service,%s", service->type); |
|
|
|
@ -1411,9 +1411,9 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o) |
|
|
|
|
|
|
|
|
|
if (!ctxt->technology) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", service->type); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,technology,%s", service->type); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.technology", service->type); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,technology,%s", service->type); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,state,%s", service->state); |
|
|
|
@ -1422,29 +1422,29 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o) |
|
|
|
|
|
|
|
|
|
if (service->mode) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,mode,%s", service->mode); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,mode,%s", service->mode); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
edje_object_signal_emit(o, "e,changed,mode,none", "e"); |
|
|
|
|
|
|
|
|
|
if (service->security) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,security,%s", service->security); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
snprintf(buf, sizeof(buf), "e,changed,security,%s", service->security); |
|
|
|
|
edje_object_signal_emit(o, buf, "e"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
edje_object_signal_emit(o, "e,changed,security,none", "e"); |
|
|
|
|
|
|
|
|
|
if (service->ipv4_address) |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", service->ipv4_address); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,yes", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", service->ipv4_address); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,yes", "e"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,no", "e"); |
|
|
|
|
edje_object_part_text_set(o, "e.text.ipv4_address", ""); |
|
|
|
|
edje_object_signal_emit(o, "e,changed,ipv4_address,no", "e"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (service->favorite) |
|
|
|
@ -1543,8 +1543,8 @@ _gc_shutdown(E_Gadcon_Client *gcc) |
|
|
|
|
|
|
|
|
|
if (inst->menu) |
|
|
|
|
{ |
|
|
|
|
e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL); |
|
|
|
|
e_object_del(E_OBJECT(inst->menu)); |
|
|
|
|
e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL); |
|
|
|
|
e_object_del(E_OBJECT(inst->menu)); |
|
|
|
|
} |
|
|
|
|
evas_object_del(inst->ui.gadget); |
|
|
|
|
|
|
|
|
@ -1617,11 +1617,11 @@ _connman_actions_register(E_Connman_Module_Context *ctxt) |
|
|
|
|
ctxt->actions.toggle_offline_mode = e_action_add(_act_toggle_offline_mode); |
|
|
|
|
if (ctxt->actions.toggle_offline_mode) |
|
|
|
|
{ |
|
|
|
|
ctxt->actions.toggle_offline_mode->func.go = |
|
|
|
|
_connman_cb_toggle_offline_mode; |
|
|
|
|
e_action_predef_name_set |
|
|
|
|
(_(_e_connman_Name), _(_lbl_toggle_offline_mode), _act_toggle_offline_mode, |
|
|
|
|
NULL, NULL, 0); |
|
|
|
|
ctxt->actions.toggle_offline_mode->func.go = |
|
|
|
|
_connman_cb_toggle_offline_mode; |
|
|
|
|
e_action_predef_name_set |
|
|
|
|
(_(_e_connman_Name), _(_lbl_toggle_offline_mode), _act_toggle_offline_mode, |
|
|
|
|
NULL, NULL, 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1630,8 +1630,8 @@ _connman_actions_unregister(E_Connman_Module_Context *ctxt) |
|
|
|
|
{ |
|
|
|
|
if (ctxt->actions.toggle_offline_mode) |
|
|
|
|
{ |
|
|
|
|
e_action_predef_name_del(_(_e_connman_Name), _(_lbl_toggle_offline_mode)); |
|
|
|
|
e_action_del(_act_toggle_offline_mode); |
|
|
|
|
e_action_predef_name_del(_(_e_connman_Name), _(_lbl_toggle_offline_mode)); |
|
|
|
|
e_action_del(_act_toggle_offline_mode); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1697,9 +1697,9 @@ _connman_event_mode_changed(void *data, int type __UNUSED__, void *event __UNUSE |
|
|
|
|
return 1; |
|
|
|
|
if (!ctxt->offline_mode_pending) |
|
|
|
|
{ |
|
|
|
|
if (!e_connman_manager_offline_mode_set(e_config->mode.offline, |
|
|
|
|
_connman_toggle_offline_mode_cb, ctxt)) |
|
|
|
|
_connman_operation_error_show(_("Cannot toggle system's offline mode.")); |
|
|
|
|
if (!e_connman_manager_offline_mode_set(e_config->mode.offline, |
|
|
|
|
_connman_toggle_offline_mode_cb, ctxt)) |
|
|
|
|
_connman_operation_error_show(_("Cannot toggle system's offline mode.")); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
ctxt->offline_mode_pending = EINA_FALSE; |
|
|
|
@ -1826,12 +1826,12 @@ e_modapi_init(E_Module *m) |
|
|
|
|
|
|
|
|
|
if (_e_connman_log_dom < 0) |
|
|
|
|
{ |
|
|
|
|
_e_connman_log_dom = eina_log_domain_register("econnman", EINA_COLOR_ORANGE); |
|
|
|
|
if (_e_connman_log_dom < 0) |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_CRIT("could not register logging domain econnman"); |
|
|
|
|
goto error_log_domain; |
|
|
|
|
} |
|
|
|
|
_e_connman_log_dom = eina_log_domain_register("econnman", EINA_COLOR_ORANGE); |
|
|
|
|
if (_e_connman_log_dom < 0) |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_CRIT("could not register logging domain econnman"); |
|
|
|
|
goto error_log_domain; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_connman_configure_registry_register(); |
|
|
|
@ -1863,10 +1863,10 @@ _connman_instances_free(E_Connman_Module_Context *ctxt) |
|
|
|
|
|
|
|
|
|
inst = ctxt->instances->data; |
|
|
|
|
|
|
|
|
|
if (inst->popup) |
|
|
|
|
_connman_popup_del(inst); |
|
|
|
|
if (inst->tip) |
|
|
|
|
_connman_tip_del(inst); |
|
|
|
|
if (inst->popup) |
|
|
|
|
_connman_popup_del(inst); |
|
|
|
|
if (inst->tip) |
|
|
|
|
_connman_tip_del(inst); |
|
|
|
|
|
|
|
|
|
e_object_del(E_OBJECT(inst->gcc)); |
|
|
|
|
} |
|
|
|
|