summaryrefslogtreecommitdiffstats
path: root/src/bindings
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-13 10:07:32 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-08-13 10:07:32 (GMT)
commit459f406eb2a36d393bd3a2b6aa3d63d86eb99c07 (patch)
tree35593bb978fee75bb7547f3d2c84a9039413fe1f /src/bindings
parentbeac3e74f703148085947d75da6fdaa9fd7472b4 (diff)
downloaduscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.zip
uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.gz
uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.bz2
Started Java datamodel and fixed memory leaks
Diffstat (limited to 'src/bindings')
-rw-r--r--src/bindings/swig/java/JavaDataModel.cpp8
-rw-r--r--src/bindings/swig/java/JavaDataModel.h75
-rw-r--r--src/bindings/swig/java/JavaInvoker.cpp2
-rw-r--r--src/bindings/swig/java/JavaInvoker.h10
-rw-r--r--src/bindings/swig/java/uscxml.i5
5 files changed, 94 insertions, 6 deletions
diff --git a/src/bindings/swig/java/JavaDataModel.cpp b/src/bindings/swig/java/JavaDataModel.cpp
new file mode 100644
index 0000000..896794b
--- /dev/null
+++ b/src/bindings/swig/java/JavaDataModel.cpp
@@ -0,0 +1,8 @@
+#include "JavaDataModel.h"
+
+namespace uscxml {
+
+JavaDataModel::JavaDataModel() {}
+JavaDataModel::~JavaDataModel() {}
+
+} \ No newline at end of file
diff --git a/src/bindings/swig/java/JavaDataModel.h b/src/bindings/swig/java/JavaDataModel.h
new file mode 100644
index 0000000..9188cf6
--- /dev/null
+++ b/src/bindings/swig/java/JavaDataModel.h
@@ -0,0 +1,75 @@
+#ifndef JAVADataModel_H_7U446XJQ
+#define JAVADataModel_H_7U446XJQ
+
+#include "../../../uscxml/Message.h"
+#include "../../../uscxml/Factory.h"
+#include "../../../uscxml/Interpreter.h"
+
+namespace uscxml {
+
+class JavaDataModel : public DataModelImpl {
+public:
+ JavaDataModel();
+ virtual ~JavaDataModel();
+
+ virtual JavaDataModel* create(Interpreter interpreter) {
+ return new JavaDataModel();
+ }
+
+ virtual boost::shared_ptr<DataModelImpl> create(InterpreterImpl* interpreter) {
+ return boost::shared_ptr<DataModelImpl>(create(interpreter->shared_from_this()));
+ }
+ virtual std::set<std::string> getNames() {
+ return std::set<std::string>();
+ };
+
+ virtual bool validate(const std::string& location, const std::string& schema) {
+ return true;
+ }
+ virtual void setEvent(const Event& event) {}
+ virtual Data getStringAsData(const std::string& content) {
+ Data data;
+ return data;
+ }
+
+ // foreach
+ virtual uint32_t getLength(const std::string& expr) {
+ return 0;
+ }
+ virtual void setForeach(const std::string& item,
+ const std::string& array,
+ const std::string& index,
+ uint32_t iteration) {}
+ virtual void pushContext() {}
+ virtual void popContext() {}
+
+ virtual void eval(const Arabica::DOM::Element<std::string>& scriptElem,
+ const std::string& expr) {}
+
+ virtual std::string evalAsString(const std::string& expr) {
+ return "";
+ }
+ virtual bool evalAsBool(const std::string& expr) {
+ return false;
+ }
+
+ virtual bool isDeclared(const std::string& expr) {
+ return false;
+ }
+
+ virtual void assign(const Arabica::DOM::Element<std::string>& assignElem,
+ const Arabica::DOM::Document<std::string>& doc,
+ const std::string& content) {}
+ virtual void assign(const std::string& location, const Data& data) {}
+
+ virtual void init(const Arabica::DOM::Element<std::string>& dataElem,
+ const Arabica::DOM::Document<std::string>& doc,
+ const std::string& content) {}
+ virtual void init(const std::string& location, const Data& data) {}
+
+
+};
+
+}
+
+#endif /* end of include guard: JAVADataModel_H_7U446XJQ */
diff --git a/src/bindings/swig/java/JavaInvoker.cpp b/src/bindings/swig/java/JavaInvoker.cpp
index c10ae6d..e1c6a31 100644
--- a/src/bindings/swig/java/JavaInvoker.cpp
+++ b/src/bindings/swig/java/JavaInvoker.cpp
@@ -4,5 +4,5 @@ namespace uscxml {
JavaInvoker::JavaInvoker() {}
JavaInvoker::~JavaInvoker() {}
-
+
} \ No newline at end of file
diff --git a/src/bindings/swig/java/JavaInvoker.h b/src/bindings/swig/java/JavaInvoker.h
index 0a13176..e4db759 100644
--- a/src/bindings/swig/java/JavaInvoker.h
+++ b/src/bindings/swig/java/JavaInvoker.h
@@ -11,23 +11,23 @@ class JavaInvoker : public InvokerImpl {
public:
JavaInvoker();
virtual ~JavaInvoker();
-
+
virtual std::set<std::string> getNames() {
return std::set<std::string>();
};
-
+
virtual Data getDataModelVariables() {
Data data;
return data;
}
-
+
virtual void send(const SendRequest& req) {}
virtual void invoke(const InvokeRequest& req) {}
-
+
virtual JavaInvoker* create(Interpreter interpreter) {
return new JavaInvoker();
}
-
+
virtual boost::shared_ptr<InvokerImpl> create(InterpreterImpl* interpreter) {
return boost::shared_ptr<InvokerImpl>(create(interpreter->shared_from_this()));
}
diff --git a/src/bindings/swig/java/uscxml.i b/src/bindings/swig/java/uscxml.i
index af979d0..81ac83e 100644
--- a/src/bindings/swig/java/uscxml.i
+++ b/src/bindings/swig/java/uscxml.i
@@ -48,10 +48,12 @@ typedef uscxml::SendRequest SendRequest;
#include "../../../uscxml/Factory.h"
#include "../../../uscxml/Interpreter.h"
#include "JavaInvoker.h"
+#include "JavaDataModel.h"
using namespace uscxml;
#include "JavaInvoker.cpp"
+#include "JavaDataModel.cpp"
%}
@@ -64,6 +66,7 @@ using namespace uscxml;
%ignore uscxml::Interpreter::getDelayQueue();
%ignore uscxml::JavaInvoker::create(InterpreterImpl*);
+%ignore uscxml::JavaDataModel::create(InterpreterImpl*);
%template(DataMap) std::map<std::string, uscxml::Data>;
%template(DataList) std::list<uscxml::Data>;
@@ -71,6 +74,7 @@ using namespace uscxml;
%feature("director") uscxml::JavaInvoker;
+%feature("director") uscxml::JavaDataModel;
//***********************************************
// Parse the header file to generate wrappers
@@ -81,4 +85,5 @@ using namespace uscxml;
%include "../../../uscxml/Message.h"
%include "../../../uscxml/Interpreter.h"
%include "JavaInvoker.h"
+%include "JavaDataModel.h"