struct MacEvent {
time_t timestamp;
Mac mac;
+ std::string networkName;
MacEvent(time_t timestamp_, Mac mac_) : timestamp(timestamp_), mac(mac_) {}
+ MacEvent(time_t timestamp_, Mac mac_, std::string networkName_)
+ : timestamp(timestamp_)
+ , mac(mac_)
+ , networkName(networkName_) {}
};
typedef std::map<int, num_t> Categs; // scores of categories
#define __WIFI_CREATE_TABLE_COLUMNS \
WIFI_COLUMN_TIMESTAMP " timestamp NOT NULL, "\
- WIFI_COLUMN_BSSID " TEXT NOT NULL"
+ WIFI_COLUMN_BSSID " TEXT NOT NULL, "\
+ WIFI_COLUMN_ESSID " TEXT NOT NULL"
#define __WIFI_ERROR_LOG(error) { \
if (error != WIFI_ERROR_NONE) { \
const char* separator = " ";
query << "BEGIN TRANSACTION; \
INSERT INTO " WIFI_TABLE_NAME " \
- ( " WIFI_COLUMN_BSSID ", " WIFI_COLUMN_TIMESTAMP " ) \
+ ( " WIFI_COLUMN_BSSID ", " WIFI_COLUMN_ESSID ", " WIFI_COLUMN_TIMESTAMP " ) \
VALUES";
for (MacEvent mac_event : __logs) {
- query << separator << "( '" << mac_event.mac << "', '" << mac_event.timestamp << "' )";
+ query << separator << "( '" << mac_event.mac << "', '" << mac_event.networkName << "', '" << mac_event.timestamp << "' )";
separator = ", ";
}
__logs.clear();
return false;
}
+ char *essid = NULL;
+ ret = wifiLogger->__wifiApGetEssidRequest(ap, &essid);
+ if (ret != WIFI_ERROR_NONE) {
+ return false;
+ }
+
Mac mac;
try {
mac = Mac(bssid);
return false;
}
- MacEvent log(wifiLogger->__lastScanTime, mac);
+ MacEvent log(wifiLogger->__lastScanTime, mac, std::string(essid));
if (wifiLogger->__listener) {
wifiLogger->__listener->onWifiScan(log);
if (WIFI_LOGGER_LOW_POWER_MODE
__WIFI_ERROR_LOG(ret);
}
+int ctx::WifiLogger::__wifiApGetEssidRequest(wifi_ap_h ap, char **essid)
+{
+ int ret = __wifiWrapper.getEssidFromAP(ap, essid);
+ __WIFI_ERROR_LOG(ret);
+ return ret;
+}
+
int ctx::WifiLogger::__wifiApGetBssidRequest(wifi_ap_h ap, char **bssid)
{
int ret = __wifiWrapper.getBssidFromAP(ap, bssid);
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);
/* SYSTEM CAPI CALLBACKS */
return wifi_get_connected_ap(ap);
}
+SO_EXPORT int WifiWrapper::getEssidFromAP(wifi_ap_h ap, char **essid)
+{
+ return wifi_ap_get_essid(ap, essid);
+}
+
SO_EXPORT int WifiWrapper::getBssidFromAP(wifi_ap_h ap, char **bssid)
{
return wifi_ap_get_bssid(ap, bssid);