diff --git a/owlps-positioning/calibrationrequest.cc b/owlps-positioning/calibrationrequest.cc index 11fec96..9e1f2ba 100644 --- a/owlps-positioning/calibrationrequest.cc +++ b/owlps-positioning/calibrationrequest.cc @@ -1,14 +1,22 @@ #include "calibrationrequest.hh" +#include "referencepoint.hh" /* *** Write accessors *** */ +void CalibrationRequest::reference_point_backward_link() const +{ + reference_point->add_request(this) ; +} + + void CalibrationRequest::clear() { Request::clear() ; reference_point = NULL ; + direction.clear() ; } @@ -23,6 +31,7 @@ CalibrationRequest::operator=(const CalibrationRequest &source) return *this ; this->Request::operator=(source) ; + direction = source.direction ; reference_point = source.reference_point ; return *this ; @@ -36,5 +45,6 @@ bool CalibrationRequest::operator==(const CalibrationRequest &source) return this->Request::operator==(source) && + direction == source.direction && reference_point == source.reference_point ; } diff --git a/owlps-positioning/calibrationrequest.hh b/owlps-positioning/calibrationrequest.hh index 658f760..de4b102 100644 --- a/owlps-positioning/calibrationrequest.hh +++ b/owlps-positioning/calibrationrequest.hh @@ -4,6 +4,7 @@ class ReferencePoint ; #include "request.hh" +#include "direction.hh" /// Represents a calibration Request sent by a mobile class CalibrationRequest: public Request @@ -11,30 +12,42 @@ class CalibrationRequest: public Request protected: /// The reference point the mobile calibrates ReferencePoint *reference_point ; + /// The direction in which the mobile was during the measurement + Direction direction ; public: - CalibrationRequest(void): reference_point(NULL) {} + CalibrationRequest(void): + reference_point(NULL), direction(Direction()) {} /// Copy constructor CalibrationRequest(const CalibrationRequest &source): - Request(source), reference_point(source.reference_point) {} + Request(source), reference_point(source.reference_point), + direction(source.direction) {} /// \brief Constructs a CalibrationRequest from a Request and - /// (possibly) a ReferencePoint) + /// possibly a ReferencePoint and a Direction) CalibrationRequest(const Request &source, - ReferencePoint *_reference_point = NULL): - Request(source), reference_point(_reference_point) {} + ReferencePoint *_reference_point = NULL, + const Direction &_direction = Direction()): + Request(source), reference_point(_reference_point), + direction(_direction) {} ~CalibrationRequest(void) {} /** @name Read accessors */ //@{ + /// #direction read accessor + const Direction& get_direction(void) const ; /// #reference_point read accessor ReferencePoint* get_reference_point(void) const ; //@} /** @name Write accessors */ //@{ + /// #direction write accessor + void set_direction(const Direction &_direction) ; /// #reference_point write accessor void set_reference_point(const ReferencePoint *_rp) ; + /// Add the CalibrationRequest to the #reference_point list of requests + void reference_point_backward_link(void) const ; /// Reinitialises all attributes void clear(void) ; //@} @@ -58,6 +71,12 @@ inline ReferencePoint* CalibrationRequest::get_reference_point(void) const } +inline const Direction& CalibrationRequest::get_direction(void) const +{ + return direction ; +} + + /* *** Write accessors *** */ @@ -69,6 +88,13 @@ inline void CalibrationRequest::set_reference_point( } +inline void CalibrationRequest:: +set_direction(const Direction &_direction) +{ + direction = _direction ; +} + + /* *** Operators *** */