summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/Factory.h')
-rw-r--r--src/uscxml/Factory.h61
1 files changed, 52 insertions, 9 deletions
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index c396e63..540cf61 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -240,14 +240,33 @@ public:
virtual void pushContext() = 0;
virtual void popContext() = 0;
+ virtual bool supportsJSON() { return false; }
+
virtual void eval(const std::string& expr) = 0;
virtual std::string evalAsString(const std::string& expr) = 0;
virtual bool evalAsBool(const std::string& expr) = 0;
- virtual void assign(const std::string& location, const Arabica::DOM::Document<std::string>& doc) = 0;
- virtual void assign(const std::string& location, const std::string& expr) = 0;
- virtual void assign(const std::string& location, const Data& data) = 0;
virtual bool isDeclared(const std::string& expr) = 0;
+ virtual void assign(const std::string& location,
+ const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Element<std::string>& assignElem) = 0;
+ virtual void assign(const std::string& location,
+ const std::string& expr,
+ const Arabica::DOM::Element<std::string>& assignElem) = 0;
+ virtual void assign(const std::string& location,
+ const Data& data,
+ const Arabica::DOM::Element<std::string>& assignElem) = 0;
+
+ virtual void init(const std::string& location,
+ const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Element<std::string>& dataElem) = 0;
+ virtual void init(const std::string& location,
+ const std::string& expr,
+ const Arabica::DOM::Element<std::string>& dataElem) = 0;
+ virtual void init(const std::string& location,
+ const Data& data,
+ const Arabica::DOM::Element<std::string>& dataElem) = 0;
+
protected:
InterpreterImpl* _interpreter;
};
@@ -295,6 +314,9 @@ public:
virtual void popContext() {
return _impl->popContext();
}
+ virtual bool supportsJSON() {
+ return _impl->supportsJSON();
+ }
virtual void eval(const std::string& expr) {
return _impl->eval(expr);
@@ -306,15 +328,36 @@ public:
return _impl->evalAsBool(expr);
}
- virtual void assign(const std::string& location, const Arabica::DOM::Document<std::string>& doc) {
- return _impl->assign(location, doc);
+ virtual void assign(const std::string& location,
+ const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Element<std::string>& assignElem) {
+ return _impl->assign(location, doc, assignElem);
+ }
+ virtual void assign(const std::string& location,
+ const std::string& expr,
+ const Arabica::DOM::Element<std::string>& assignElem) {
+ return _impl->assign(location, expr, assignElem);
+ }
+ virtual void assign(const std::string& location,
+ const Data& data,
+ const Arabica::DOM::Element<std::string>& assignElem) {
+ return _impl->assign(location, data, assignElem);
}
- virtual void assign(const std::string& location, const std::string& expr) {
- return _impl->assign(location, expr);
+ virtual void init(const std::string& location,
+ const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Element<std::string>& dataElem) {
+ return _impl->init(location, doc, dataElem);
+ }
+ virtual void init(const std::string& location,
+ const std::string& expr,
+ const Arabica::DOM::Element<std::string>& dataElem) {
+ return _impl->init(location, expr, dataElem);
}
- virtual void assign(const std::string& location, const Data& data) {
- return _impl->assign(location, data);
+ virtual void init(const std::string& location,
+ const Data& data,
+ const Arabica::DOM::Element<std::string>& dataElem) {
+ return _impl->init(location, data, dataElem);
}
virtual bool isDeclared(const std::string& expr) {