From 3a1d2bdc32c165d3f088358b737ac5824a81fabd Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Tue, 11 Apr 2017 19:13:14 +0900 Subject: [PATCH] Replaced wifi CAPIs with wifi-manager CAPIs Change-Id: Ib50d355c6148d4158d907945033790971456762a Signed-off-by: Seonah Moon --- CMakeLists.txt | 2 +- include/mobileap_wifi.h | 3 ++ packaging/mobileap-agent.spec | 77 +++++++++++++++++++++---------------------- src/mobileap_main.c | 12 ++----- src/mobileap_wifi.c | 42 ++++++++++++++++------- 5 files changed, 74 insertions(+), 62 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 973faa6..4b0a39d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ INCLUDE_DIRECTORIES(${INCLUDE_DIR} ${CMAKE_SOURCE_DIR}) INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED gio-2.0 gio-unix-2.0 dbus-1 dlog deviced vconf notification capi-network-connection capi-network-bluetooth syspopup-caller - appcore-common capi-network-wifi capi-network-wifi-direct alarm-service appsvc libcrypto key-manager libtzplatform-config dpm + appcore-common capi-network-wifi-manager capi-network-wifi-direct alarm-service appsvc libcrypto key-manager libtzplatform-config dpm capi-system-info) FOREACH(flag ${pkgs_CFLAGS}) diff --git a/include/mobileap_wifi.h b/include/mobileap_wifi.h index c9098c2..d6ada34 100644 --- a/include/mobileap_wifi.h +++ b/include/mobileap_wifi.h @@ -47,6 +47,9 @@ typedef struct { mobile_ap_address_type_e address_type; } wifi_saved_settings; +void _init_wifi_manager(void); +void _deinit_wifi_manager(void); + int _get_wifi_name_from_lease_info(const char *mac, char **name_buf); /* Wi-Fi tethering */ diff --git a/packaging/mobileap-agent.spec b/packaging/mobileap-agent.spec index f465c12..5cfad2b 100644 --- a/packaging/mobileap-agent.spec +++ b/packaging/mobileap-agent.spec @@ -1,52 +1,51 @@ -Name: mobileap-agent -Summary: Mobile AP daemon for setting tethering environments -Version: 1.0.91 -Release: 1 -Group: System/Network -License: Apache-2.0 -Source0: %{name}-%{version}.tar.gz -Source1: mobileap-agent.service -Source2: org.tizen.MobileapAgent.service - -BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(gio-2.0) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gthread-2.0) -BuildRequires: pkgconfig(deviced) -BuildRequires: pkgconfig(vconf) -BuildRequires: pkgconfig(notification) -BuildRequires: pkgconfig(capi-network-connection) -BuildRequires: pkgconfig(capi-network-bluetooth) -BuildRequires: pkgconfig(syspopup-caller) -BuildRequires: pkgconfig(bundle) -BuildRequires: pkgconfig(appcore-common) -BuildRequires: pkgconfig(capi-network-wifi-direct) -BuildRequires: pkgconfig(capi-network-wifi) -BuildRequires: pkgconfig(capi-system-info) -BuildRequires: pkgconfig(alarm-service) -BuildRequires: pkgconfig(appsvc) -BuildRequires: pkgconfig(libcrypto) -BuildRequires: pkgconfig(key-manager) -BuildRequires: pkgconfig(libtzplatform-config) -BuildRequires: pkgconfig(dpm) -BuildRequires: cmake -Requires: iproute2 -Requires: iptables -Requires: dnsmasq +Name: mobileap-agent +Summary: Mobile AP daemon for setting tethering environments +Version: 1.0.92 +Release: 1 +Group: System/Network +License: Apache-2.0 +Source0: %{name}-%{version}.tar.gz +Source1: mobileap-agent.service +Source2: org.tizen.MobileapAgent.service +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gthread-2.0) +BuildRequires: pkgconfig(deviced) +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(notification) +BuildRequires: pkgconfig(capi-network-connection) +BuildRequires: pkgconfig(capi-network-bluetooth) +BuildRequires: pkgconfig(syspopup-caller) +BuildRequires: pkgconfig(bundle) +BuildRequires: pkgconfig(appcore-common) +BuildRequires: pkgconfig(capi-network-wifi-direct) +BuildRequires: pkgconfig(capi-network-wifi-manager) +BuildRequires: pkgconfig(capi-system-info) +BuildRequires: pkgconfig(alarm-service) +BuildRequires: pkgconfig(appsvc) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(key-manager) +BuildRequires: pkgconfig(libtzplatform-config) +BuildRequires: pkgconfig(dpm) +BuildRequires: cmake +Requires: iproute2 +Requires: iptables +Requires: dnsmasq %description Mobile AP daemon for setting tethering environments %ifarch %{arm} %package extension-TM1 -Summary: Extension for mobile TM1 -Requires: %{name} = %{version}-%{release} +Summary: Extension for mobile TM1 +Requires: %{name} = %{version}-%{release} %description extension-TM1 Mobile AP daemon for setting tethering environments for mobile TM1 %package extension-RPi -Summary: Extension for mobile RPi -Requires: %{name} = %{version}-%{release} +Summary: Extension for mobile RPi +Requires: %{name} = %{version}-%{release} %description extension-RPi Mobile AP daemon for setting SoftAP environments for RPi %endif diff --git a/src/mobileap_main.c b/src/mobileap_main.c index e391367..42d0656 100755 --- a/src/mobileap_main.c +++ b/src/mobileap_main.c @@ -29,7 +29,6 @@ #include #include #include -#include #ifndef TIZEN_FEATURE_RPI #include @@ -784,11 +783,7 @@ int main(int argc, char **argv) } _register_wifi_station_handler(); - - ret = wifi_initialize(); - if (ret != WIFI_ERROR_NONE) - ERR("wifi_initialize() is failed : %d\n", ret); - + _init_wifi_manager(); #ifndef TIZEN_FEATURE_RPI ret = alarmmgr_init(APPNAME); if (ret != ALARMMGR_RESULT_SUCCESS) { @@ -808,10 +803,7 @@ int main(int argc, char **argv) alarmmgr_fini(); #endif - ret = wifi_deinitialize(); - if (ret != WIFI_ERROR_NONE) - ERR("wifi_deinitialize() is failed : %d\n", ret); - + _deinit_wifi_manager(); _mh_core_reset_mac(); #ifndef TIZEN_FEATURE_RPI _unregister_vconf_cb(); diff --git a/src/mobileap_wifi.c b/src/mobileap_wifi.c index bff722a..1c60c3f 100755 --- a/src/mobileap_wifi.c +++ b/src/mobileap_wifi.c @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include @@ -54,6 +54,24 @@ static gboolean is_softap = FALSE; static wifi_saved_settings wifi_settings = {0, 0, 0, NULL, NULL, NULL, 0, 0}; static softap_settings_t obj_softap_settings = {0, "", "", "", "", 0, 0, 0, 0}; +static wifi_manager_h wifi_manager = NULL; + +void _init_wifi_manager(void) +{ + int ret = wifi_manager_initialize(&wifi_manager); + if (ret != WIFI_MANAGER_ERROR_NONE) + ERR("Failed to initialize wifi-manager!!"); +} + +void _deinit_wifi_manager(void) +{ + int ret = wifi_manager_deinitialize(wifi_manager); + if (ret != WIFI_MANAGER_ERROR_NONE) + ERR("Failed to deinitialize wifi-manager!!"); + + wifi_manager = NULL; +} + softap_settings_t *_get_softap_settings() { return &obj_softap_settings; @@ -88,7 +106,7 @@ static void _wifi_direct_state_cb(int error_code, wifi_direct_device_state_e sta } DBG("Wi-Fi direct is turned off\n"); - wifi_is_activated(&wifi_state); + wifi_manager_is_activated(wifi_manager, &wifi_state); if (wifi_state) { DBG("Wi-Fi is turned on. Turn off Wi-Fi"); if (__turn_off_wifi(obj) != MOBILE_AP_ERROR_NONE) { @@ -138,14 +156,14 @@ DONE: return; } -static void __wifi_activated_cb(wifi_error_e result, void *user_data) +static void __wifi_manager_activated_cb(wifi_manager_error_e result, void *user_data) { DBG("Wi-Fi on is done\n"); return; } -static void __wifi_deactivated_cb(wifi_error_e result, void *user_data) +static void __wifi_manager_deactivated_cb(wifi_manager_error_e result, void *user_data) { DBG("+\n"); @@ -157,7 +175,7 @@ static void __wifi_deactivated_cb(wifi_error_e result, void *user_data) void *obj = (Tethering *)user_data; int ret; - if (result != WIFI_ERROR_NONE) { + if (result != WIFI_MANAGER_ERROR_NONE) { ERR("__wifi_deactivated_cb error : %d\n", result); ret = MOBILE_AP_ERROR_INTERNAL; goto DONE; @@ -209,8 +227,8 @@ static int __turn_off_wifi(void *obj) { int ret; - ret = wifi_deactivate(__wifi_deactivated_cb, obj); - if (ret != WIFI_ERROR_NONE) { + ret = wifi_manager_deactivate(wifi_manager, __wifi_manager_deactivated_cb, obj); + if (ret != WIFI_MANAGER_ERROR_NONE) { ERR("wifi_deactivate() is failed : %d\n", ret); return MOBILE_AP_ERROR_INTERNAL; } @@ -225,9 +243,9 @@ static gboolean __turn_on_wifi_timeout_cb(gpointer user_data) wifi_recovery_timeout_id = 0; - ret = wifi_activate(__wifi_activated_cb, NULL); - if (ret != WIFI_ERROR_NONE) - ERR("wifi_activate() is failed : %d\n", ret); + ret = wifi_manager_activate(wifi_manager, __wifi_manager_activated_cb, NULL); + if (ret != WIFI_MANAGER_ERROR_NONE) + ERR("wifi_manager_activate() is failed : %d\n", ret); idle_id = g_idle_add(_terminate_mobileap_agent, NULL); if (idle_id == 0) @@ -862,7 +880,7 @@ gboolean tethering_enable_wifi_tethering(Tethering *obj, return TRUE; } - wifi_is_activated(&wifi_state); + wifi_manager_is_activated(wifi_manager, &wifi_state); if (wifi_state == true) { DBG("Wi-Fi is turned on\n"); if (__turn_off_wifi(obj) != MOBILE_AP_ERROR_NONE) { @@ -1295,7 +1313,7 @@ gboolean softap_enable(Softap *obj, GDBusMethodInvocation *context, return TRUE; } - wifi_is_activated(&wifi_state); + wifi_manager_is_activated(wifi_manager, &wifi_state); if (wifi_state == true) { DBG("Wi-Fi is turned on\n"); if (__turn_off_wifi(obj) != MOBILE_AP_ERROR_NONE) { -- 2.7.4