From 770d58557ace288848733a33f6b3ef5ec18fc6f3 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Fri, 19 Jun 2015 15:47:48 +0200 Subject: add set*Power calls, replace in future with generic networking call Signed-off-by: Olliver Schinagl --- src/eulogium.c | 57 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 13 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 618b995..7f921a1 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -38,6 +38,9 @@ static void _cb_content_prev_set(void *data, Evas_Object *obj EINA_UNUSED, void static void _print_abort_confirm_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); static void _print_ignore_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); +static void _set_ethernet_power_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); +static void _set_wifi_power_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); +static void _set_hotspot_power_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); static void _but_material_change_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); static void _but_material_settings_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED); static void _but_system_maintenance_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED); @@ -492,42 +495,47 @@ static struct menu_def menu_settings_network = { .data = NULL, }, { .icon = NULL, - .label = "WiFi", + .label = "Ethernet", .item = { .type = LIST_ITEM_CHECK, .state = EINA_FALSE, ._widget = NULL, }, .dbus = { - .signal = "WifiPowerChanged", + /* .proxy = NULL; TODO keep a link to the proxy that is responsible for this item. */ + .signal = "EthernetPowerChanged", .sig_cb = on_signal_network_power_changed_ret, - .method = "isWifiPowered", - .met_cb = on_method_is_network_powered_ret, + .get = "isEthernetPowered", + .get_cb = on_method_is_network_powered_ret, + .set = "setEthernetPower", + .set_cb = on_method_generic_ret, }, .end = NULL, .footer = NULL, .footer_alt = NULL, - .func = NULL, + .func = _set_ethernet_power_cb, /* TODO _set_network_power can be possible */ .toggle_timer = NULL, .data = NULL, }, { .icon = NULL, - .label = "Ethernet", + .label = "WiFi", .item = { .type = LIST_ITEM_CHECK, .state = EINA_FALSE, ._widget = NULL, }, .dbus = { - .signal = "EthernetPowerChanged", + .signal = "WifiPowerChanged", .sig_cb = on_signal_network_power_changed_ret, - .method = "isEthernetPowered", - .met_cb = on_method_is_network_powered_ret, + .get = "isWifiPowered", + .get_cb = on_method_is_network_powered_ret, + .set = "setWifiPower", + .set_cb = on_method_generic_ret, }, .end = NULL, .footer = NULL, .footer_alt = NULL, - .func = NULL, + .func = _set_wifi_power_cb, .toggle_timer = NULL, .data = NULL, }, { @@ -541,13 +549,15 @@ static struct menu_def menu_settings_network = { .dbus = { .signal = "HotspotPowerChanged", .sig_cb = on_signal_network_power_changed_ret, - .method = "isHotspotPowered", - .met_cb = on_method_is_network_powered_ret, + .get = "isHotspotPowered", + .get_cb = on_method_is_network_powered_ret, + .set = "setHotspotPower", + .set_cb = on_method_generic_ret, }, .footer = NULL, .footer_alt = NULL, .end = NULL, - .func = NULL, + .func = _set_hotspot_power_cb, .toggle_timer = NULL, .data = NULL, }, { NULL }, /* sentinel */ @@ -2362,6 +2372,27 @@ static void _update_menu_footer_focus_cb(void *data, Evas_Object *obj EINA_UNUSE } +static void _set_ethernet_power_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + + eldbus_proxy_call(eulogium->dbus.proxy[NETWORK], "setEthernetPower", on_method_generic_ret, NULL, -1, "b", elm_check_state_get(obj)); +} + +static void _set_wifi_power_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + + eldbus_proxy_call(eulogium->dbus.proxy[NETWORK], "setWifiPower", on_method_generic_ret, NULL, -1, "b", elm_check_state_get(obj)); +} + +static void _set_hotspot_power_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + + eldbus_proxy_call(eulogium->dbus.proxy[NETWORK], "setHotspotPower", on_method_generic_ret, NULL, -1, "b", elm_check_state_get(obj)); +} + static void _menu_generate_filelist(struct eulogium_data *eulogium, Evas_Object *list, struct dir_entry_def *dir) { Evas_Object *icon; -- cgit v0.12