{
ctx::WifiLogger* wifiLogger = (ctx::WifiLogger *)userData;
- char *bssid = NULL;
- int ret = wifiLogger->__wifiApGetBssidRequest(ap, &bssid);
+ std::string bssid;
+ int ret = wifiLogger->__wifiApGetBssidRequest(ap, bssid);
if (ret != WIFI_ERROR_NONE)
return false;
- char *essid = NULL;
- ret = wifiLogger->__wifiApGetEssidRequest(ap, &essid);
+ std::string essid;
+ ret = wifiLogger->__wifiApGetEssidRequest(ap, essid);
if (ret != WIFI_ERROR_NONE)
return false;
return false;
}
- MacEvent log(wifiLogger->__lastScanTime, mac, std::string(essid));
+ MacEvent log(wifiLogger->__lastScanTime, mac, essid);
if (wifiLogger->__listener) {
wifiLogger->__listener->onWifiScan(log);
if (WIFI_LOGGER_LOW_POWER_MODE
&& (wifiLogger->__connectedToWifiAp || wifiLogger->__duringVisit) ) {
// Add to last scans AP's set
- wifiLogger->__lastScansPool.insert(std::pair<std::string, std::string>(std::string(bssid), std::string(essid)));
+ wifiLogger->__lastScansPool.insert(std::pair<std::string, std::string>(bssid, essid));
}
}
if (WIFI_LOGGER_DATABASE)
__WIFI_ERROR_LOG(ret);
}
-int ctx::WifiLogger::__wifiApGetEssidRequest(wifi_ap_h ap, char **essid)
+int ctx::WifiLogger::__wifiApGetEssidRequest(wifi_ap_h ap, std::string &essid)
{
- int ret = __wifiWrapper.getEssidFromAP(ap, essid);
+ char *_essid = NULL;
+ int ret = __wifiWrapper.getEssidFromAP(ap, &_essid);
__WIFI_ERROR_LOG(ret);
+
+ if (ret == WIFI_ERROR_NONE && _essid)
+ essid = _essid;
+
+ free(_essid);
return ret;
}
-int ctx::WifiLogger::__wifiApGetBssidRequest(wifi_ap_h ap, char **bssid)
+int ctx::WifiLogger::__wifiApGetBssidRequest(wifi_ap_h ap, std::string &bssid)
{
- int ret = __wifiWrapper.getBssidFromAP(ap, bssid);
+ char *_bssid = NULL;
+ int ret = __wifiWrapper.getBssidFromAP(ap, &_bssid);
__WIFI_ERROR_LOG(ret);
+
+ if (ret == WIFI_ERROR_NONE && _bssid)
+ bssid = _bssid;
+
+ free(_bssid);
return ret;
}
void __wifiScanRequest();
int __wifiForeachFoundApsRequest(void *userData);
wifi_connection_state_e __wifiGetConnectionStateRequest();
- int __wifiApGetEssidRequest(wifi_ap_h ap, char **essid);
- int __wifiApGetBssidRequest(wifi_ap_h ap, char **bssid);
+ int __wifiApGetEssidRequest(wifi_ap_h ap, std::string &essid);
+ int __wifiApGetBssidRequest(wifi_ap_h ap, std::string &bssid);
/* SYSTEM CAPI CALLBACKS */
static void __wifiDeviceStateChangedCb(wifi_device_state_e state, void *userData);