From e3903aaeaef483a8ba85360c1778e8b97b4114d2 Mon Sep 17 00:00:00 2001 From: Hyunjin Park Date: Wed, 7 Sep 2016 19:42:31 -0700 Subject: [PATCH] Revert "[SystemInfo] Replace deprecated native wifi API with wifi-manager API" This reverts commit 78ab25f63f094d4b623ebc3fdf3e46672e2551d6. Change-Id: Ie7634797434f39ef968dfbc775895e7d480b0cb5 --- packaging/webapi-plugins.spec | 2 +- src/systeminfo/systeminfo.gyp | 2 +- src/systeminfo/systeminfo_manager.cc | 25 ++-- src/systeminfo/systeminfo_manager.h | 9 +- .../systeminfo_properties_manager.cc | 107 +++++++++--------- 5 files changed, 68 insertions(+), 77 deletions(-) diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec index a9736698..eb12889c 100644 --- a/packaging/webapi-plugins.spec +++ b/packaging/webapi-plugins.spec @@ -359,7 +359,7 @@ BuildRequires: pkgconfig(capi-network-connection) BuildRequires: pkgconfig(capi-system-device) BuildRequires: pkgconfig(capi-system-system-settings) BuildRequires: pkgconfig(capi-network-bluetooth) -BuildRequires: pkgconfig(capi-network-wifi-manager) +BuildRequires: pkgconfig(capi-network-wifi) BuildRequires: pkgconfig(tapi) BuildRequires: pkgconfig(libpcrecpp) BuildRequires: pkgconfig(capi-appfw-application) diff --git a/src/systeminfo/systeminfo.gyp b/src/systeminfo/systeminfo.gyp index ae9d39fb..618754a3 100644 --- a/src/systeminfo/systeminfo.gyp +++ b/src/systeminfo/systeminfo.gyp @@ -40,7 +40,7 @@ 'capi-network-connection', 'capi-system-device', 'capi-system-system-settings', - 'capi-network-wifi-manager', + 'capi-network-wifi', 'libtzplatform-config', 'tapi', 'sensor', diff --git a/src/systeminfo/systeminfo_manager.cc b/src/systeminfo/systeminfo_manager.cc index c3704393..e9272fee 100644 --- a/src/systeminfo/systeminfo_manager.cc +++ b/src/systeminfo/systeminfo_manager.cc @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include "common/converter.h" #include "common/logger.h" @@ -224,7 +224,7 @@ static void OnBrightnessChangedCb(device_callback_e type, void* value, void* use } } -static void OnWifiLevelChangedCb (wifi_manager_rssi_level_e rssi_level, void *user_data) { +static void OnWifiLevelChangedCb (wifi_rssi_level_e rssi_level, void *user_data) { LoggerD("Entered"); LoggerD("Level %d", rssi_level); SysteminfoManager* manager = static_cast(user_data); @@ -460,7 +460,7 @@ SysteminfoManager::SysteminfoManager(SysteminfoInstance* instance) : instance_(instance), prop_manager_(*this), sensor_handle_(-1), - wifi_level_(WIFI_MANAGER_RSSI_LEVEL_0), + wifi_level_(WIFI_RSSI_LEVEL_0), cpu_load_(0), last_cpu_load_(0), available_capacity_internal_(0), @@ -473,16 +473,16 @@ SysteminfoManager::SysteminfoManager(SysteminfoInstance* instance) connection_handle_(nullptr), async_op_(new AsynchronousOperation()) { LoggerD("Entered"); - int error = wifi_manager_initialize(&this->wifi_manager_handle_); - if (WIFI_MANAGER_ERROR_NONE != error) { + int error = wifi_initialize(); + if (WIFI_ERROR_NONE != error) { std::string log_msg = "Initialize failed: " + std::string(get_error_message(error)); LoggerE("%s", log_msg.c_str()); } else { - LoggerD("WIFI Manager initialization succeed"); + LoggerD("WIFI initialization succeed"); } - error = wifi_manager_set_rssi_level_changed_cb(this->wifi_manager_handle_, OnWifiLevelChangedCb, this); - if (WIFI_MANAGER_ERROR_NONE != error) { + error = wifi_set_rssi_level_changed_cb(OnWifiLevelChangedCb, this); + if (WIFI_ERROR_NONE != error) { std::string log_msg = "Setting wifi listener failed: " + std::string(get_error_message(error)); LoggerE("%s", log_msg.c_str()); @@ -514,10 +514,7 @@ SysteminfoManager::~SysteminfoManager() { connection_destroy(connection_handle_); } - auto error = wifi_manager_deinitialize(this->wifi_manager_handle_); - if (WIFI_MANAGER_ERROR_NONE != error) { - LoggerE( "wifi_manager_deinitialize failed: %s", get_error_message(error) ); - } + wifi_deinitialize(); } void SysteminfoManager::GetCapabilities(const picojson::value& args, picojson::object* out) { @@ -1372,12 +1369,12 @@ PlatformResult SysteminfoManager::GetPropertyCount(const std::string& property, return PlatformResult(ErrorCode::NO_ERROR); } -wifi_manager_rssi_level_e SysteminfoManager::GetWifiLevel() { +wifi_rssi_level_e SysteminfoManager::GetWifiLevel() { LoggerD("Enter"); return wifi_level_; } -void SysteminfoManager::SetWifiLevel(wifi_manager_rssi_level_e level) { +void SysteminfoManager::SetWifiLevel(wifi_rssi_level_e level) { LoggerD("Entered"); wifi_level_ = level; } diff --git a/src/systeminfo/systeminfo_manager.h b/src/systeminfo/systeminfo_manager.h index 69cdc0c9..c34dd4e2 100644 --- a/src/systeminfo/systeminfo_manager.h +++ b/src/systeminfo/systeminfo_manager.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include "common/picojson.h" #include "common/platform_result.h" @@ -53,8 +53,8 @@ class SysteminfoManager { void GetCount(const picojson::value& args, picojson::object* out); common::PlatformResult GetPropertyCount(const std::string& property, unsigned long* count); - wifi_manager_rssi_level_e GetWifiLevel(); - void SetWifiLevel(wifi_manager_rssi_level_e level); + wifi_rssi_level_e GetWifiLevel(); + void SetWifiLevel(wifi_rssi_level_e level); int GetSensorHandle(); int GetChangedTapiIndex(TapiHandle* tapi); @@ -133,8 +133,7 @@ class SysteminfoManager { std::mutex sensor_mutex_; std::vector camera_types_; - wifi_manager_rssi_level_e wifi_level_; - wifi_manager_h wifi_manager_handle_; + wifi_rssi_level_e wifi_level_; double cpu_load_; double last_cpu_load_; unsigned long long available_capacity_internal_; diff --git a/src/systeminfo/systeminfo_properties_manager.cc b/src/systeminfo/systeminfo_properties_manager.cc index 6acf54f0..33b639dc 100644 --- a/src/systeminfo/systeminfo_properties_manager.cc +++ b/src/systeminfo/systeminfo_properties_manager.cc @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -588,28 +587,28 @@ PlatformResult SysteminfoPropertiesManager::ReportNetwork(picojson::object* out, } /// WIFI_NETWORK -static PlatformResult GetIpsWifi(wifi_manager_ap_h wifi_ap_handle, std::string* ip_addr_str, +static PlatformResult GetIpsWifi(wifi_ap_h wifi_ap_handle, std::string* ip_addr_str, std::string* ipv6_addr_str) { LoggerD("Entered"); //getting ipv4 address char* ip_addr = nullptr; - int error = wifi_manager_ap_get_ip_address(wifi_ap_handle, - WIFI_MANAGER_ADDRESS_FAMILY_IPV4, + int error = wifi_ap_get_ip_address(wifi_ap_handle, + WIFI_ADDRESS_FAMILY_IPV4, &ip_addr); - if (WIFI_MANAGER_ERROR_NONE != error) { + if (WIFI_ERROR_NONE != error) { return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, "Cannot get ip address", - ("wifi_manager_ap_get_ip_address error: %d (%s)", error, get_error_message(error))); + ("wifi_ap_get_ip_address error: %d (%s)", error, get_error_message(error))); } *ip_addr_str = ip_addr; free(ip_addr); //getting ipv6 address ip_addr = nullptr; - error = wifi_manager_ap_get_ip_address(wifi_ap_handle, - WIFI_MANAGER_ADDRESS_FAMILY_IPV6, + error = wifi_ap_get_ip_address(wifi_ap_handle, + WIFI_ADDRESS_FAMILY_IPV6, &ip_addr); - if (WIFI_MANAGER_ERROR_NONE != error) { + if (WIFI_ERROR_NONE != error) { return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, "Cannot get ipv6 address", ("Failed to get ipv6 address: %d (%s)", error, get_error_message(error))); @@ -656,73 +655,69 @@ static PlatformResult GetIpsFromProfile(connection_profile_h profile_handle, std PlatformResult SysteminfoPropertiesManager::ReportWifiNetwork(picojson::object* out) { LoggerD("Entered"); + bool result_status = false; std::string result_ssid; std::string result_ip_address; std::string result_ipv6_address; std::string result_mac_address; double result_signal_strength = 0; - // wifi_manager_initialize() must be called in each thread - wifi_manager_h wifi_manager_handle; - int error = wifi_manager_initialize(&wifi_manager_handle); - if (WIFI_MANAGER_ERROR_NONE != error) { + // wifi_initialize() must be called in each thread + int error = wifi_initialize(); + if (WIFI_ERROR_NONE != error) { std::string log_msg = "Initialize failed: " + std::string(get_error_message(error)); return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, log_msg, - ("wifi_manager_initialize error: %d (%s)", error, get_error_message(error))); + ("wifi_initialize error: %d (%s)", error, get_error_message(error))); + } else { + LoggerD("WIFI initialization succeed"); } - LoggerD("WIFI initialization succeed"); SCOPE_EXIT { - auto error = wifi_manager_deinitialize(wifi_manager_handle); - if (WIFI_MANAGER_ERROR_NONE != error) { - LoggerE( "wifi_manager_deinitialize failed: %s", get_error_message(error) ); - } + wifi_deinitialize(); }; // check if wifi activated bool activated = false; - error = wifi_manager_is_activated(wifi_manager_handle, &activated); - if (WIFI_MANAGER_ERROR_NONE != error) { + error = wifi_is_activated(&activated); + if (WIFI_ERROR_NONE != error) { std::string log_msg = "Checking if wifi is activated failed: " + std::string(get_error_message(error)); return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, log_msg, ("wifi_is_activated error: %d (%s)", error, get_error_message(error))); + } else { + LoggerD("WIFI activated check succeed"); } - LoggerD("WIFI activated check succeed"); - wifi_manager_ap_h wifi_ap_handle = nullptr; - bool result_status = false; + wifi_ap_h wifi_ap_handle = nullptr; if (activated) { LoggerD("Wifi is activated"); - error = wifi_manager_get_connected_ap(wifi_manager_handle, &wifi_ap_handle); - switch (error) { - case WIFI_MANAGER_ERROR_NONE: - //if getting connected AP succeed, set status on true - result_status = true; - break; - case WIFI_MANAGER_ERROR_NO_CONNECTION: - LoggerD("No connection while wifi_manager_get_connected_ap: %s", get_error_message(error)); - // in case of no connection, ignore error and leave status as false - break; - default: - // other error - std::string log_msg = "Cannot get connected access point handle: " + std::string(get_error_message(error)); + error = wifi_get_connected_ap(&wifi_ap_handle); + if (WIFI_ERROR_NONE != error) { + LoggerD("Error while wifi_get_connnected_ap: %s", get_error_message(error)); + // in case of no connection, ignore error and leave status as false + if (WIFI_ERROR_NO_CONNECTION != error) { + std::string log_msg = "Cannot get connected access point handle: " + + std::string(get_error_message(error)); return LogAndCreateResult( - ErrorCode::UNKNOWN_ERR, log_msg, - ("wifi_manager_get_connected_ap error: %d (%s)", error, get_error_message(error))); + ErrorCode::UNKNOWN_ERR, log_msg, + ("wifi_get_connected_ap error: %d (%s)", error, get_error_message(error))); + } + } else { + //if getting connected AP succeed, set status on true + result_status = true; } } if (result_status) { - std::unique_ptr::type, int(*)(wifi_manager_ap_h)> - wifi_ap_handle_ptr{wifi_ap_handle, &wifi_manager_ap_destroy}; - // automatically release the memory + std::unique_ptr::type, int(*)(wifi_ap_h)> + wifi_ap_handle_ptr(wifi_ap_handle, &wifi_ap_destroy); + // automatically release the memory //gathering mac address char* mac = nullptr; - error = wifi_manager_get_mac_address(wifi_manager_handle, &mac); - if (WIFI_MANAGER_ERROR_NONE == error && nullptr != mac) { + error = wifi_get_mac_address(&mac); + if (WIFI_ERROR_NONE == error && nullptr != mac) { SLoggerD("MAC address fetched: %s", mac); result_mac_address = mac; free(mac); @@ -730,12 +725,12 @@ PlatformResult SysteminfoPropertiesManager::ReportWifiNetwork(picojson::object* std::string log_msg = "Failed to get mac address: " + std::string(get_error_message(error)); return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, log_msg, - ("wifi_manager_get_mac_address error: %d (%s)", error, get_error_message(error))); + ("wifi_get_mac_address error: %d (%s)", error, get_error_message(error))); } //refreshing access point information - error = wifi_manager_ap_refresh(wifi_ap_handle); - if (WIFI_MANAGER_ERROR_NONE != error) { + error = wifi_ap_refresh(wifi_ap_handle); + if (WIFI_ERROR_NONE != error) { std::string log_msg = "Failed to refresh access point information: " + std::string(get_error_message(error)); return LogAndCreateResult( @@ -745,8 +740,8 @@ PlatformResult SysteminfoPropertiesManager::ReportWifiNetwork(picojson::object* //gathering ssid char* essid = nullptr; - error = wifi_manager_ap_get_essid(wifi_ap_handle, &essid); - if (WIFI_MANAGER_ERROR_NONE == error) { + error = wifi_ap_get_essid(wifi_ap_handle, &essid); + if (WIFI_ERROR_NONE == error) { result_ssid = essid; free(essid); } else { @@ -756,30 +751,30 @@ PlatformResult SysteminfoPropertiesManager::ReportWifiNetwork(picojson::object* ("wifi_ap_get_essid error: %d (%s)", error, get_error_message(error))); } - //gathering IPs + //gathering ips PlatformResult ret = GetIpsWifi(wifi_ap_handle, &result_ip_address, &result_ipv6_address); if (ret.IsError()) { return ret; } //gathering strength - wifi_manager_rssi_level_e rssi_level = manager_.GetWifiLevel(); + wifi_rssi_level_e rssi_level = manager_.GetWifiLevel(); // this mean that level was not initialized or wifi not connected - if (WIFI_MANAGER_RSSI_LEVEL_0 == rssi_level) { + if (WIFI_RSSI_LEVEL_0 == rssi_level) { // so try to gather rssi level with dedicated function int rssi = 0; - error = wifi_manager_ap_get_rssi(wifi_ap_handle, &rssi); - if (WIFI_MANAGER_ERROR_NONE == error) { + error = wifi_ap_get_rssi(wifi_ap_handle, &rssi); + if (WIFI_ERROR_NONE == error) { result_signal_strength = ((double) abs(rssi))/kWifiSignalStrengthDivideValue; } else { std::string log_msg = "Failed to get signal strength: " + std::string(get_error_message(error)); return LogAndCreateResult( ErrorCode::UNKNOWN_ERR, log_msg, - ("wifi_manager_ap_get_rssi error: %d (%s)", error, get_error_message(error))); + ("wifi_ap_get_rssi error: %d (%s)", error, get_error_message(error))); } } else { - result_signal_strength = ((double) rssi_level)/WIFI_MANAGER_RSSI_LEVEL_4; + result_signal_strength = ((double) rssi_level)/WIFI_RSSI_LEVEL_4; } } //building result object -- 2.34.1