#ifndef WIFIMODEL_H #define WIFIMODEL_H #include "../AccessPoint.h" #include "../../../geo/Point3.h" /** * interface for signal-strength prediction models. * * the model is passed a MAC-address of an AP in question, and a position. * hereafter the model returns the RSSI for this AP at the questioned location. */ class WiFiModel { public: // /** get the given access-point's RSSI at the provided location */ // virtual float getRSSI(const LocatedAccessPoint& ap, const Point3 p) = 0; /** get a list of all APs known to the model */ virtual std::vector getAllAPs() const = 0; /** * get the RSSI expected at the given location (in meter) * for an AP identified by the given MAC. * * if the model can not predict the RSSI for an AP, it returns NaN! */ virtual float getRSSI(const MACAddress& accessPoint, const Point3 position_m) const = 0; }; #endif // WIFIMODEL_H