e/connman: state transitions back to sanity

SVN revision: 76046
This commit is contained in:
Lucas De Marchi 2012-09-03 21:59:30 +00:00
parent 2553881343
commit bccb734939
1 changed files with 11 additions and 16 deletions

View File

@ -134,32 +134,29 @@ static void _econnman_mod_manager_update_inst(E_Connman_Module_Context *ctxt,
enum Connman_State state, enum Connman_State state,
enum Connman_Service_Type type) enum Connman_Service_Type type)
{ {
char buf[128];
Evas_Object *o = inst->ui.gadget; Evas_Object *o = inst->ui.gadget;
const char *statestr;
switch (state) switch (state)
{ {
case CONNMAN_STATE_ONLINE: case CONNMAN_STATE_ONLINE:
edje_object_signal_emit(o, "e,changed,connected,yes", "e"); edje_object_signal_emit(o, "e,changed,connected,yes", "e");
edje_object_signal_emit(o, "e,changed,state,online", "e");
break; break;
case CONNMAN_STATE_READY: case CONNMAN_STATE_READY:
edje_object_signal_emit(o, "e,changed,connected,yes", "e"); edje_object_signal_emit(o, "e,changed,connected,yes", "e");
edje_object_signal_emit(o, "e,changed,state,ready", "e");
break; break;
case CONNMAN_STATE_IDLE: case CONNMAN_STATE_IDLE:
edje_object_signal_emit(o, "e,changed,connected,no", "e");
edje_object_signal_emit(o, "e,changed,state,idle", "e");
break;
case CONNMAN_STATE_OFFLINE: case CONNMAN_STATE_OFFLINE:
edje_object_signal_emit(o, "e,changed,connected,no", "e");
edje_object_signal_emit(o, "e,changed,state,disconnect", "e");
break;
case CONNMAN_STATE_NONE: case CONNMAN_STATE_NONE:
edje_object_signal_emit(o, "e,changed,connected,no", "e"); edje_object_signal_emit(o, "e,changed,connected,no", "e");
edje_object_signal_emit(o, "e,changed,state,failure", "e");
break; break;
} }
statestr = econnman_state_to_str(state);
snprintf(buf, sizeof(buf), "e,changed,state,%s", statestr);
edje_object_signal_emit(o, statestr, "e");
switch (type) switch (type)
{ {
case CONNMAN_SERVICE_TYPE_ETHERNET: case CONNMAN_SERVICE_TYPE_ETHERNET:
@ -169,11 +166,7 @@ static void _econnman_mod_manager_update_inst(E_Connman_Module_Context *ctxt,
edje_object_signal_emit(o, "e,changed,technology,wifi", "e"); edje_object_signal_emit(o, "e,changed,technology,wifi", "e");
break; break;
case CONNMAN_SERVICE_TYPE_NONE: case CONNMAN_SERVICE_TYPE_NONE:
if (state == CONNMAN_STATE_ONLINE || state == CONNMAN_STATE_READY) edje_object_signal_emit(o, "e,changed,technology,none", "e");
edje_object_signal_emit(o, "e,changed,technology,none,others", "e");
else
edje_object_signal_emit(o, "e,changed,technology,none,others", "e");
break; break;
} }
@ -191,7 +184,8 @@ void econnman_mod_manager_update(struct Connman_Manager *cm)
DBG("cm->services=%p", cm->services); DBG("cm->services=%p", cm->services);
if (cm->services) if (cm->services && (cm->state == CONNMAN_STATE_ONLINE ||
cm->state == CONNMAN_STATE_READY))
{ {
struct Connman_Service *cs = EINA_INLIST_CONTAINER_GET(cm->services, struct Connman_Service *cs = EINA_INLIST_CONTAINER_GET(cm->services,
struct Connman_Service); struct Connman_Service);
@ -234,7 +228,8 @@ void econnman_mod_manager_inout(struct Connman_Manager *cm)
EINA_LIST_FOREACH(ctxt->instances, l, inst) EINA_LIST_FOREACH(ctxt->instances, l, inst)
_econnman_gadget_setup(inst); _econnman_gadget_setup(inst);
econnman_mod_manager_update(cm); if (ctxt->cm)
econnman_mod_manager_update(cm);
} }
static void static void