#ifndef XMLGRAPHSTATEREADER_H #define XMLGRAPHSTATEREADER_H #include #include #include "model/csm/dto/CommandControl.h" #include "logger/Logger.h" #include "model/csm/type/Node.h" #include "model/csm/type/Graph.h" class XmlGraphStateReader { private: QDomDocument _xmlDoc; QString _xmlAddress; QDomElement _root; //gragh nodes QDomElement _state; QList _commonDestinations; QList _specificStates; inline void handleError(ESeverityLevel::eSeverityLevel severityLevel, ELogID::eLogID logID, QString logText, bool emitThrow = true) const; public: XmlGraphStateReader(QString address); //Graph QDomElement getState(); QList getCommonDestinations(); QList getSpeciticStates(); static QList getStateDestination(QDomElement state); static void addEdge(QDomElement state, QList commonDestinations, Graph* stateGraph); static void initGraph(Graph* stateGraph, QList states, QList commonDestinations); static void addSpeciticEdge(QDomElement state, QList desinations, Graph* stateGraph); static void addCommonEdge(QDomElement state, QList commonDestinations, Graph* stateGraph); }; #endif //XMLGRAPHSTATEREADER_H