#include "inputmedium.hh" #include "calibrationrequest.hh" /* *** Constructors *** */ InputMedium::InputMedium(): current_line_nb(0) { current_request = new Request() ; } InputMedium::~InputMedium() { delete current_request ; } /* *** Operations *** */ void InputMedium:: current_request_to_calibration_request( const ReferencePoint *const reference_point, const Direction &direction, const uint_fast8_t request_type) { CalibrationRequest *calibration_request = dynamic_cast(current_request) ; if (calibration_request != NULL) { calibration_request->set_reference_point(reference_point) ; calibration_request->set_direction(direction) ; calibration_request->set_type(request_type) ; return ; } Request *tmp = current_request ; current_request = NULL ; current_request = new CalibrationRequest(*tmp, const_cast(reference_point), direction, request_type) ; delete tmp ; } void InputMedium::clear_current_request() { if (dynamic_cast(current_request) == NULL) current_request->clear() ; else { delete current_request ; current_request = NULL ; current_request = new Request() ; } }