}
}
-static void OnWifiLevelChangedCb(wifi_manager_rssi_level_e rssi_level, void* user_data) {
- ScopeLogger();
- LoggerD("Level %d", rssi_level);
- SysteminfoManager* manager = static_cast<SysteminfoManager*>(user_data);
- manager->SetWifiLevel(rssi_level);
-}
-
static void OnServiceCountryChangedCb(keynode_t* key, void* user_data) {
ScopeLogger();
SysteminfoManager* manager = static_cast<SysteminfoManager*>(user_data);
: instance_(instance),
prop_manager_(*this),
sensor_handle_(-1),
- wifi_level_(WIFI_MANAGER_RSSI_LEVEL_0),
- wifi_manager_(nullptr),
cpu_load_(0),
last_cpu_load_(0),
tapi_manager_(new TapiManager()),
async_op_(new AsynchronousOperation()) {
ScopeLogger();
- 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_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());
- } else {
- LoggerD("Setting wifi listener succeed");
- }
- }
InitCameraTypes();
}
if (nullptr != connection_handle_) {
connection_destroy(connection_handle_);
}
-
- 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_manager_rssi_level_e SysteminfoManager::GetWifiLevel() {
- ScopeLogger();
- return wifi_level_;
-}
-
-void SysteminfoManager::SetWifiLevel(wifi_manager_rssi_level_e level) {
- ScopeLogger();
- wifi_level_ = level;
-}
-
int SysteminfoManager::GetSensorHandle() {
ScopeLogger();
std::lock_guard<std::mutex> lock(sensor_mutex_);
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);
int GetSensorHandle();
int GetChangedTapiIndex(TapiHandle* tapi);
std::mutex sensor_mutex_;
std::vector<std::string> camera_types_;
- wifi_manager_rssi_level_e wifi_level_;
- wifi_manager_h wifi_manager_;
double cpu_load_;
double last_cpu_load_;
}
// gathering strength
- wifi_manager_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) {
- // 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) {
- 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)));
- }
+ int rssi = 0;
+ error = wifi_manager_ap_get_rssi(wifi_ap_handle, &rssi);
+ if (WIFI_MANAGER_ERROR_NONE == error) {
+ result_signal_strength = ((double)abs(rssi)) / kWifiSignalStrengthDivideValue;
} else {
- result_signal_strength = ((double)rssi_level) / WIFI_MANAGER_RSSI_LEVEL_4;
+ 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)));
}
}
}