diff options
Diffstat (limited to 'src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h')
-rw-r--r-- | src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h index 760b638..7bea50c 100644 --- a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h +++ b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.h @@ -39,10 +39,34 @@ public: virtual void pushContext(); virtual void popContext(); + virtual bool supportsJSON() { return true; } + virtual void eval(const std::string& expr); - virtual void assign(const std::string& location, const Arabica::DOM::Document<std::string>& doc); - virtual void assign(const std::string& location, const std::string& expr); - virtual void assign(const std::string& location, const Data& data); + 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) { + assign(location, doc, dataElem); + }; + virtual void init(const std::string& location, + const std::string& expr, + const Arabica::DOM::Element<std::string>& dataElem) { + assign(location, expr, dataElem); + } + virtual void init(const std::string& location, + const Data& data, + const Arabica::DOM::Element<std::string>& dataElem) { + assign(location, data, dataElem); + } virtual Data getStringAsData(const std::string& content); virtual Data getValueAsData(const v8::Handle<v8::Value>& value); |