forked from enlightenment/enlightenment
e/connman: update manager information on UI
SVN revision: 76032
This commit is contained in:
parent
15dd8a74eb
commit
90d02d48da
|
@ -71,4 +71,8 @@ extern int E_CONNMAN_EVENT_MANAGER_OUT;
|
|||
unsigned int e_connman_system_init(E_DBus_Connection *edbus_conn) EINA_ARG_NONNULL(1);
|
||||
unsigned int e_connman_system_shutdown(void);
|
||||
|
||||
/* UI calls from econnman */
|
||||
|
||||
void econnman_mod_manager_update(struct Connman_Manager *cm);
|
||||
|
||||
#endif /* E_CONNMAN_H */
|
||||
|
|
|
@ -239,7 +239,7 @@ static void _manager_get_services_cb(void *data, DBusMessage *reply,
|
|||
}
|
||||
}
|
||||
|
||||
static void _manager_parse_prop_changed(struct Connman_Manager *cm,
|
||||
static bool _manager_parse_prop_changed(struct Connman_Manager *cm,
|
||||
const char *name,
|
||||
DBusMessageIter *value)
|
||||
{
|
||||
|
@ -253,7 +253,13 @@ static void _manager_parse_prop_changed(struct Connman_Manager *cm,
|
|||
else if (strcmp(name, "OfflineMode") == 0)
|
||||
cm->offline_mode = _dbus_bool_get(value);
|
||||
else
|
||||
DBG("Unhandled property '%s'", name);
|
||||
{
|
||||
DBG("Unhandled property '%s'", name);
|
||||
return false;
|
||||
}
|
||||
|
||||
econnman_mod_manager_update(cm);
|
||||
return true;
|
||||
}
|
||||
|
||||
static void _manager_prop_changed(void *data, DBusMessage *msg)
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "e.h"
|
||||
#include "e_mod_main.h"
|
||||
|
||||
#include "E_Connman.h"
|
||||
|
||||
static E_Module *connman_mod;
|
||||
static char tmpbuf[4096]; /* general purpose buffer, just use immediately */
|
||||
|
||||
|
@ -25,6 +27,75 @@ e_connman_theme_path(void)
|
|||
#undef TF
|
||||
}
|
||||
|
||||
static void _econnman_mod_manager_update_inst(E_Connman_Module_Context *ctxt,
|
||||
E_Connman_Instance *inst,
|
||||
enum Connman_State state,
|
||||
enum Connman_Service_Type type)
|
||||
{
|
||||
Evas_Object *o = inst->ui.gadget;
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case CONNMAN_STATE_ONLINE:
|
||||
edje_object_signal_emit(o, "e,changed,connected,yes", "e");
|
||||
edje_object_signal_emit(o, "e,changed,state,online", "e");
|
||||
break;
|
||||
case CONNMAN_STATE_READY:
|
||||
edje_object_signal_emit(o, "e,changed,connected,yes", "e");
|
||||
edje_object_signal_emit(o, "e,changed,state,ready", "e");
|
||||
break;
|
||||
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:
|
||||
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:
|
||||
edje_object_signal_emit(o, "e,changed,connected,no", "e");
|
||||
edje_object_signal_emit(o, "e,changed,state,failure", "e");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case CONNMAN_SERVICE_TYPE_ETHERNET:
|
||||
edje_object_signal_emit(o, "e,changed,technology,ethernet", "e");
|
||||
break;
|
||||
case CONNMAN_SERVICE_TYPE_WIFI:
|
||||
edje_object_signal_emit(o, "e,changed,technology,wifi", "e");
|
||||
break;
|
||||
case CONNMAN_SERVICE_TYPE_NONE:
|
||||
edje_object_signal_emit(o, "e,changed,technology,none", "e");
|
||||
break;
|
||||
}
|
||||
|
||||
DBG("state=%d type=%d", state, type);
|
||||
}
|
||||
|
||||
void econnman_mod_manager_update(struct Connman_Manager *cm)
|
||||
{
|
||||
enum Connman_Service_Type type;
|
||||
E_Connman_Module_Context *ctxt = connman_mod->data;
|
||||
E_Connman_Instance *inst;
|
||||
Eina_List *l;
|
||||
|
||||
DBG("cm->services=%p", cm->services);
|
||||
|
||||
if (cm->services)
|
||||
{
|
||||
struct Connman_Service *cs = EINA_INLIST_CONTAINER_GET(cm->services,
|
||||
struct Connman_Service);
|
||||
type = cs->type;
|
||||
}
|
||||
else
|
||||
type = CONNMAN_SERVICE_TYPE_NONE;
|
||||
|
||||
EINA_LIST_FOREACH(ctxt->instances, l, inst)
|
||||
_econnman_mod_manager_update_inst(ctxt, inst, cm->state, type);
|
||||
}
|
||||
|
||||
static void _econnman_gadget_setup(E_Connman_Instance *inst)
|
||||
{
|
||||
E_Connman_Module_Context *ctxt = inst->ctxt;
|
||||
|
|
Loading…
Reference in New Issue