[my-place] Extend WifiLogger of network name (ESSID) logging. 06/70806/2
authorMarcin Masternak <m.masternak@samsung.com>
Fri, 20 May 2016 16:52:40 +0000 (18:52 +0200)
committerMarcin Masternak <m.masternak@samsung.com>
Tue, 24 May 2016 08:07:01 +0000 (10:07 +0200)
Change-Id: I543ba3492dc8b77730873c44cfb878f8fc7f872f
Signed-off-by: Marcin Masternak <m.masternak@samsung.com>
src/my-place/place_recognition_types.h
src/my-place/user_places/user_places_types.h
src/my-place/user_places/wifi_logger.cpp
src/my-place/user_places/wifi_logger.h
src/shared/WifiWrapper.cpp
src/shared/WifiWrapper.h

index fcde0a7b8e84c64323a2204369af6b6475e5b692..9b211a80b52278100750861763acd38126331dd5 100644 (file)
@@ -54,6 +54,7 @@
 #define WIFI_TABLE_NAME                        "place_status_user_place_wifi"
 #define WIFI_COLUMN_TIMESTAMP                  "timestamp"
 #define WIFI_COLUMN_BSSID                      "bssid"
+#define WIFI_COLUMN_ESSID                      "essid"
 
 #define LOCATION_TABLE_NAME                    "place_status_user_place_location"
 #define LOCATION_COLUMN_LATITUDE               "geo_latitude"
index a809d3088aac1ff29505b8e779fc10b74c39fe95..508e889c7484df0ebd5f7d66f923380444b3cd29 100644 (file)
@@ -127,8 +127,13 @@ namespace ctx {
        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
index 978361e9b5653c085d2a6fc2cbdebfef4a156ae0..6a2511285801e669002f7171075ffddf67ca2b55 100644 (file)
@@ -23,7 +23,8 @@
 
 #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) { \
@@ -49,10 +50,10 @@ int ctx::WifiLogger::__dbInsertLogs()
                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();
@@ -152,6 +153,12 @@ bool ctx::WifiLogger::__wifiFoundApCb(wifi_ap_h ap, void *userData)
                return false;
        }
 
+       char *essid = NULL;
+       ret = wifiLogger->__wifiApGetEssidRequest(ap, &essid);
+       if (ret != WIFI_ERROR_NONE) {
+               return false;
+       }
+
        Mac mac;
        try {
                mac = Mac(bssid);
@@ -160,7 +167,7 @@ bool ctx::WifiLogger::__wifiFoundApCb(wifi_ap_h ap, void *userData)
                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
@@ -289,6 +296,13 @@ void ctx::WifiLogger::__wifiSetConnectionStateChangedCbRequest()
        __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);
index d37267415b6aad6536f47ae19ebdd069a861691e..9be20007d1d5ceb48c55990784d922ccfb762c45 100644 (file)
@@ -89,6 +89,7 @@ namespace ctx {
                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 */
index 8b92e929ab8bc269b93b21dfc4f1536158d70b1a..c3097bf17e639ee0145ec6db3eb9abf3ac81e43b 100644 (file)
@@ -96,6 +96,11 @@ SO_EXPORT int WifiWrapper::getConnectedAP(wifi_ap_h *ap)
        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);
index 5e7ffd65d6f72b260d8f0e45633fcc33f360ee9c..3dcd354509d91e705a89b09c225a2de53b3bfee4 100644 (file)
@@ -34,6 +34,7 @@ namespace ctx {
                int getConnectionState(wifi_connection_state_e *state);
                int getConnectedAP(wifi_ap_h *ap);
 
+               int getEssidFromAP(wifi_ap_h ap, char **essid);
                int getBssidFromAP(wifi_ap_h ap, char **bssid);
                int destroyAP(wifi_ap_h ap);