43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
#ifndef WIFIMODEL_H
|
|
#define WIFIMODEL_H
|
|
|
|
#include "../AccessPoint.h"
|
|
#include "../../../geo/Point3.h"
|
|
#include <vector>
|
|
|
|
|
|
#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<AccessPoint> 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
|