summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2012-12-15 19:10:50 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2012-12-15 19:10:50 (GMT)
commitf1700edcd08d6215888e226618555ba43b5324ec (patch)
tree738f30de64f699c3f56d2e15963537c9493a24b4 /src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h
parent2855a9ff7b423140237c9e988252fde0cbacd0a1 (diff)
downloaduscxml-f1700edcd08d6215888e226618555ba43b5324ec.zip
uscxml-f1700edcd08d6215888e226618555ba43b5324ec.tar.gz
uscxml-f1700edcd08d6215888e226618555ba43b5324ec.tar.bz2
Refactoring and plugin support
Diffstat (limited to 'src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h')
-rw-r--r--src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h
new file mode 100644
index 0000000..9068a24
--- /dev/null
+++ b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.h
@@ -0,0 +1,45 @@
+#ifndef USCXMLINVOKER_H_OQFA21IO
+#define USCXMLINVOKER_H_OQFA21IO
+
+#include "uscxml/Factory.h"
+
+#ifdef BUILD_AS_PLUGINS
+#include "uscxml/plugins/Plugins.h"
+#endif
+
+namespace uscxml {
+
+class Interpreter;
+
+class USCXMLInvoker : public Invoker {
+public:
+ USCXMLInvoker();
+ virtual ~USCXMLInvoker();
+ virtual Invoker* create(Interpreter* interpreter);
+ virtual std::set<std::string> getNames() {
+ std::set<std::string> names;
+ names.insert("uscxml");
+ names.insert("http://www.w3.org/TR/scxml");
+ names.insert("http://www.w3.org/TR/scxml/");
+ return names;
+ }
+
+ virtual Data getDataModelVariables();
+ virtual void send(SendRequest& req);
+ virtual void cancel(const std::string sendId);
+ virtual void invoke(InvokeRequest& req);
+ virtual void sendToParent(SendRequest& req);
+
+protected:
+ std::string _invokeId;
+ Interpreter* _invokedInterpreter;
+ Interpreter* _parentInterpreter;
+};
+
+#ifdef BUILD_AS_PLUGINS
+PLUMA_INHERIT_PROVIDER(USCXMLInvoker, Invoker);
+#endif
+
+}
+
+#endif /* end of include guard: USCXMLINVOKER_H_OQFA21IO */