diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-04-12 11:57:08 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-04-12 11:57:08 (GMT) |
commit | ba050afaaad699e60ca657b311d5c34d038bb89c (patch) | |
tree | d4c79e30631c63e8557c6ec893a70dda46aa6cd5 /src/uscxml/plugins/datamodel/prolog | |
parent | 45ab2909e17f7e0348ccfe4179f23a897a2fd305 (diff) | |
download | uscxml-ba050afaaad699e60ca657b311d5c34d038bb89c.zip uscxml-ba050afaaad699e60ca657b311d5c34d038bb89c.tar.gz uscxml-ba050afaaad699e60ca657b311d5c34d038bb89c.tar.bz2 |
Refactoring for other datamodels
Diffstat (limited to 'src/uscxml/plugins/datamodel/prolog')
-rw-r--r-- | src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp | 37 | ||||
-rw-r--r-- | src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h | 27 |
2 files changed, 54 insertions, 10 deletions
diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp index 75d6da9..f3af4b6 100644 --- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp +++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp @@ -21,7 +21,7 @@ bool connect(pluma::Host& host) { SWIDataModel::SWIDataModel() { } -boost::shared_ptr<DataModelImpl> SWIDataModel::create(Interpreter* interpreter) { +boost::shared_ptr<DataModelImpl> SWIDataModel::create(InterpreterImpl* interpreter) { boost::shared_ptr<SWIDataModel> dm = boost::shared_ptr<SWIDataModel>(new SWIDataModel()); dm->_interpreter = interpreter; @@ -134,16 +134,41 @@ std::string SWIDataModel::evalAsString(const std::string& expr) { return std::string(compound); } -void SWIDataModel::assign(const std::string& location, const Data& data) { - eval(data.atom); +void SWIDataModel::assign(const std::string& location, + const Arabica::DOM::Document<std::string>& doc, + const Arabica::DOM::Element<std::string>& assignElem) { + } +void SWIDataModel::assign(const std::string& location, + const std::string& expr, + const Arabica::DOM::Element<std::string>& assignElem) { -void SWIDataModel::assign(const std::string& location, const std::string& expr) { eval(expr); } +void SWIDataModel::assign(const std::string& location, + const Data& data, + const Arabica::DOM::Element<std::string>& assignElem) { + eval(data.atom); +} + +void SWIDataModel::init(const std::string& location, + const Arabica::DOM::Document<std::string>& doc, + const Arabica::DOM::Element<std::string>& dataElem) { + +} +void SWIDataModel::init(const std::string& location, + const std::string& expr, + const Arabica::DOM::Element<std::string>& dataElem) { + +} +void SWIDataModel::init(const std::string& location, + const Data& data, + const Arabica::DOM::Element<std::string>& dataElem) { -bool SWIDataModel::isDefined(const std::string& expr) { +} + +bool SWIDataModel::isDeclared(const std::string& expr) { return true; } -}
\ No newline at end of file +} diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h index 52d1e34..5d95476 100644 --- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h +++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h @@ -15,7 +15,7 @@ class SWIDataModel : public DataModelImpl { public: SWIDataModel(); virtual ~SWIDataModel(); - virtual boost::shared_ptr<DataModelImpl> create(Interpreter* interpreter); + virtual boost::shared_ptr<DataModelImpl> create(InterpreterImpl* interpreter); virtual std::set<std::string> getNames() { std::set<std::string> names; @@ -37,20 +37,39 @@ public: virtual void popContext(); virtual void eval(const std::string& expr); - virtual void assign(const std::string& location, const std::string& expr); - virtual void assign(const std::string& location, const Data& data); - virtual bool isDefined(const std::string& expr); + virtual bool isDeclared(const std::string& expr); virtual Data getStringAsData(const std::string& content); virtual std::string evalAsString(const std::string& expr); virtual bool evalAsBool(const std::string& expr); + virtual void assign(const std::string& location, + const Arabica::DOM::Document<std::string>& doc, + const Arabica::DOM::Element<std::string>& assignElem); + virtual void assign(const std::string& location, + const std::string& expr, + const Arabica::DOM::Element<std::string>& assignElem); + virtual void assign(const std::string& location, + const Data& data, + const Arabica::DOM::Element<std::string>& assignElem); + + virtual void init(const std::string& location, + const Arabica::DOM::Document<std::string>& doc, + const Arabica::DOM::Element<std::string>& dataElem); + virtual void init(const std::string& location, + const std::string& expr, + const Arabica::DOM::Element<std::string>& dataElem); + virtual void init(const std::string& location, + const Data& data, + const Arabica::DOM::Element<std::string>& dataElem); protected: Event _event; PlEngine* _plEngine; + std::string _name; + std::string _sessionId; }; #ifdef BUILD_AS_PLUGINS |