20 #ifndef DATAMODELIMPL_H_5A33C087
21 #define DATAMODELIMPL_H_5A33C087
23 #include "uscxml/config.h"
28 #include <xercesc/dom/DOM.hpp>
36 class InterpreterImpl;
46 virtual const std::string& getName() = 0;
47 virtual const std::string& getSessionId() = 0;
48 virtual const std::map<std::string, IOProcessor>& getIOProcessors() = 0;
49 virtual bool isInState(
const std::string& stateId) = 0;
50 virtual XERCESC_NS::DOMDocument* getDocument()
const = 0;
51 virtual const std::map<std::string, Invoker>& getInvokers() = 0;
58 virtual std::string provides() = 0;
59 virtual Data getValueOf(
const std::string& member) = 0;
60 virtual void setValueOf(
const std::string& member,
const Data& data) = 0;
87 virtual std::list<std::string> getNames() = 0;
103 virtual void setEvent(
const Event& event) = 0;
112 size_t replaceExpressions(std::string& content);
118 virtual uint32_t getLength(
const std::string& expr) = 0;
119 virtual void setForeach(
const std::string& item,
120 const std::string& array,
121 const std::string& index,
122 uint32_t iteration) = 0;
130 virtual Data getAsData(
const std::string& content) = 0;
137 virtual Data evalAsData(
const std::string& content) = 0;
145 virtual bool evalAsBool(
const std::string& expr) = 0;
152 virtual bool isDeclared(
const std::string& expr) = 0;
172 virtual void assign(
const std::string& location,
const Data& data) = 0;
182 virtual void init(
const std::string& location,
const Data& data) = 0;
186 virtual std::string andExpressions(std::list<std::string>) {
191 DataModelCallbacks* _callbacks;
Definition: InterpreterIssue.cpp:33
Definition: DataModelImpl.h:54
Abstract base class for all data-model implementations.
Definition: DataModelImpl.h:69
Callbacks available for every data-model.
Definition: DataModelImpl.h:44
virtual bool isValidSyntax(const std::string &expr)
Determine whether a given string constitutes valid syntax in the data-model's language.
Definition: DataModelImpl.h:95