summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/prolog
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-04-12 11:57:08 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-04-12 11:57:08 (GMT)
commitba050afaaad699e60ca657b311d5c34d038bb89c (patch)
treed4c79e30631c63e8557c6ec893a70dda46aa6cd5 /src/uscxml/plugins/datamodel/prolog
parent45ab2909e17f7e0348ccfe4179f23a897a2fd305 (diff)
downloaduscxml-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.cpp37
-rw-r--r--src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.h27
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