From a2a289f6519583a004b44b3ad99b176d0969be4f Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Wed, 20 Jul 2011 17:35:22 +0200 Subject: [PATCH] [Positioning] Debug checks for CR deletion Add asserts and debug messages in ReferencePoint::delete_requests() and Stock::delete_calibration_request(). --- owlps-positioning/src/referencepoint.cc | 7 +++++++ owlps-positioning/src/stock.cc | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/owlps-positioning/src/referencepoint.cc b/owlps-positioning/src/referencepoint.cc index 7112c9b..f58f91f 100644 --- a/owlps-positioning/src/referencepoint.cc +++ b/owlps-positioning/src/referencepoint.cc @@ -113,10 +113,17 @@ get_requests(const string &mac_transmitter) const */ void ReferencePoint::delete_requests() { +#ifndef NDEBUG + int stock_nb_requests = Stock::nb_calibration_requests() ; +#endif // NDEBUG + for (vector::iterator i = requests.begin() ; i != requests.end() ; ++i) Stock::delete_calibration_request(**i) ; + assert(Stock::nb_calibration_requests() == + stock_nb_requests - requests.size()) ; + requests.clear() ; } diff --git a/owlps-positioning/src/stock.cc b/owlps-positioning/src/stock.cc index e16a50c..b8ac069 100644 --- a/owlps-positioning/src/stock.cc +++ b/owlps-positioning/src/stock.cc @@ -374,6 +374,18 @@ store_calibration_request(const CalibrationRequest &request) void Stock:: delete_calibration_request(const CalibrationRequest &request) { +#ifndef NDEBUG + unordered_set::const_iterator found = + calibration_requests.find(request) ; + if (found == calibration_requests.end()) + { + cerr + << "Error! Cannot delete an unstored CalibrationRequest: " + << request << endl ; + return ; + } +#endif // NDEBUG + calibration_requests.erase(request) ; }