From 3ad4f334aa6636e8dccbc37e1d395219baa93bf9 Mon Sep 17 00:00:00 2001 From: raster Date: Sun, 20 Nov 2011 04:32:51 +0000 Subject: [PATCH] let's go back to not having a broken api. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@65418 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/bin/e_dbus_connman_test.c | 2 +- src/lib/connman/E_Connman.h | 11 ++++- src/lib/connman/e_connman.c | 22 +++++++++- src/lib/connman/e_connman_private.h | 6 +++ src/lib/connman/e_connman_service.c | 81 ++++++++++++++++++++++++++++++++++++- 5 files changed, 117 insertions(+), 5 deletions(-) diff --git a/src/bin/e_dbus_connman_test.c b/src/bin/e_dbus_connman_test.c index 6767b1c..e0fa7f0 100644 --- a/src/bin/e_dbus_connman_test.c +++ b/src/bin/e_dbus_connman_test.c @@ -922,7 +922,7 @@ _on_cmd_service_get_security(__UNUSED__ char *cmd, char *args) path = args; e = e_connman_service_get(path); - if (e_connman_service_security_get(e, &count, &security)) + if (e_connman_service_security2_get(e, &count, &security)) { unsigned int i; for (i = 0; i < count; i++) diff --git a/src/lib/connman/E_Connman.h b/src/lib/connman/E_Connman.h index 060ea1a..499f62e 100644 --- a/src/lib/connman/E_Connman.h +++ b/src/lib/connman/E_Connman.h @@ -138,7 +138,7 @@ EAPI Eina_Bool e_connman_service_state_get(const E_Connman_Element EAPI Eina_Bool e_connman_service_error_get(const E_Connman_Element *service, const char **error) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; EAPI Eina_Bool e_connman_service_name_get(const E_Connman_Element *service, const char **name) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; EAPI Eina_Bool e_connman_service_type_get(const E_Connman_Element *service, const char **type) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; -EAPI Eina_Bool e_connman_service_security_get(const E_Connman_Element *service, unsigned int *count, const char ***security) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_security2_get(const E_Connman_Element *service, unsigned int *count, const char ***security) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; EAPI Eina_Bool e_connman_service_passphrase_get(const E_Connman_Element *service, const char **passphrase) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; EAPI Eina_Bool e_connman_service_passphrase_set(E_Connman_Element *service, const char *passphrase, E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; @@ -238,6 +238,15 @@ EAPI Eina_Bool e_connman_element_is_profile(const E_Connman_Element EAPI Eina_Bool e_connman_element_is_service(const E_Connman_Element *element) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; EAPI Eina_Bool e_connman_element_is_technology(const E_Connman_Element *element) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; +/* compat api's */ +EAPI Eina_Bool e_connman_service_apn_get(const E_Connman_Element *service, const char **apn) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_apn_set(E_Connman_Element *service, const char *apn, E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_ethernet_netmask_get(const E_Connman_Element *service, const char **netmask) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_mnc_get(const E_Connman_Element *service, const char **mnc) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_mode_get(const E_Connman_Element *service, const char **mode) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_security_get(const E_Connman_Element *service, const char **security) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Bool e_connman_service_setup_required_get(const E_Connman_Element *service, Eina_Bool *setup_required) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT; + #ifdef __cplusplus } #endif diff --git a/src/lib/connman/e_connman.c b/src/lib/connman/e_connman.c index b7911b0..a1ebf23 100644 --- a/src/lib/connman/e_connman.c +++ b/src/lib/connman/e_connman.c @@ -68,6 +68,12 @@ const char *e_connman_prop_url = NULL; const char *e_connman_prop_servers = NULL; const char *e_connman_prop_excludes = NULL; +/* compat api's - quickly pulled in old implementations */ +const char *e_connman_prop_apn = NULL; +const char *e_connman_prop_mcc = NULL; +const char *e_connman_prop_mode = NULL; +const char *e_connman_prop_setup_required = NULL; + int _e_dbus_connman_log_dom = -1; const char * @@ -325,7 +331,7 @@ e_connman_system_init(E_DBus_Connection *edbus_conn) #define ADD_STRINGSHARE(name, s) \ if (!name) \ name = eina_stringshare_add(s) -/* +/* dynamically determined either net.connman or org.moblin... ADD_STRINGSHARE(e_connman_iface_manager, "net.connman.Manager"); ADD_STRINGSHARE(e_connman_iface_profile, "net.connman.Profile"); ADD_STRINGSHARE(e_connman_iface_service, "net.connman.Service"); @@ -378,6 +384,13 @@ e_connman_system_init(E_DBus_Connection *edbus_conn) ADD_STRINGSHARE(e_connman_prop_url, "URL"); ADD_STRINGSHARE(e_connman_prop_servers, "Servers"); ADD_STRINGSHARE(e_connman_prop_excludes, "Excludes"); + + /* compat api's - quickly pulled in old implementations */ + ADD_STRINGSHARE(e_connman_prop_apn, "APN"); + ADD_STRINGSHARE(e_connman_prop_mcc, "MCC"); + ADD_STRINGSHARE(e_connman_prop_mode, "Mode"); + ADD_STRINGSHARE(e_connman_prop_security, "Security"); + ADD_STRINGSHARE(e_connman_prop_setup_required, "SetupRequired"); #undef ADD_STRINGSHARE @@ -481,6 +494,12 @@ e_connman_system_shutdown(void) _stringshare_del(&e_connman_prop_servers); _stringshare_del(&e_connman_prop_excludes); + /* compat api's - quickly pulled in old implementations */ + _stringshare_del(&e_connman_prop_apn); + _stringshare_del(&e_connman_prop_mcc); + _stringshare_del(&e_connman_prop_mode); + _stringshare_del(&e_connman_prop_setup_required); + if (pending_get_name_owner) { dbus_pending_call_cancel(pending_get_name_owner); @@ -502,4 +521,3 @@ e_connman_system_shutdown(void) return init_count; } - diff --git a/src/lib/connman/e_connman_private.h b/src/lib/connman/e_connman_private.h index f13c936..ecda248 100644 --- a/src/lib/connman/e_connman_private.h +++ b/src/lib/connman/e_connman_private.h @@ -85,6 +85,12 @@ extern const char *e_connman_prop_url; extern const char *e_connman_prop_servers; extern const char *e_connman_prop_excludes; +/* compat api's - quickly pulled in old implementations */ +extern const char *e_connman_prop_apn; +extern const char *e_connman_prop_mcc; +extern const char *e_connman_prop_mode; +extern const char *e_connman_prop_setup_required; + extern int _e_dbus_connman_log_dom; #ifndef EINA_LOG_DEFAULT_COLOR diff --git a/src/lib/connman/e_connman_service.c b/src/lib/connman/e_connman_service.c index 9638b4f..8540a30 100644 --- a/src/lib/connman/e_connman_service.c +++ b/src/lib/connman/e_connman_service.c @@ -351,7 +351,7 @@ e_connman_service_type_get(const E_Connman_Element *service, const char **type) * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise. */ Eina_Bool -e_connman_service_security_get(const E_Connman_Element *service, unsigned int *count, const char ***security) +e_connman_service_security2_get(const E_Connman_Element *service, unsigned int *count, const char ***security) { EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(count, EINA_FALSE); @@ -1620,3 +1620,82 @@ e_connman_service_ethernet_mtu_get(const E_Connman_Element *service, unsigned sh return e_connman_element_property_dict_get_stringshared (service, e_connman_prop_ethernet, e_connman_prop_mtu, NULL, mtu); } + + + + + + + + + + + + + + + + +/* compat api's - quickly pulled in old implementations */ +EAPI Eina_Bool +e_connman_service_apn_get(const E_Connman_Element *service, const char **apn) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(apn, EINA_FALSE); + return e_connman_element_property_get_stringshared + (service, e_connman_prop_apn, NULL, apn); +} + +EAPI Eina_Bool +e_connman_service_apn_set(E_Connman_Element *service, const char *apn, E_DBus_Method_Return_Cb cb, const void *data) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + return e_connman_element_property_set_full + (service, e_connman_prop_apn, DBUS_TYPE_STRING, + apn, cb, data); +} + +EAPI Eina_Bool +e_connman_service_ethernet_netmask_get(const E_Connman_Element *service, const char **netmask) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(netmask, EINA_FALSE); + return e_connman_element_property_dict_get_stringshared + (service, e_connman_prop_ethernet, e_connman_prop_netmask, NULL, netmask); +} + +EAPI Eina_Bool +e_connman_service_mcc_get(const E_Connman_Element *service, const char **mcc) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(mcc, EINA_FALSE); + return e_connman_element_property_get_stringshared + (service, e_connman_prop_mcc, NULL, mcc); +} + +EAPI Eina_Bool +e_connman_service_mode_get(const E_Connman_Element *service, const char **mode) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(mode, EINA_FALSE); + return e_connman_element_property_get_stringshared + (service, e_connman_prop_mode, NULL, mode); +} + +EAPI Eina_Bool +e_connman_service_security_get(const E_Connman_Element *service, const char **security) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(security, EINA_FALSE); + return e_connman_element_property_get_stringshared + (service, e_connman_prop_security, NULL, security); +} + +EAPI Eina_Bool +e_connman_service_setup_required_get(const E_Connman_Element *service, Eina_Bool *setup_required) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(setup_required, EINA_FALSE); + return e_connman_element_property_get_stringshared + (service, e_connman_prop_setup_required, NULL, setup_required); +} -- 2.7.4