SUMO - Simulation of Urban MObility
|
Parser and output filter for routes and vehicles state saving and loading. More...
#include <MSStateHandler.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. | |
const std::string & | getFileName () const |
returns the current file name | |
SUMOTime | getTime () const |
MSStateHandler (const std::string &file, const SUMOTime offset) | |
standard constructor | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. | |
void | setFileName (const std::string &name) |
Sets the current file name. | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs) |
The inherited method called when a new tag opens. | |
virtual | ~MSStateHandler () |
standard destructor | |
SAX ErrorHandler callbacks | |
void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-warnings. | |
void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. | |
void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. |
Static Public Member Functions | |
static void | saveState (const std::string &file, SUMOTime step) |
Saves the current state. |
Protected Member Functions | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. | |
inherited from GenericSAXHandler | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. | |
void | myEndElement (int element) |
Called when a closing tag occurs. |
Private Member Functions | |
MSStateHandler (const MSStateHandler &s) | |
Invalidated copy constructor. | |
MSStateHandler & | operator= (const MSStateHandler &s) |
Invalidated assignment operator. |
Private Attributes | |
SUMOVTypeParameter * | myCurrentVType |
The currently parsed vehicle type. | |
std::pair< int, int > | myEdgeAndLane |
const SUMOTime | myOffset |
unsigned int | myQueIndex |
SUMOTime | myTime |
Parser and output filter for routes and vehicles state saving and loading.
Definition at line 54 of file MSStateHandler.h.
MSStateHandler::MSStateHandler | ( | const std::string & | file, |
const SUMOTime | offset | ||
) |
standard constructor
Definition at line 59 of file MSStateHandler.cpp.
|
virtual |
standard destructor
Definition at line 69 of file MSStateHandler.cpp.
|
private |
Invalidated copy constructor.
|
protectedinherited |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 193 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
inherited |
The inherited method called when characters occured.
The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 176 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
|
inherited |
The inherited method called when a tag is being closed.
This method calls the user-implemented methods myCharacters with the previously collected and converted characters.
Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 126 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::myStartElement().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 86 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NLHandler::addPOI(), NLHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), PCNetProjectionLoader::load(), NILoader::loadXMLType(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), myStartElement(), SUMORouteHandler::myStartElement(), PCLoaderXML::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
|
inline |
Definition at line 68 of file MSStateHandler.h.
References myTime.
Referenced by NLBuilder::build().
|
protectedvirtualinherited |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler.
Definition at line 228 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtual |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 236 of file MSStateHandler.cpp.
References MSVehicleControl::addVType(), MSVehicleType::build(), MSNet::getInstance(), MSNet::getVehicleControl(), myCurrentVType, and SUMO_TAG_VTYPE.
|
protectedvirtual |
Called on the opening of a tag;.
[in] | element | ID of the currently opened element |
[in] | attrs | Attributes within the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 100 of file MSStateHandler.cpp.
References RandomDistributor< T >::add(), MSInsertionControl::add(), MSRoute::addReference(), MSVehicleControl::addVehicle(), MSVehicleControl::addVTypeDistribution(), SUMOVehicleParserHelper::beginVTypeParsing(), MSVehicleControl::buildVehicle(), SUMOVehicleParameter::depart, MSRoute::dictionary(), MSEdge::dictionary(), SUMOSAXAttributes::getBool(), GenericSAXHandler::getFileName(), SUMOSAXAttributes::getFloat(), MSNet::getInsertionControl(), MSNet::getInstance(), SUMOSAXAttributes::getInt(), SUMOSAXAttributes::getString(), MSVehicleControl::getVehicle(), MSNet::getVehicleControl(), MSVehicleControl::getVType(), MSGlobals::gUseMesoSim, SUMOVehicleParameter::id, SUMOVehicle::loadState(), myCurrentVType, myEdgeAndLane, myOffset, myQueIndex, myTime, MSEdge::parseEdgesList(), SUMOSAXAttributes::parseStringVector(), SUMOVehicleParserHelper::parseVTypeEmbedded(), SUMOVehicleParameter::routeid, MSVehicleControl::setState(), SUMO_ATTR_DEPART, SUMO_ATTR_EDGES, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_NUMBER, SUMO_ATTR_PROBS, SUMO_ATTR_ROUTE, SUMO_ATTR_ROUTES, SUMO_ATTR_STATE, SUMO_ATTR_TIME, SUMO_ATTR_TYPE, SUMO_ATTR_VALUE, SUMO_ATTR_VERSION, SUMO_ATTR_VTYPES, SUMO_TAG_DELAY, SUMO_TAG_LANE, SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, SUMO_TAG_SEGMENT, SUMO_TAG_SNAPSHOT, SUMO_TAG_VEHICLE, SUMO_TAG_VIEWSETTINGS_VEHICLES, SUMO_TAG_VTYPE, SUMO_TAG_VTYPE_DISTRIBUTION, SUMOReal, VERSION_STRING, SUMOVehicleParameter::vtypeid, and WRITE_WARNING.
|
private |
Invalidated assignment operator.
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 168 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
static |
Saves the current state.
[in] | file | The file to write the state into |
Definition at line 74 of file MSStateHandler.cpp.
References MSRoute::dict_saveState(), MSEdge::dictionary(), MSEdge::dictSize(), OutputDevice::getDevice(), MSNet::getInstance(), MSNet::getVehicleControl(), MSGlobals::gUseMesoSim, MSVehicleControl::saveState(), SUMO_ATTR_TIME, SUMO_ATTR_VERSION, SUMO_TAG_SNAPSHOT, VERSION_STRING, OutputDevice::writeAttr(), and OutputDevice::writeHeader().
Referenced by MSNet::simulationStep().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 80 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), PCNetProjectionLoader::load(), NIImporter_OpenStreetMap::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and XMLSubSys::runParser().
|
inherited |
The inherited method called when a new tag opens.
The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.
Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 105 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
The currently parsed vehicle type.
Definition at line 107 of file MSStateHandler.h.
Referenced by myEndElement(), and myStartElement().
Definition at line 103 of file MSStateHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 98 of file MSStateHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 104 of file MSStateHandler.h.
Referenced by myStartElement().
|
private |
Definition at line 99 of file MSStateHandler.h.
Referenced by getTime(), and myStartElement().