/* * © Copyright 2014 – Urheberrechtshinweis * Alle Rechte vorbehalten / All Rights Reserved * * Programmcode ist urheberrechtlich geschuetzt. * Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner. * Keine Verwendung ohne explizite Genehmigung. * (vgl. § 106 ff UrhG / § 97 UrhG) */ #ifndef WIFIMODEL_H #define WIFIMODEL_H #include "../AccessPoint.h" #include "../../../geo/Point3.h" #include #include "../../../data/XMLserialize.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 XMLserialize { public: /** dtor */ virtual ~WiFiModel() {;} // /** 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