#include <device/callback.h>
#include <device/device-error.h>
#include <sensor_internal.h>
-#include <wifi.h>
#include "common/converter.h"
#include "common/logger.h"
}
}
-static void OnWifiLevelChangedCb (wifi_rssi_level_e rssi_level, void *user_data) {
+static void OnWifiLevelChangedCb (wifi_manager_rssi_level_e rssi_level, void *user_data) {
LoggerD("Entered");
LoggerD("Level %d", rssi_level);
SysteminfoManager* manager = static_cast<SysteminfoManager*>(user_data);
: instance_(instance),
prop_manager_(*this),
sensor_handle_(-1),
- wifi_level_(WIFI_RSSI_LEVEL_0),
+ wifi_level_(WIFI_MANAGER_RSSI_LEVEL_0),
+ wifi_manager_(nullptr),
cpu_load_(0),
last_cpu_load_(0),
available_capacity_internal_(0),
connection_handle_(nullptr),
async_op_(new AsynchronousOperation()) {
LoggerD("Entered");
- int error = wifi_initialize();
- if (WIFI_ERROR_NONE != error) {
- std::string log_msg = "Initialize failed: " + std::string(get_error_message(error));
+
+ int error = wifi_manager_initialize(&wifi_manager_);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
+ std::string log_msg = "Initialization failed: " + std::string(get_error_message(error));
LoggerE("%s", log_msg.c_str());
} else {
LoggerD("WIFI initialization succeed");
}
-
- error = wifi_set_rssi_level_changed_cb(OnWifiLevelChangedCb, this);
- if (WIFI_ERROR_NONE != error) {
+ error = wifi_manager_set_rssi_level_changed_cb(wifi_manager_, OnWifiLevelChangedCb, this);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
std::string log_msg = "Setting wifi listener failed: " +
std::string(get_error_message(error));
LoggerE("%s", log_msg.c_str());
connection_destroy(connection_handle_);
}
- wifi_deinitialize();
+ if (nullptr != wifi_manager_) {
+ int ret = wifi_manager_deinitialize(wifi_manager_);
+ if (WIFI_MANAGER_ERROR_NONE != ret) {
+ LoggerE("wifi_manager_deinitialize failed %d [%s]", ret, get_error_message(ret));
+ }
+ }
}
void SysteminfoManager::GetCapabilities(const picojson::value& args, picojson::object* out) {
return PlatformResult(ErrorCode::NO_ERROR);
}
-wifi_rssi_level_e SysteminfoManager::GetWifiLevel() {
+wifi_manager_rssi_level_e SysteminfoManager::GetWifiLevel() {
LoggerD("Enter");
return wifi_level_;
}
-void SysteminfoManager::SetWifiLevel(wifi_rssi_level_e level) {
+void SysteminfoManager::SetWifiLevel(wifi_manager_rssi_level_e level) {
LoggerD("Entered");
wifi_level_ = level;
}
}
/// WIFI_NETWORK
-static PlatformResult GetIpsWifi(wifi_ap_h wifi_ap_handle, std::string* ip_addr_str,
+static PlatformResult GetIpsWifi(wifi_manager_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_ap_get_ip_address(wifi_ap_handle,
- WIFI_ADDRESS_FAMILY_IPV4,
- &ip_addr);
- if (WIFI_ERROR_NONE != error) {
+ int error = wifi_manager_ap_get_ip_address(wifi_ap_handle,
+ WIFI_MANAGER_ADDRESS_FAMILY_IPV4,
+ &ip_addr);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, "Cannot get ip address",
- ("wifi_ap_get_ip_address error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_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_ap_get_ip_address(wifi_ap_handle,
- WIFI_ADDRESS_FAMILY_IPV6,
- &ip_addr);
- if (WIFI_ERROR_NONE != error) {
+ error = wifi_manager_ap_get_ip_address(wifi_ap_handle,
+ WIFI_MANAGER_ADDRESS_FAMILY_IPV6,
+ &ip_addr);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, "Cannot get ipv6 address",
("Failed to get ipv6 address: %d (%s)", error, get_error_message(error)));
std::string result_mac_address;
double result_signal_strength = 0;
- // 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));
+ // wifi_manager_initialize() must be called in each thread
+ wifi_manager_h wifi_manager = nullptr;
+ int error = wifi_manager_initialize(&wifi_manager);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
+ std::string log_msg = "Initialization failed: " + std::string(get_error_message(error));
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, log_msg,
- ("wifi_initialize error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_initialize error: %d (%s)", error, get_error_message(error)));
} else {
LoggerD("WIFI initialization succeed");
}
+
SCOPE_EXIT {
- wifi_deinitialize();
+ wifi_manager_deinitialize(wifi_manager);
};
- // check if wifi activated
+ // check if wifi is activated
bool activated = false;
- error = wifi_is_activated(&activated);
- if (WIFI_ERROR_NONE != error) {
+ error = wifi_manager_is_activated(wifi_manager, &activated);
+ if (WIFI_MANAGER_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)));
+ ("wifi_manager_is_activated error: %d (%s)", error, get_error_message(error)));
} else {
LoggerD("WIFI activated check succeed");
}
- wifi_ap_h wifi_ap_handle = nullptr;
+ wifi_manager_ap_h wifi_ap_handle = nullptr;
if (activated) {
LoggerD("Wifi is activated");
- error = wifi_get_connected_ap(&wifi_ap_handle);
- if (WIFI_ERROR_NONE != error) {
+ error = wifi_manager_get_connected_ap(wifi_manager, &wifi_ap_handle);
+ if (WIFI_MANAGER_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) {
+ if (WIFI_MANAGER_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_get_connected_ap error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_get_connected_ap error: %d (%s)", error, get_error_message(error)));
}
} else {
//if getting connected AP succeed, set status on true
}
if (result_status) {
- std::unique_ptr<std::remove_pointer<wifi_ap_h>::type, int(*)(wifi_ap_h)>
- wifi_ap_handle_ptr(wifi_ap_handle, &wifi_ap_destroy);
+ std::unique_ptr<std::remove_pointer<wifi_manager_ap_h>::type, int(*)(wifi_manager_ap_h)>
+ wifi_ap_handle_ptr(wifi_ap_handle, &wifi_manager_ap_destroy);
// automatically release the memory
//gathering mac address
char* mac = nullptr;
- error = wifi_get_mac_address(&mac);
- if (WIFI_ERROR_NONE == error && nullptr != mac) {
+ error = wifi_manager_get_mac_address(wifi_manager, &mac);
+ if (WIFI_MANAGER_ERROR_NONE == error && nullptr != mac) {
SLoggerD("MAC address fetched: %s", mac);
result_mac_address = mac;
free(mac);
std::string log_msg = "Failed to get mac address: " + std::string(get_error_message(error));
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, log_msg,
- ("wifi_get_mac_address error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_get_mac_address error: %d (%s)", error, get_error_message(error)));
}
//refreshing access point information
- error = wifi_ap_refresh(wifi_ap_handle);
- if (WIFI_ERROR_NONE != error) {
+ error = wifi_manager_ap_refresh(wifi_ap_handle);
+ if (WIFI_MANAGER_ERROR_NONE != error) {
std::string log_msg = "Failed to refresh access point information: " +
std::string(get_error_message(error));
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, log_msg,
- ("wifi_ap_refresh error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_ap_refresh error: %d (%s)", error, get_error_message(error)));
}
//gathering ssid
char* essid = nullptr;
- error = wifi_ap_get_essid(wifi_ap_handle, &essid);
- if (WIFI_ERROR_NONE == error) {
+ error = wifi_manager_ap_get_essid(wifi_ap_handle, &essid);
+ if (WIFI_MANAGER_ERROR_NONE == error) {
result_ssid = essid;
free(essid);
} else {
std::string log_msg = "Failed to get network ssid: " + std::string(get_error_message(error));
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, log_msg,
- ("wifi_ap_get_essid error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_ap_get_essid error: %d (%s)", error, get_error_message(error)));
}
//gathering ips
}
//gathering strength
- wifi_rssi_level_e rssi_level = manager_.GetWifiLevel();
+ wifi_manager_rssi_level_e rssi_level = manager_.GetWifiLevel();
// this mean that level was not initialized or wifi not connected
- if (WIFI_RSSI_LEVEL_0 == rssi_level) {
+ if (WIFI_MANAGER_RSSI_LEVEL_0 == rssi_level) {
// so try to gather rssi level with dedicated function
int rssi = 0;
- error = wifi_ap_get_rssi(wifi_ap_handle, &rssi);
- if (WIFI_ERROR_NONE == error) {
+ error = wifi_manager_ap_get_rssi(wifi_ap_handle, &rssi);
+ if (WIFI_MANAGER_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_ap_get_rssi error: %d (%s)", error, get_error_message(error)));
+ ("wifi_manager_ap_get_rssi error: %d (%s)", error, get_error_message(error)));
}
} else {
- result_signal_strength = ((double) rssi_level)/WIFI_RSSI_LEVEL_4;
+ result_signal_strength = ((double) rssi_level)/WIFI_MANAGER_RSSI_LEVEL_4;
}
}
//building result object