summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-25 10:41:58 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-25 10:41:58 (GMT)
commit26183abd9acd44a0382e55cc985795ee7c526aed (patch)
treea9d9289397b65892dbad037d02460cf2d04597fb /src/uscxml/Factory.h
parentbd45c688b3d3aad5d62b85457ce943eaadf989ae (diff)
downloaduscxml-26183abd9acd44a0382e55cc985795ee7c526aed.zip
uscxml-26183abd9acd44a0382e55cc985795ee7c526aed.tar.gz
uscxml-26183abd9acd44a0382e55cc985795ee7c526aed.tar.bz2
Updated W3C tests and bug-fixes
Diffstat (limited to 'src/uscxml/Factory.h')
-rw-r--r--src/uscxml/Factory.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index 0432f34..b815712 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -52,7 +52,9 @@ public:
}
virtual std::string getLocalName() = 0; ///< The name of the element.
- virtual std::string getNamespace() = 0; ///< The namespace of the element.
+ virtual std::string getNamespace() {
+ return "http://www.w3.org/2005/07/scxml"; ///< The namespace of the element.
+ }
virtual void enterElement(const Arabica::DOM::Node<std::string>& node) = 0; ///< Invoked when entering the element as part of evaluating executable content.
virtual void exitElement(const Arabica::DOM::Node<std::string>& node) = 0; ///< Invoked when exiting the element as part of evaluating executable content.
virtual bool processChildren() = 0; ///< Whether or not the interpreter should process this elements children.
@@ -283,15 +285,19 @@ public:
virtual bool isDeclared(const std::string& expr) = 0;
virtual void assign(const Arabica::DOM::Element<std::string>& assignElem,
- const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Node<std::string>& node,
const std::string& content) = 0;
virtual void assign(const std::string& location, const Data& data) = 0;
virtual void init(const Arabica::DOM::Element<std::string>& dataElem,
- const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Node<std::string>& node,
const std::string& content) = 0;
virtual void init(const std::string& location, const Data& data) = 0;
+ virtual void setInterpreter(InterpreterImpl* interpreter) {
+ _interpreter = interpreter;
+ }
+
// we need it public for various static functions
InterpreterImpl* _interpreter;
};
@@ -358,18 +364,18 @@ public:
}
virtual void assign(const Arabica::DOM::Element<std::string>& assignElem,
- const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Node<std::string>& node,
const std::string& content) {
- return _impl->assign(assignElem, doc, content);
+ return _impl->assign(assignElem, node, content);
}
virtual void assign(const std::string& location, const Data& data) {
return _impl->assign(location, data);
}
virtual void init(const Arabica::DOM::Element<std::string>& dataElem,
- const Arabica::DOM::Document<std::string>& doc,
+ const Arabica::DOM::Node<std::string>& node,
const std::string& content) {
- return _impl->init(dataElem, doc, content);
+ return _impl->init(dataElem, node, content);
}
virtual void init(const std::string& location, const Data& data) {
return _impl->init(location, data);
@@ -383,6 +389,10 @@ public:
return _impl->replaceExpressions(content);
}
+ virtual void setInterpreter(InterpreterImpl* interpreter) {
+ _impl->setInterpreter(interpreter);
+ }
+
protected:
boost::shared_ptr<DataModelImpl> _impl;
};