summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-06-21 09:14:06 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-06-21 09:14:06 (GMT)
commit8e3cca4a153a5178a77ae6956292606563f4b8fe (patch)
tree89537d5153690ee0d9a7b0038b1280f407f70dc3 /src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
parent794575f01ce5a6bf7e377eb815f3def5aded74f5 (diff)
downloaduscxml-8e3cca4a153a5178a77ae6956292606563f4b8fe.zip
uscxml-8e3cca4a153a5178a77ae6956292606563f4b8fe.tar.gz
uscxml-8e3cca4a153a5178a77ae6956292606563f4b8fe.tar.bz2
More work on JSC implementation for ecma datamodel
Diffstat (limited to 'src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp')
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp38
1 files changed, 13 insertions, 25 deletions
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
index 4c6c23e..f856f96 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
@@ -23,7 +23,7 @@ bool connect(pluma::Host& host) {
JSCDataModel::JSCDataModel() {
}
-boost::shared_ptr<DataModelImpl> JSCDataModel::create(Interpreter* interpreter) {
+boost::shared_ptr<DataModelImpl> JSCDataModel::create(InterpreterImpl* interpreter) {
boost::shared_ptr<JSCDataModel> dm = boost::shared_ptr<JSCDataModel>(new JSCDataModel());
dm->_ctx = JSGlobalContextCreate(NULL);
@@ -34,13 +34,10 @@ boost::shared_ptr<DataModelImpl> JSCDataModel::create(Interpreter* interpreter)
dom->xpath = new Arabica::XPath::XPath<std::string>();
dom->xpath->setNamespaceContext(interpreter->getNSContext());
-
- dm->setName(interpreter->getName());
- dm->setSessionId(interpreter->getSessionId());
dm->eval("_ioprocessors = {};");
Arabica::DOM::JSCDocument::JSCDocumentPrivate* privData = new Arabica::DOM::JSCDocument::JSCDocumentPrivate();
- privData->arabicaThis = new Arabica::DOM::Document<std::string>(interpreter->getDocument());
+ privData->nativeObj = new Arabica::DOM::Document<std::string>(interpreter->getDocument());
privData->dom = dom;
JSObjectRef documentObject = JSObjectMake(dm->_ctx, Arabica::DOM::JSCDocument::getTmpl(), privData);
@@ -50,18 +47,6 @@ boost::shared_ptr<DataModelImpl> JSCDataModel::create(Interpreter* interpreter)
return dm;
}
-void JSCDataModel::registerIOProcessor(const std::string& name, const IOProcessor& ioprocessor) {
- assign("_ioprocessors['" + name + "']", ioprocessor.getDataModelVariables());
-}
-
-void JSCDataModel::setSessionId(const std::string& sessionId) {
- _sessionId = sessionId;
-}
-
-void JSCDataModel::setName(const std::string& name) {
- _name = name;
-}
-
JSCDataModel::~JSCDataModel() {
JSGlobalContextRelease(_ctx);
}
@@ -72,9 +57,6 @@ void JSCDataModel::pushContext() {
void JSCDataModel::popContext() {
}
-void JSCDataModel::initialize() {
-}
-
void JSCDataModel::setEvent(const Event& event) {
LOG(ERROR) << "setEvent not implemented in JSC";
}
@@ -207,14 +189,20 @@ JSValueRef JSCDataModel::evalAsValue(const std::string& expr) {
return result;
}
+void JSCDataModel::assign(const Arabica::DOM::Element<std::string>& assignElem,
+ const Arabica::DOM::Document<std::string>& doc,
+ const std::string& content) {
+}
+
void JSCDataModel::assign(const std::string& location, const Data& data) {
- std::stringstream ssJSON;
- ssJSON << data;
- assign(location, ssJSON.str());
}
-void JSCDataModel::assign(const std::string& location, const std::string& expr) {
- evalAsValue(location + " = " + expr);
+void JSCDataModel::init(const Arabica::DOM::Element<std::string>& dataElem,
+ const Arabica::DOM::Document<std::string>& doc,
+ const std::string& content) {
+}
+
+void JSCDataModel::init(const std::string& location, const Data& data) {
}
void JSCDataModel::handleException(JSValueRef exception) {