diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-06-21 09:14:06 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-06-21 09:14:06 (GMT) |
commit | 8e3cca4a153a5178a77ae6956292606563f4b8fe (patch) | |
tree | 89537d5153690ee0d9a7b0038b1280f407f70dc3 /src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp | |
parent | 794575f01ce5a6bf7e377eb815f3def5aded74f5 (diff) | |
download | uscxml-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.cpp | 38 |
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) { |