#include <MSRouteLoader.h>
Definition at line 45 of file MSRouteLoader.h.
Public Member Functions | |
| void | init () |
| resets the reader | |
| void | loadUntil (SUMOTime time, MSEmitControl *into) |
| bool | moreAvailable () const |
| returns the information whether new data is available | |
| MSRouteLoader (MSNet &net, MSRouteHandler *handler) | |
| constructor | |
| ~MSRouteLoader () | |
| destructor | |
Private Attributes | |
| MSRouteHandler * | myHandler |
| bool | myMoreAvailable |
| information whether more vehicles should be available | |
| SAX2XMLReader * | myParser |
| the used SAX2XMLReader | |
| XMLPScanToken | myToken |
| the token for saving the current position | |
| MSRouteLoader::MSRouteLoader | ( | MSNet & | net, | |
| MSRouteHandler * | handler | |||
| ) |
constructor
Definition at line 45 of file MSRouteLoader.cpp.
References XMLSubSys::getSAXReader(), myHandler, and myParser.
00047 : myParser(0), myMoreAvailable(true), myHandler(handler) { 00048 myParser = XMLSubSys::getSAXReader(*myHandler); 00049 }
| MSRouteLoader::~MSRouteLoader | ( | ) |
| void MSRouteLoader::init | ( | ) |
resets the reader
Definition at line 59 of file MSRouteLoader.cpp.
References GenericSAXHandler::getFileName(), myHandler, myMoreAvailable, myParser, and myToken.
00059 { 00060 myMoreAvailable = true; 00061 if (!myParser->parseFirst(myHandler->getFileName().c_str(), myToken)) { 00062 throw ProcessError("Can not read XML-file '" + myHandler->getFileName() + "'."); 00063 } 00064 }
| void MSRouteLoader::loadUntil | ( | SUMOTime | time, | |
| MSEmitControl * | into | |||
| ) |
loads vehicles until a vehicle is read that starts after the specified time
Definition at line 68 of file MSRouteLoader.cpp.
References MSRouteHandler::getLastDepart(), myHandler, myMoreAvailable, myParser, myToken, and MSRouteHandler::retrieveLastReadVehicle().
00068 { 00069 // read only when further data is available, no error occured 00070 // and vehicles may be found in the between the departure time of 00071 // the last read vehicle and the time to read until 00072 if (!myMoreAvailable || time+DELTA_T < myHandler->getLastDepart()) { 00073 return; 00074 } 00075 00076 // if a vehicle was read before the call but was not yet added, 00077 // add it now 00078 myHandler->retrieveLastReadVehicle(into); 00079 // read vehicles until specified time or the period to read vehicles 00080 // until is reached 00081 while (myParser->parseNext(myToken)) { 00082 // return when the last read vehicle is beyond the period 00083 if (myHandler->getLastDepart()>=time) { 00084 return; 00085 } 00086 // otherwise add the last vehicle read (if any) 00087 myHandler->retrieveLastReadVehicle(into); 00088 } 00089 00090 // no data are available anymore 00091 myMoreAvailable = false; 00092 return; 00093 }
| bool MSRouteLoader::moreAvailable | ( | ) | const |
returns the information whether new data is available
Definition at line 97 of file MSRouteLoader.cpp.
References myMoreAvailable.
00097 { 00098 return myMoreAvailable; 00099 }
MSRouteHandler* MSRouteLoader::myHandler [private] |
Definition at line 73 of file MSRouteLoader.h.
Referenced by init(), loadUntil(), MSRouteLoader(), and ~MSRouteLoader().
bool MSRouteLoader::myMoreAvailable [private] |
information whether more vehicles should be available
Definition at line 71 of file MSRouteLoader.h.
Referenced by init(), loadUntil(), and moreAvailable().
SAX2XMLReader* MSRouteLoader::myParser [private] |
the used SAX2XMLReader
Definition at line 65 of file MSRouteLoader.h.
Referenced by init(), loadUntil(), MSRouteLoader(), and ~MSRouteLoader().
XMLPScanToken MSRouteLoader::myToken [private] |
the token for saving the current position
Definition at line 68 of file MSRouteLoader.h.
Referenced by init(), and loadUntil().
1.5.6