/* * 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. */ #include "mobilesreadercsv.hh" #include "point3d.hh" #include "stock.hh" #include "posexcept.hh" using namespace std ; /* *** Constructors *** */ MobilesReaderCSV::MobilesReaderCSV(const string &file_name): file(file_name) { read_devices() ; } /* *** Operations *** */ void MobilesReaderCSV::read_devices() { while (file.next_line()) process_device_line() ; } void MobilesReaderCSV::process_device_line() { string mac ; if (! file.read_field(mac)) throw malformed_input_data("Cannot read mobile's MAC address!") ; PosUtil::to_upper(mac) ; float gain ; if (! file.read_field(gain)) throw malformed_input_data("Cannot read mobile's gain!") ; float power ; if (! file.read_field(power)) throw malformed_input_data("Cannot read mobile's power!") ; string ip("") ; Mobile device(ip, mac, gain, power) ; Stock::find_create_mobile(device) ; }