From 1cdb21dfc1e577fb60b6a427aaf04c9b408b5d9d Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 24 Jun 2015 07:29:49 +0200 Subject: rename dbus_handlers to dbus_common Signed-off-by: Olliver Schinagl --- src/Makefile.am | 2 +- src/dbus_common.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dbus_common.h | 33 ++++++++++++++++ src/dbus_handlers.c | 108 ---------------------------------------------------- src/dbus_handlers.h | 33 ---------------- src/eulogium.c | 2 +- src/procedures.c | 1 + src/widget_data.h | 2 +- 8 files changed, 145 insertions(+), 144 deletions(-) create mode 100644 src/dbus_common.c create mode 100644 src/dbus_common.h delete mode 100644 src/dbus_handlers.c delete mode 100644 src/dbus_handlers.h diff --git a/src/Makefile.am b/src/Makefile.am index 9c1f6c5..824e23b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,7 +12,7 @@ AM_CPPFLAGS = -DPACKAGE_BIN_DIR=\"$(bindir)/\" \ @EFL_CFLAGS@ eulogium_SOURCES = eulogium.c eulogium_item_list.c procedures.c \ - dbus_handlers.c + dbus_common.c eulogium_LDADD = @EFL_LIBS@ localedir = $(datadir)/locale diff --git a/src/dbus_common.c b/src/dbus_common.c new file mode 100644 index 0000000..dd3bae5 --- /dev/null +++ b/src/dbus_common.c @@ -0,0 +1,108 @@ +/* + * function and data types for signal handlers + * + * Copyright (c) 2015 Ultimaker B.V. + * Author: Olliver Schinagl + * + * SPDX-License-Identifier: AGPL-3.0+ + */ + +#include + +#include "dbus_common.h" +#include "eulogium.h" +#include "eulogium_item_list.h" + +void on_method_generic_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) +{ + + struct list_item *item = data; + const char *errname, *errmsg; + Eina_Bool state; + + if (eldbus_message_error_get(msg, &errname, &errmsg)) { + EINA_LOG_ERR("%s %s", errname, errmsg); + return; + } +} + +void on_method_get_network_info_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; /* TODO replace this by making networks direct via ** */ + struct network_data *networks = NULL; + const char *errname, *errmsg; + Eldbus_Message_Iter *array, *net_struct; + char *obj_path, *tech, *ipv4, *ipv6, *ssid, *dummy; + uint_fast16_t i = 0; + + if (eldbus_message_error_get(msg, &errname, &errmsg)) { + EINA_LOG_ERR("%s %s", errname, errmsg); + return; + } + if (!eldbus_message_arguments_get(msg, "a(osssss)", &array)) { + EINA_LOG_ERR("Message content does not match expected \"a(osssss)\" signature. (%s)", eldbus_message_signature_get(msg)); + return; + } + while (eldbus_message_iter_get_and_next(array, 'r', &net_struct)) + if (!eldbus_message_iter_arguments_get(net_struct, "osssss", &obj_path, &tech, &ipv4, &ipv6, &ssid, &dummy)) { + EINA_LOG_ERR("Message content does not match expected \"osssss\" signature. (%s)", eldbus_message_signature_get(msg)); + break; + } else { + networks = realloc(networks, (i + 2) * sizeof(struct network_data)); + if (!networks) { + EINA_LOG_ERR("Unable to allocate memory."); + } else { + size_t obj_pathsize = strlen(obj_path) + 1; + + networks[i].obj_path = malloc(obj_pathsize); + if (!networks[i].obj_path) + EINA_LOG_ERR("Unable to allocate memory."); + else + strncpy(networks[i].obj_path, obj_path, obj_pathsize); + + networks[i].tech = UNKNOWN; + if (strcmp(tech, _TECH_ETHERNET)) + networks[i].tech = TECH_ETHERNET; + if (strcmp(tech, _TECH_WIFI)) + networks[i].tech = TECH_WIFI; + + strncpy(networks[i].ipv4, ipv4, IPV4_MAX_LEN); + strncpy(networks[i].ipv6, ipv6, IPV6_MAX_LEN); + strncpy(networks[i].ssid, ssid, SSID_MAX_LEN); + } + i++; + } + networks[i].obj_path = NULL; /* sentinel */ + eulogium->networks = networks; +} + +void on_signal_network_info_changed_ret(void *data, const Eldbus_Message *msg) +{ + on_method_get_network_info_ret(data, msg, NULL); +} + +void on_method_is_network_powered_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) +{ + struct list_item *item = data; + const char *errname, *errmsg; + Eina_Bool state; + + if (eldbus_message_error_get(msg, &errname, &errmsg)) { + EINA_LOG_ERR("%s %s", errname, errmsg); + return; + } + if (!eldbus_message_arguments_get(msg, "b", &state)) { + EINA_LOG_ERR("Failed to get networking state."); + return; + } + item->state = state; + if (item->_widget) + elm_check_state_set(item->_widget, item->state); + + EINA_LOG_INFO("%s is now %d", eldbus_message_member_get(msg), item->state); +} + +void on_signal_network_power_changed_ret(void *data, const Eldbus_Message *msg) +{ + on_method_is_network_powered_ret(data, msg, NULL); +} diff --git a/src/dbus_common.h b/src/dbus_common.h new file mode 100644 index 0000000..fc3af51 --- /dev/null +++ b/src/dbus_common.h @@ -0,0 +1,33 @@ +/* + * function and data types for dbus calls + * + * Copyright (c) 2015 Ultimaker B.V. + * Author: Olliver Schinagl + * + * SPDX-License-Identifier: AGPL-3.0+ + */ + +#ifndef _DBUS_COMMON_H +#define _DBUS_COMMON_H + +#include +#include +#include + +struct dbus_handle { + const char *signal; + Eldbus_Signal_Cb sig_cb; + const char *get; + Eldbus_Message_Cb get_cb; + const char *set; + Eldbus_Message_Cb set_cb; + void *set_data; +}; + +void on_method_generic_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); +void on_method_get_network_info_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); +void on_signal_network_info_changed_ret(void *data, const Eldbus_Message *msg); +void on_method_is_network_powered_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); +void on_signal_network_power_changed_ret(void *data, const Eldbus_Message *msg); + +#endif /* _DBUS_COMMON_H */ diff --git a/src/dbus_handlers.c b/src/dbus_handlers.c deleted file mode 100644 index 7e30fca..0000000 --- a/src/dbus_handlers.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * function and data types for signal handlers - * - * Copyright (c) 2015 Ultimaker B.V. - * Author: Olliver Schinagl - * - * SPDX-License-Identifier: AGPL-3.0+ - */ - -#include - -#include "dbus_handlers.h" -#include "eulogium.h" -#include "eulogium_item_list.h" - -void on_method_generic_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) -{ - - struct list_item *item = data; - const char *errname, *errmsg; - Eina_Bool state; - - if (eldbus_message_error_get(msg, &errname, &errmsg)) { - EINA_LOG_ERR("%s %s", errname, errmsg); - return; - } -} - -void on_method_get_network_info_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) -{ - struct eulogium_data *eulogium = data; /* TODO replace this by making networks direct via ** */ - struct network_data *networks = NULL; - const char *errname, *errmsg; - Eldbus_Message_Iter *array, *net_struct; - char *obj_path, *tech, *ipv4, *ipv6, *ssid, *dummy; - uint_fast16_t i = 0; - - if (eldbus_message_error_get(msg, &errname, &errmsg)) { - EINA_LOG_ERR("%s %s", errname, errmsg); - return; - } - if (!eldbus_message_arguments_get(msg, "a(osssss)", &array)) { - EINA_LOG_ERR("Message content does not match expected \"a(osssss)\" signature. (%s)", eldbus_message_signature_get(msg)); - return; - } - while (eldbus_message_iter_get_and_next(array, 'r', &net_struct)) - if (!eldbus_message_iter_arguments_get(net_struct, "osssss", &obj_path, &tech, &ipv4, &ipv6, &ssid, &dummy)) { - EINA_LOG_ERR("Message content does not match expected \"osssss\" signature. (%s)", eldbus_message_signature_get(msg)); - break; - } else { - networks = realloc(networks, (i + 2) * sizeof(struct network_data)); - if (!networks) { - EINA_LOG_ERR("Unable to allocate memory."); - } else { - size_t obj_pathsize = strlen(obj_path) + 1; - - networks[i].obj_path = malloc(obj_pathsize); - if (!networks[i].obj_path) - EINA_LOG_ERR("Unable to allocate memory."); - else - strncpy(networks[i].obj_path, obj_path, obj_pathsize); - - networks[i].tech = UNKNOWN; - if (strcmp(tech, _TECH_ETHERNET)) - networks[i].tech = TECH_ETHERNET; - if (strcmp(tech, _TECH_WIFI)) - networks[i].tech = TECH_WIFI; - - strncpy(networks[i].ipv4, ipv4, IPV4_MAX_LEN); - strncpy(networks[i].ipv6, ipv6, IPV6_MAX_LEN); - strncpy(networks[i].ssid, ssid, SSID_MAX_LEN); - } - i++; - } - networks[i].obj_path = NULL; /* sentinel */ - eulogium->networks = networks; -} - -void on_signal_network_info_changed_ret(void *data, const Eldbus_Message *msg) -{ - on_method_get_network_info_ret(data, msg, NULL); -} - -void on_method_is_network_powered_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) -{ - struct list_item *item = data; - const char *errname, *errmsg; - Eina_Bool state; - - if (eldbus_message_error_get(msg, &errname, &errmsg)) { - EINA_LOG_ERR("%s %s", errname, errmsg); - return; - } - if (!eldbus_message_arguments_get(msg, "b", &state)) { - EINA_LOG_ERR("Failed to get networking state."); - return; - } - item->state = state; - if (item->_widget) - elm_check_state_set(item->_widget, item->state); - - EINA_LOG_INFO("%s is now %d", eldbus_message_member_get(msg), item->state); -} - -void on_signal_network_power_changed_ret(void *data, const Eldbus_Message *msg) -{ - on_method_is_network_powered_ret(data, msg, NULL); -} diff --git a/src/dbus_handlers.h b/src/dbus_handlers.h deleted file mode 100644 index 3086fe7..0000000 --- a/src/dbus_handlers.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * function and data types for dbus calls - * - * Copyright (c) 2015 Ultimaker B.V. - * Author: Olliver Schinagl - * - * SPDX-License-Identifier: AGPL-3.0+ - */ - -#ifndef _DBUS_HANDLERS_H -#define _DBUS_HANDLERS_H - -#include -#include -#include - -struct dbus_handle { - const char *signal; - Eldbus_Signal_Cb sig_cb; - const char *get; - Eldbus_Message_Cb get_cb; - const char *set; - Eldbus_Message_Cb set_cb; - void *set_data; -}; - -void on_method_generic_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); -void on_method_get_network_info_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); -void on_signal_network_info_changed_ret(void *data, const Eldbus_Message *msg); -void on_method_is_network_powered_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED); -void on_signal_network_power_changed_ret(void *data, const Eldbus_Message *msg); - -#endif /* _DBUS_HANDLERS_H */ diff --git a/src/eulogium.c b/src/eulogium.c index d3774e1..f24ad73 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -13,12 +13,12 @@ #include #include +#include "dbus_common.h" #include "eulogium.h" #include "eulogium_item_list.h" #include "eulogium_private.h" #include "gettext.h" #include "procedures.h" -#include "dbus_handlers.h" #include "widget_data.h" #define COPYRIGHT "Copyright © 2015 Olliver Schinagl and various contributors (see AUTHORS)." diff --git a/src/procedures.c b/src/procedures.c index f89e3be..be3ab5e 100644 --- a/src/procedures.c +++ b/src/procedures.c @@ -13,6 +13,7 @@ #include "procedures.h" +#include "dbus_common.h" #include "print_data.h" #define _PROC_PRINT "PRINT" diff --git a/src/widget_data.h b/src/widget_data.h index bc50900..2cab4bc 100644 --- a/src/widget_data.h +++ b/src/widget_data.h @@ -15,7 +15,7 @@ #include #include -#include "dbus_handlers.h" +#include "dbus_common.h" #include "eulogium_item_list.h" struct button_cb { -- cgit v0.12