#ifndef _OWLPS_POSITIONING_ACCESSPOINT_HH_ #define _OWLPS_POSITIONING_ACCESSPOINT_HH_ #include "wifidevice.hh" #include "point3d.hh" #define AP_DEFAULT_CHANNEL 6 #define AP_DEFAULT_ANTENNA_GAIN 5 /// Represents a capture \link WifiDevice Wi-Fi device\endlink class AccessPoint: public WifiDevice { protected: Point3D coordinates ; ///< Coordinates of the AccessPoint unsigned int frequency ; ///< Frequency (channel) in Hz public: /// \brief Constructs an AccessPoint by defining all of its /// attributes (or default constructor) AccessPoint(const Point3D &_coordinates = Point3D(), const std::string &_ip_addr = "", const std::string &_mac_addr = "", const float &_antenna_gain = AP_DEFAULT_ANTENNA_GAIN, const float &_trx_power = WIFIDEVICE_DEFAULT_TRX_POWER, const unsigned int &_frequency = AP_DEFAULT_CHANNEL): WifiDevice(_ip_addr, _mac_addr, _antenna_gain, _trx_power), coordinates(_coordinates), frequency(_frequency) {} /// Constructs an AccessPoint from a WifiDevice, a Point3D and a frequency AccessPoint(const WifiDevice &wd, const Point3D &_coordinates, const unsigned int &_frequency = AP_DEFAULT_CHANNEL): WifiDevice(wd), coordinates(_coordinates), frequency(_frequency) {} /// Constructs an AccessPoint from a WifiDevice AccessPoint(const WifiDevice &wd): WifiDevice(wd), coordinates(Point3D()), frequency(0) {} /// Copy constructor AccessPoint(const AccessPoint &ap): WifiDevice(ap), coordinates(ap.coordinates), frequency(ap.frequency) {} ~AccessPoint(void) {} ///< Destructor (do nothing) /** @name Read accessors */ //@{ /// #coordinates read accessor const Point3D& get_coordinates(void) const ; /// #frequency read accessor unsigned int get_frequency(void) const ; //@} /** @name Write accessors */ //@{ /// #coordinates write accessor void set_coordinates(const Point3D &_coordinates) ; /// #frequency write accessor void set_frequency(const unsigned int _frequency) ; //@} /** @name Operators */ //@{ const AccessPoint& operator=(const AccessPoint &ap) ; bool operator==(const AccessPoint &ap) const ; bool operator!=(const AccessPoint &ap) const ; //@} /// Displays an AccessPoint friend std::ostream &operator<<(std::ostream &os, const AccessPoint &ap) ; } ; /* *** Read accessors *** */ inline const Point3D& AccessPoint::get_coordinates() const { return coordinates ; } inline unsigned int AccessPoint::get_frequency() const { return frequency ; } /* *** Write accessors *** */ inline void AccessPoint::set_coordinates(const Point3D &_coordinates) { coordinates = _coordinates ; } inline void AccessPoint::set_frequency(const unsigned int _frequency) { frequency = _frequency ; } /* *** Operators *** */ inline bool AccessPoint::operator!=(const AccessPoint &ap) const { return !(*this == ap) ; } #endif // _OWLPS_POSITIONING_ACCESSPOINT_HH_