owlps/owlps-positioning/calibrationmeasurement.hh

85 lines
2.1 KiB
C++

#ifndef _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_
#define _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_
class ReferencePoint ;
#include "measurement.hh"
/// Represents a Measurement that constructed from calibration Request
class CalibrationMeasurement: public Measurement
{
protected:
/// The reference point the mobile calibrates
ReferencePoint *reference_point ;
public:
/// \brief Constructs a CalibrationMeasurement from an AccessPoint, a
/// list of signal strengths and a ReferencePoint (or default constructor)
CalibrationMeasurement(const AccessPoint *_ap = NULL,
const std::vector<int> &_ss_list = std::vector<int>(),
ReferencePoint *_reference_point = NULL):
Measurement(_ap, _ss_list), reference_point(_reference_point) {}
/// Copy constructor
CalibrationMeasurement(const CalibrationMeasurement &cm):
Measurement(cm), reference_point(cm.reference_point) {}
/// Constructs a CalibrationMeasurement from a Measurement
CalibrationMeasurement(const Measurement &m):
Measurement(m), reference_point(NULL) {}
~CalibrationMeasurement(void) {} ///< Destructor (do nothing)
/** @name Read accessors */
//@{
/// #reference_point read accessor
ReferencePoint* get_reference_point(void) const ;
//@}
/** @name Write accessors */
//@{
/// #reference_point write accessor
void set_reference_point(const ReferencePoint *_rp) ;
//@}
/** @name Operators */
//@{
const CalibrationMeasurement& operator=(const CalibrationMeasurement &cm) ;
bool operator==(const CalibrationMeasurement &cm) ;
bool operator!=(const CalibrationMeasurement &cm) ;
//@}
} ;
/* *** Read accessors *** */
inline ReferencePoint* CalibrationMeasurement::get_reference_point(void) const
{
return reference_point ;
}
/* *** Write accessors *** */
inline void CalibrationMeasurement::set_reference_point(
const ReferencePoint *_rp)
{
reference_point = const_cast<ReferencePoint*>(_rp) ;
}
/* *** Operators *** */
inline bool CalibrationMeasurement::operator!=(const CalibrationMeasurement &cm)
{
return !(*this == cm) ;
}
#endif // _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_