44 lines
794 B
C++
44 lines
794 B
C++
#ifndef WIFISENSOR_H
|
|
#define WIFISENSOR_H
|
|
|
|
#include <string>
|
|
#include <sstream>
|
|
#include "Sensor.h"
|
|
|
|
|
|
struct WiFiSensorDataEntry {
|
|
std::string bssid;
|
|
float rssi;
|
|
WiFiSensorDataEntry(const std::string& bssid, const float rssi) : bssid(bssid), rssi(rssi) {;}
|
|
std::string asString() const {
|
|
std::stringstream ss;
|
|
ss << bssid << '\t' << (int)rssi;
|
|
return ss.str();
|
|
}
|
|
};
|
|
|
|
|
|
struct WiFiSensorData {
|
|
std::vector<WiFiSensorDataEntry> entries;
|
|
std::string asString() const {
|
|
std::stringstream ss;
|
|
for(const WiFiSensorDataEntry& e : entries) {ss << e.asString() << '\n';}
|
|
return ss.str();
|
|
}
|
|
};
|
|
|
|
|
|
/** interface for all wifi sensors */
|
|
class WiFiSensor : public Sensor<WiFiSensorData> {
|
|
|
|
protected:
|
|
|
|
/** hidden ctor. use SensorFactory */
|
|
WiFiSensor() {
|
|
|
|
}
|
|
|
|
};
|
|
|
|
#endif // WIFISENSOR_H
|