diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-08-13 10:07:32 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-08-13 10:07:32 (GMT) |
commit | 459f406eb2a36d393bd3a2b6aa3d63d86eb99c07 (patch) | |
tree | 35593bb978fee75bb7547f3d2c84a9039413fe1f /src/bindings/swig | |
parent | beac3e74f703148085947d75da6fdaa9fd7472b4 (diff) | |
download | uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.zip uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.gz uscxml-459f406eb2a36d393bd3a2b6aa3d63d86eb99c07.tar.bz2 |
Started Java datamodel and fixed memory leaks
Diffstat (limited to 'src/bindings/swig')
-rw-r--r-- | src/bindings/swig/java/JavaDataModel.cpp | 8 | ||||
-rw-r--r-- | src/bindings/swig/java/JavaDataModel.h | 75 | ||||
-rw-r--r-- | src/bindings/swig/java/JavaInvoker.cpp | 2 | ||||
-rw-r--r-- | src/bindings/swig/java/JavaInvoker.h | 10 | ||||
-rw-r--r-- | src/bindings/swig/java/uscxml.i | 5 |
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" |