/* * This file is part of the Owl Positioning System (OwlPS). * OwlPS is a project of the University of Franche-Comté * (Université de Franche-Comté), France. */ #ifndef _OWLPS_POSITIONING_INPUTCSV_HH_ #define _OWLPS_POSITIONING_INPUTCSV_HH_ #include "inputmedium.hh" #include "csvfilereader.hh" #include /// Reads \link Request requests \endlink from a CSV file /** * CSV format is: * Mobile_MAC;Timestamp;X;Y;Z;Direction;AP_MAC_1;SS_1;…;AP_MAC_n;SS_n */ class InputCSV: public InputMedium { protected: CSVFileReader file ; /** @name Operations */ //@{ /// Reads data & fills the current request bool fill_current_request(void) ; //@} public: InputCSV(const std::string &filename): file(filename) {} ~InputCSV(void) {} /** @name Read accessors */ //@{ /// Checks if the end of the CSV file has been reached bool eof(void) const ; //@} /** @name Operators */ //@{ operator bool(void) const ; //@} } ; /* *** Read accessors *** */ inline bool InputCSV::eof() const { return file.eof() ; } /* *** Operators *** */ inline InputCSV::operator bool() const { return ! eof() ; } #endif // _OWLPS_POSITIONING_INPUTCSV_HH_