20 #ifndef INTERPRETER_H_6CD5A168
21 #define INTERPRETER_H_6CD5A168
37 class InterpreterMonitor;
38 class InterpreterImpl;
39 class InterpreterIssue;
65 unsigned short httpPort;
66 unsigned short httpsPort;
67 unsigned short wsPort;
68 std::string pluginPath;
69 std::string certificate;
70 std::string privateKey;
71 std::string publicKey;
72 std::vector<std::pair<std::string, InterpreterOptions*> > interpreters;
73 std::map<std::string, std::string> additionalParameters;
78 return error.length() == 0;
81 static void printUsageAndExit(
const char* progName);
121 static Interpreter fromDocument(XERCESC_NS::DOMDocument* dom,
122 const std::string& baseURL,
130 static Interpreter fromElement(XERCESC_NS::DOMElement* element,
131 const std::string& baseURL);
138 const std::string& baseURL);
143 static Interpreter fromURL(
const std::string& url);
163 InterpreterState step(
bool blocking =
false);
179 std::list<XERCESC_NS::DOMElement*> getConfiguration();
186 bool isInState(
const std::string& stateId);
192 InterpreterState getState();
198 std::list<InterpreterIssue> validate();
204 void receive(
const Event& event);
219 std::shared_ptr<InterpreterImpl>
getImpl()
const {
224 std::shared_ptr<InterpreterImpl> _impl;
Definition: InterpreterIssue.cpp:33
Definition: InterpreterMonitor.h:46
#define PIMPL_OPERATORS(type)
The usual operators as required for the PIMPL pattern.
Definition: Common.h:60
Central class to interpret and process SCXML documents.
Definition: Interpreter.h:112
MicroStep microStepper
The microstepper instance to use.
Definition: Interpreter.h:92
Collection of instances for interpreter that constitute its action language.
Definition: Interpreter.h:90
DataModel dataModel
The datamodel to uses.
Definition: Interpreter.h:93
std::shared_ptr< InterpreterImpl > getImpl() const
Return the actual implementation of the Interperter.
Definition: Interpreter.h:219
Options to pass into an interpreter.
Definition: Interpreter.h:45
ContentExecutor execContent
To process executable content elements.
Definition: Interpreter.h:94
Definition: MicroStep.h:47
The facade for data-models.
Definition: DataModel.h:40
Definition: ContentExecutor.h:43