summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-03-11 14:45:38 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-03-11 14:45:38 (GMT)
commitc34e0ce034586a05308e552cbbdff48beec7dd96 (patch)
tree39c73ba64b0d228b3c53913ea4e7ab6dda6ad5c1 /src/uscxml/Interpreter.h
parentca46aa711fb5d08a8fd1cc6b91593c281189e8e3 (diff)
downloaduscxml-c34e0ce034586a05308e552cbbdff48beec7dd96.zip
uscxml-c34e0ce034586a05308e552cbbdff48beec7dd96.tar.gz
uscxml-c34e0ce034586a05308e552cbbdff48beec7dd96.tar.bz2
Integrated debugger into browser (use -d command line parameter)
Diffstat (limited to 'src/uscxml/Interpreter.h')
-rw-r--r--src/uscxml/Interpreter.h36
1 files changed, 29 insertions, 7 deletions
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h
index 94c5d74..f6b1783 100644
--- a/src/uscxml/Interpreter.h
+++ b/src/uscxml/Interpreter.h
@@ -98,7 +98,7 @@ enum Capabilities {
class USCXML_API InterpreterOptions {
public:
- bool useDot;
+ bool withDebugger;
bool verbose;
bool withHTTP;
bool withHTTPS;
@@ -126,7 +126,7 @@ public:
protected:
InterpreterOptions() :
- useDot(false),
+ withDebugger(false),
verbose(false),
withHTTP(true),
withHTTPS(true),
@@ -171,12 +171,19 @@ public:
_monitors.erase(monitor);
}
- void setBaseURI(std::string baseURI) {
- _baseURI = URL(baseURI);
+ void setSourceURI(std::string sourceURI) {
+ _sourceURI = URL(sourceURI);
+
+ URL baseURI(sourceURI);
+ URL::toBaseURL(baseURI);
+ _baseURI = baseURI;
}
URL getBaseURI() {
return _baseURI;
}
+ URL getSourceURI() {
+ return _sourceURI;
+ }
void setCmdLineOptions(std::map<std::string, std::string> params);
Data getCmdLineOptions() {
@@ -213,6 +220,11 @@ public:
return _nameSpaceInfo[ns] + ":";
return "";
}
+
+ Arabica::XPath::NodeSet<std::string> getNodeSetForXPath(const std::string& xpathExpr) {
+ return _xpath.evaluate(xpathExpr, _scxml).asNodeSet();
+ }
+
void setNameSpaceInfo(const std::map<std::string, std::string> nameSpaceInfo);
std::map<std::string, std::string> getNameSpaceInfo() {
return _nameSpaceInfo;
@@ -339,6 +351,7 @@ protected:
tthread::recursive_mutex _pluginMutex;
URL _baseURI;
+ URL _sourceURI;
Arabica::DOM::Document<std::string> _document;
Arabica::DOM::Element<std::string> _scxml;
Arabica::XPath::XPath<std::string> _xpath;
@@ -478,8 +491,11 @@ public:
return _impl->removeMonitor(monitor);
}
- void setBaseURI(std::string baseURI) {
- return _impl->setBaseURI(baseURI);
+ void setSourceURI(std::string sourceURI) {
+ return _impl->setSourceURI(sourceURI);
+ }
+ URL getSourceURI() {
+ return _impl->getSourceURI();
}
URL getBaseURI() {
return _impl->getBaseURI();
@@ -527,7 +543,10 @@ public:
std::string getXMLPrefixForNS(const std::string& ns) {
return _impl->getXMLPrefixForNS(ns);
}
-
+ Arabica::XPath::NodeSet<std::string> getNodeSetForXPath(const std::string& xpathExpr) {
+ return _impl->getNodeSetForXPath(xpathExpr);
+ }
+
void inline receiveInternal(const Event& event) {
return _impl->receiveInternal(event);
}
@@ -709,6 +728,9 @@ public:
virtual void beforeExitingState(Interpreter interpreter, const Arabica::DOM::Element<std::string>& state) {}
virtual void afterExitingState(Interpreter interpreter, const Arabica::DOM::Element<std::string>& state) {}
+ virtual void beforeExecutingContent(Interpreter interpreter, const Arabica::DOM::Node<std::string>& content) {}
+ virtual void afterExecutingContent(Interpreter interpreter, const Arabica::DOM::Node<std::string>& content) {}
+
virtual void beforeUninvoking(Interpreter interpreter, const Arabica::DOM::Element<std::string>& invokeElem, const std::string& invokeid) {}
virtual void afterUninvoking(Interpreter interpreter, const Arabica::DOM::Element<std::string>& invokeElem, const std::string& invokeid) {}