[Positioning] Debug checks for CR deletion

Add asserts and debug messages in ReferencePoint::delete_requests() and
Stock::delete_calibration_request().
This commit is contained in:
Matteo Cypriani 2011-07-20 17:35:22 +02:00
parent 9c76d87b0c
commit a2a289f651
2 changed files with 19 additions and 0 deletions

View File

@ -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<CalibrationRequest*>::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() ;
}

View File

@ -374,6 +374,18 @@ store_calibration_request(const CalibrationRequest &request)
void Stock::
delete_calibration_request(const CalibrationRequest &request)
{
#ifndef NDEBUG
unordered_set<CalibrationRequest>::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) ;
}