summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/mmi-browser.cpp8
-rw-r--r--contrib/dom/scripts/CodeGeneratorArabicaV8.pm8
-rw-r--r--src/uscxml/Factory.cpp118
-rw-r--r--src/uscxml/Factory.h194
-rw-r--r--src/uscxml/Interpreter.cpp212
-rw-r--r--src/uscxml/Interpreter.h70
-rw-r--r--src/uscxml/Message.h2
-rw-r--r--src/uscxml/URL.cpp171
-rw-r--r--src/uscxml/URL.h149
-rw-r--r--src/uscxml/concurrency/BlockingQueue.h10
-rw-r--r--src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp8
-rw-r--r--src/uscxml/concurrency/tinythread.cpp20
-rw-r--r--src/uscxml/concurrency/tinythread.h2
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp6
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h2
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.cpp4
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.h4
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.cpp102
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.h272
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp44
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.cpp82
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.h84
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.cpp12
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.h40
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.cpp144
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.h102
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.cpp12
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.h40
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.cpp4
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.h77
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.cpp108
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.h56
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.cpp552
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.h166
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentCustom.cpp54
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.cpp12
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.h40
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.cpp108
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.h94
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.cpp418
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.h154
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.cpp42
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.h58
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.cpp12
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.h40
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.cpp258
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.h104
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.cpp646
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.h246
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.cpp54
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.h50
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.cpp44
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.h60
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSetCustom.cpp80
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.cpp32
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.h52
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.cpp44
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.h54
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.cpp44
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.h46
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.cpp104
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.h104
-rw-r--r--src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResultCustom.cpp32
-rw-r--r--src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp93
-rw-r--r--src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.cpp147
-rw-r--r--src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.h50
-rw-r--r--src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.cpp576
-rw-r--r--src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h110
-rw-r--r--src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp80
-rw-r--r--src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h16
-rw-r--r--src/uscxml/plugins/invoker/sample/SampleInvoker.cpp2
-rw-r--r--src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp10
-rw-r--r--src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp68
-rw-r--r--src/uscxml/plugins/invoker/umundo/UmundoInvoker.h2
-rw-r--r--src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.cpp4
-rw-r--r--test/src/test-arabica-events.cpp64
-rw-r--r--test/src/test-osg.cpp18
-rw-r--r--test/src/test-prolog-swi.cpp112
-rw-r--r--test/src/test-url.cpp78
79 files changed, 3824 insertions, 3577 deletions
diff --git a/apps/mmi-browser.cpp b/apps/mmi-browser.cpp
index b05b086..c423871 100644
--- a/apps/mmi-browser.cpp
+++ b/apps/mmi-browser.cpp
@@ -48,10 +48,10 @@ int main(int argc, char** argv) {
Factory::getInstance();
Interpreter* interpreter = Interpreter::fromURI(argv[argc - 1]);
- if (interpreter) {
- interpreter->start();
- while(interpreter->runOnMainThread(25));
- }
+ if (interpreter) {
+ interpreter->start();
+ while(interpreter->runOnMainThread(25));
+ }
return EXIT_SUCCESS;
} \ No newline at end of file
diff --git a/contrib/dom/scripts/CodeGeneratorArabicaV8.pm b/contrib/dom/scripts/CodeGeneratorArabicaV8.pm
index 7187f2a..3382c24 100644
--- a/contrib/dom/scripts/CodeGeneratorArabicaV8.pm
+++ b/contrib/dom/scripts/CodeGeneratorArabicaV8.pm
@@ -314,7 +314,7 @@ sub GenerateImplementationAttributes
v8::Handle<v8::Value> V8${interfaceName}::${attrName}AttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
v8::Local<v8::Object> self = info.Holder();
- V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));
+ struct V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));
END
if (IsWrapperType($attrType)) {
AddToImplIncludes("V8".$attrType.".h");
@@ -324,7 +324,7 @@ END
v8::Handle<v8::Function> arbaicaRetCtor = V8${attrType}::getTmpl()->GetFunction();
v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- V8${attrType}::V8${attrType}Private* retPrivData = new V8${attrType}::V8${attrType}Private();
+ struct V8${attrType}::V8${attrType}Private* retPrivData = new V8${attrType}::V8${attrType}Private();
retPrivData->dom = privData->dom;
retPrivData->arabicaThis = arbaicaRet;
@@ -349,7 +349,7 @@ END
my $arabicaSetter = IdlToArabicaAttrSetter($attrName);
push(@implContent, "\n void V8${interfaceName}::${attrName}AttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {");
push(@implContent, "\n v8::Local<v8::Object> self = info.Holder();");
- push(@implContent, "\n V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));");
+ push(@implContent, "\n struct V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));");
my ($handle, $deref) = IdlToArgHandle($attribute->signature->type, "local".ucfirst($attribute->signature->name), "value");
@@ -393,7 +393,7 @@ END
# get this
push(@implContent, "\n v8::Local<v8::Object> self = args.Holder();");
- push(@implContent, "\n V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));");
+ push(@implContent, "\n struct V8${interfaceName}Private* privData = V8DOM::toClassPtr<V8${interfaceName}Private >(self->GetInternalField(0));");
# arguments to local handles
my $parameterIndex = 0;
diff --git a/src/uscxml/Factory.cpp b/src/uscxml/Factory.cpp
index d90ab46..b65f088 100644
--- a/src/uscxml/Factory.cpp
+++ b/src/uscxml/Factory.cpp
@@ -131,91 +131,91 @@ Factory::~Factory() {
void Factory::registerIOProcessor(IOProcessorImpl* ioProcessor) {
std::set<std::string> names = ioProcessor->getNames();
std::set<std::string>::iterator nameIter = names.begin();
- if (nameIter != names.end()) {
- std::string canonicalName = *nameIter;
- _ioProcessors[canonicalName] = ioProcessor;
- while(nameIter != names.end()) {
- _ioProcessorAliases[*nameIter] = canonicalName;
- nameIter++;
- }
- }
+ if (nameIter != names.end()) {
+ std::string canonicalName = *nameIter;
+ _ioProcessors[canonicalName] = ioProcessor;
+ while(nameIter != names.end()) {
+ _ioProcessorAliases[*nameIter] = canonicalName;
+ nameIter++;
+ }
+ }
}
void Factory::registerDataModel(DataModelImpl* dataModel) {
std::set<std::string> names = dataModel->getNames();
std::set<std::string>::iterator nameIter = names.begin();
- if (nameIter != names.end()) {
- std::string canonicalName = *nameIter;
- _dataModels[canonicalName] = dataModel;
- while(nameIter != names.end()) {
- _dataModelAliases[*nameIter] = canonicalName;
- nameIter++;
- }
- }
+ if (nameIter != names.end()) {
+ std::string canonicalName = *nameIter;
+ _dataModels[canonicalName] = dataModel;
+ while(nameIter != names.end()) {
+ _dataModelAliases[*nameIter] = canonicalName;
+ nameIter++;
+ }
+ }
}
-
+
void Factory::registerInvoker(InvokerImpl* invoker) {
std::set<std::string> names = invoker->getNames();
std::set<std::string>::iterator nameIter = names.begin();
- if (nameIter != names.end()) {
- std::string canonicalName = *nameIter;
- _invokers[canonicalName] = invoker;
- while(nameIter != names.end()) {
- _invokerAliases[*nameIter] = canonicalName;
- nameIter++;
- }
- }
+ if (nameIter != names.end()) {
+ std::string canonicalName = *nameIter;
+ _invokers[canonicalName] = invoker;
+ while(nameIter != names.end()) {
+ _invokerAliases[*nameIter] = canonicalName;
+ nameIter++;
+ }
+ }
}
boost::shared_ptr<InvokerImpl> Factory::createInvoker(const std::string& type, Interpreter* interpreter) {
Factory* factory = getInstance();
- if (factory->_invokerAliases.find(type) == factory->_invokerAliases.end()) {
- LOG(ERROR) << "No " << type << " Invoker known";
- return boost::shared_ptr<InvokerImpl>();
- }
-
- std::string canonicalName = factory->_invokerAliases[type];
+ if (factory->_invokerAliases.find(type) == factory->_invokerAliases.end()) {
+ LOG(ERROR) << "No " << type << " Invoker known";
+ return boost::shared_ptr<InvokerImpl>();
+ }
+
+ std::string canonicalName = factory->_invokerAliases[type];
if (factory->_invokers.find(canonicalName) == factory->_invokers.end()) {
- LOG(ERROR) << "Invoker " << type << " known as " << canonicalName << " but not prototype is available in factory";
- return boost::shared_ptr<InvokerImpl>();
- }
-
- return boost::static_pointer_cast<InvokerImpl>(factory->_invokers[canonicalName]->create(interpreter));
+ LOG(ERROR) << "Invoker " << type << " known as " << canonicalName << " but not prototype is available in factory";
+ return boost::shared_ptr<InvokerImpl>();
+ }
+
+ return boost::static_pointer_cast<InvokerImpl>(factory->_invokers[canonicalName]->create(interpreter));
}
boost::shared_ptr<DataModelImpl> Factory::createDataModel(const std::string& type, Interpreter* interpreter) {
Factory* factory = getInstance();
- if (factory->_dataModelAliases.find(type) == factory->_dataModelAliases.end()) {
- LOG(ERROR) << "No " << type << " DataModel known";
- return boost::shared_ptr<DataModelImpl>();
- }
-
- std::string canonicalName = factory->_dataModelAliases[type];
+ if (factory->_dataModelAliases.find(type) == factory->_dataModelAliases.end()) {
+ LOG(ERROR) << "No " << type << " DataModel known";
+ return boost::shared_ptr<DataModelImpl>();
+ }
+
+ std::string canonicalName = factory->_dataModelAliases[type];
if (factory->_dataModels.find(canonicalName) == factory->_dataModels.end()) {
- LOG(ERROR) << "DataModel " << type << " known as " << canonicalName << " but not prototype is available in factory";
- return boost::shared_ptr<DataModelImpl>();
- }
-
- return factory->_dataModels[canonicalName]->create(interpreter);
+ LOG(ERROR) << "DataModel " << type << " known as " << canonicalName << " but not prototype is available in factory";
+ return boost::shared_ptr<DataModelImpl>();
+ }
+
+ return factory->_dataModels[canonicalName]->create(interpreter);
}
boost::shared_ptr<IOProcessorImpl> Factory::createIOProcessor(const std::string& type, Interpreter* interpreter) {
Factory* factory = getInstance();
- if (factory->_ioProcessorAliases.find(type) == factory->_ioProcessorAliases.end()) {
- LOG(ERROR) << "No " << type << " IOProcessor known";
- return boost::shared_ptr<IOProcessorImpl>();
- }
-
- std::string canonicalName = factory->_ioProcessorAliases[type];
+ if (factory->_ioProcessorAliases.find(type) == factory->_ioProcessorAliases.end()) {
+ LOG(ERROR) << "No " << type << " IOProcessor known";
+ return boost::shared_ptr<IOProcessorImpl>();
+ }
+
+ std::string canonicalName = factory->_ioProcessorAliases[type];
if (factory->_ioProcessors.find(canonicalName) == factory->_ioProcessors.end()) {
- LOG(ERROR) << "IOProcessor " << type << " known as " << canonicalName << " but not prototype is available in factory";
- return boost::shared_ptr<IOProcessorImpl>();
- }
-
- return factory->_ioProcessors[canonicalName]->create(interpreter);
+ LOG(ERROR) << "IOProcessor " << type << " known as " << canonicalName << " but not prototype is available in factory";
+ return boost::shared_ptr<IOProcessorImpl>();
+ }
+
+ return factory->_ioProcessors[canonicalName]->create(interpreter);
}
-
+
Factory* Factory::getInstance() {
if (_instance == NULL) {
_instance = new Factory();
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index 3cc8018..e1aebea 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -47,11 +47,11 @@ public:
virtual void setInterpreter(Interpreter* interpreter) {
_interpreter = interpreter;
}
-
+
virtual Data getDataModelVariables() = 0;
virtual void send(const SendRequest& req) = 0;
- virtual void runOnMainThread() {};
+ virtual void runOnMainThread() {};
protected:
Interpreter* _interpreter;
@@ -59,23 +59,40 @@ protected:
class IOProcessor {
public:
- IOProcessor() : _impl() {}
- IOProcessor(boost::shared_ptr<IOProcessorImpl> const impl) : _impl(impl) { }
- IOProcessor(const IOProcessor& other) : _impl(other._impl) { }
- virtual ~IOProcessor() {};
+ IOProcessor() : _impl() {}
+ IOProcessor(boost::shared_ptr<IOProcessorImpl> const impl) : _impl(impl) { }
+ IOProcessor(const IOProcessor& other) : _impl(other._impl) { }
+ virtual ~IOProcessor() {};
- operator bool() const { return _impl;}
- bool operator< (const IOProcessor& other) const { return _impl < other._impl; }
- bool operator==(const IOProcessor& other) const { return _impl == other._impl; }
- bool operator!=(const IOProcessor& other) const { return _impl != other._impl; }
- IOProcessor& operator= (const IOProcessor& other) { _impl = other._impl; return *this; }
+ operator bool() const {
+ return _impl;
+ }
+ bool operator< (const IOProcessor& other) const {
+ return _impl < other._impl;
+ }
+ bool operator==(const IOProcessor& other) const {
+ return _impl == other._impl;
+ }
+ bool operator!=(const IOProcessor& other) const {
+ return _impl != other._impl;
+ }
+ IOProcessor& operator= (const IOProcessor& other) {
+ _impl = other._impl;
+ return *this;
+ }
- virtual Data getDataModelVariables() const { return _impl->getDataModelVariables(); };
- virtual void send(const SendRequest& req) { return _impl->send(req); };
- virtual void runOnMainThread() { return _impl->runOnMainThread(); }
+ virtual Data getDataModelVariables() const {
+ return _impl->getDataModelVariables();
+ };
+ virtual void send(const SendRequest& req) {
+ return _impl->send(req);
+ };
+ virtual void runOnMainThread() {
+ return _impl->runOnMainThread();
+ }
protected:
- boost::shared_ptr<IOProcessorImpl> _impl;
+ boost::shared_ptr<IOProcessorImpl> _impl;
};
class InvokerImpl : public IOProcessorImpl {
@@ -87,28 +104,40 @@ public:
class Invoker : public IOProcessor {
public:
- Invoker() : _impl() {}
- Invoker(boost::shared_ptr<InvokerImpl> const impl) : IOProcessor(impl), _impl(impl) { }
- Invoker(const Invoker& other) : IOProcessor(other._impl), _impl(other._impl) { }
- virtual ~Invoker() {};
-
- operator bool() const { return _impl;}
- bool operator< (const Invoker& other) const { return _impl < other._impl; }
- bool operator==(const Invoker& other) const { return _impl == other._impl; }
- bool operator!=(const Invoker& other) const { return _impl != other._impl; }
- Invoker& operator= (const Invoker& other) {
- _impl = other._impl;
- IOProcessor::_impl = _impl;
- return *this;
- }
-
- virtual void invoke(InvokeRequest& req) { _impl->invoke(req); }
- virtual void sendToParent(SendRequest& req) { _impl->sendToParent(req); }
+ Invoker() : _impl() {}
+ Invoker(boost::shared_ptr<InvokerImpl> const impl) : IOProcessor(impl), _impl(impl) { }
+ Invoker(const Invoker& other) : IOProcessor(other._impl), _impl(other._impl) { }
+ virtual ~Invoker() {};
+
+ operator bool() const {
+ return _impl;
+ }
+ bool operator< (const Invoker& other) const {
+ return _impl < other._impl;
+ }
+ bool operator==(const Invoker& other) const {
+ return _impl == other._impl;
+ }
+ bool operator!=(const Invoker& other) const {
+ return _impl != other._impl;
+ }
+ Invoker& operator= (const Invoker& other) {
+ _impl = other._impl;
+ IOProcessor::_impl = _impl;
+ return *this;
+ }
+
+ virtual void invoke(InvokeRequest& req) {
+ _impl->invoke(req);
+ }
+ virtual void sendToParent(SendRequest& req) {
+ _impl->sendToParent(req);
+ }
protected:
- boost::shared_ptr<InvokerImpl> _impl;
+ boost::shared_ptr<InvokerImpl> _impl;
};
-
+
class DataModelImpl {
public:
virtual ~DataModelImpl() {}
@@ -135,36 +164,71 @@ public:
class DataModel {
public:
- DataModel() : _impl() {}
- DataModel(boost::shared_ptr<DataModelImpl> const impl) : _impl(impl) { }
- DataModel(const DataModel& other) : _impl(other._impl) { }
- virtual ~DataModel() {};
-
- operator bool() const { return _impl;}
- bool operator< (const DataModel& other) const { return _impl < other._impl; }
- bool operator==(const DataModel& other) const { return _impl == other._impl; }
- bool operator!=(const DataModel& other) const { return _impl != other._impl; }
- DataModel& operator= (const DataModel& other) { _impl = other._impl; return *this; }
-
- virtual bool validate(const std::string& location, const std::string& schema) { return _impl->validate(location, schema); }
- virtual void setEvent(const Event& event) { return _impl->setEvent(event); }
- virtual Data getStringAsData(const std::string& content) { return _impl->getStringAsData(content); }
-
- virtual uint32_t getLength(const std::string& expr) { return _impl->getLength(expr); }
- virtual void pushContext() { return _impl->pushContext(); }
- virtual void popContext() { return _impl->popContext(); }
-
- virtual void registerIOProcessor(const std::string& name, const IOProcessor& ioprocessor) { _impl->registerIOProcessor(name, ioprocessor); }
-
- virtual void eval(const std::string& expr) { return _impl->eval(expr); }
- virtual std::string evalAsString(const std::string& expr) { return _impl->evalAsString(expr); }
- virtual bool evalAsBool(const std::string& expr) { return _impl->evalAsBool(expr); }
-
- virtual void assign(const std::string& location, const std::string& expr) { return _impl->assign(location, expr); }
- virtual void assign(const std::string& location, const Data& data) { return _impl->assign(location, data); }
+ DataModel() : _impl() {}
+ DataModel(boost::shared_ptr<DataModelImpl> const impl) : _impl(impl) { }
+ DataModel(const DataModel& other) : _impl(other._impl) { }
+ virtual ~DataModel() {};
+
+ operator bool() const {
+ return _impl;
+ }
+ bool operator< (const DataModel& other) const {
+ return _impl < other._impl;
+ }
+ bool operator==(const DataModel& other) const {
+ return _impl == other._impl;
+ }
+ bool operator!=(const DataModel& other) const {
+ return _impl != other._impl;
+ }
+ DataModel& operator= (const DataModel& other) {
+ _impl = other._impl;
+ return *this;
+ }
+
+ virtual bool validate(const std::string& location, const std::string& schema) {
+ return _impl->validate(location, schema);
+ }
+ virtual void setEvent(const Event& event) {
+ return _impl->setEvent(event);
+ }
+ virtual Data getStringAsData(const std::string& content) {
+ return _impl->getStringAsData(content);
+ }
+
+ virtual uint32_t getLength(const std::string& expr) {
+ return _impl->getLength(expr);
+ }
+ virtual void pushContext() {
+ return _impl->pushContext();
+ }
+ virtual void popContext() {
+ return _impl->popContext();
+ }
+
+ virtual void registerIOProcessor(const std::string& name, const IOProcessor& ioprocessor) {
+ _impl->registerIOProcessor(name, ioprocessor);
+ }
+
+ virtual void eval(const std::string& expr) {
+ return _impl->eval(expr);
+ }
+ virtual std::string evalAsString(const std::string& expr) {
+ return _impl->evalAsString(expr);
+ }
+ virtual bool evalAsBool(const std::string& expr) {
+ return _impl->evalAsBool(expr);
+ }
+
+ virtual void assign(const std::string& location, const std::string& expr) {
+ return _impl->assign(location, expr);
+ }
+ virtual void assign(const std::string& location, const Data& data) {
+ return _impl->assign(location, data);
+ }
protected:
- boost::shared_ptr<DataModelImpl> _impl;
+ boost::shared_ptr<DataModelImpl> _impl;
};
class Factory {
@@ -180,11 +244,11 @@ public:
static Factory* getInstance();
std::map<std::string, DataModelImpl*> _dataModels;
- std::map<std::string, std::string> _dataModelAliases;
+ std::map<std::string, std::string> _dataModelAliases;
std::map<std::string, IOProcessorImpl*> _ioProcessors;
- std::map<std::string, std::string> _ioProcessorAliases;
+ std::map<std::string, std::string> _ioProcessorAliases;
std::map<std::string, InvokerImpl*> _invokers;
- std::map<std::string, std::string> _invokerAliases;
+ std::map<std::string, std::string> _invokerAliases;
static std::string pluginPath;
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp
index 9063cef..5000498 100644
--- a/src/uscxml/Interpreter.cpp
+++ b/src/uscxml/Interpreter.cpp
@@ -29,7 +29,7 @@ const std::string Interpreter::getUUID() {
}
Interpreter::Interpreter() : Arabica::SAX2DOM::Parser<std::string>() {
- _lastRunOnMainThread = 0;
+ _lastRunOnMainThread = 0;
_thread = NULL;
_sendQueue = NULL;
_running = false;
@@ -58,13 +58,13 @@ Interpreter* Interpreter::fromXML(const std::string& xml) {
}
Interpreter* Interpreter::fromURI(const std::string& uri) {
- URL absUrl(uri);
- if (!absUrl.isAbsolute()) {
- if (!absUrl.toAbsoluteCwd()) {
- LOG(ERROR) << "Given URL is not absolute or does not have file schema";
- return NULL;
- }
- }
+ URL absUrl(uri);
+ if (!absUrl.isAbsolute()) {
+ if (!absUrl.toAbsoluteCwd()) {
+ LOG(ERROR) << "Given URL is not absolute or does not have file schema";
+ return NULL;
+ }
+ }
Arabica::SAX::InputSource<std::string> inputSource(absUrl.asString());
Interpreter* interpreter = fromInputSource(inputSource);
@@ -100,15 +100,15 @@ bool Interpreter::toAbsoluteURI(URL& uri) {
if (_baseURI.asString().size() > 0) {
if (uri.toAbsolute(_baseURI))
- return true;
- return false;
+ return true;
+ return false;
}
return false;
}
void Interpreter::startPrefixMapping(const std::string& prefix, const std::string& uri) {
// std::cout << "starting prefix mapping " << prefix << ": " << uri << std::endl;
- _nsContext.addNamespaceDeclaration(uri, prefix);
+ _nsContext.addNamespaceDeclaration(uri, prefix);
}
Interpreter* Interpreter::fromInputSource(Arabica::SAX::InputSource<std::string>& source) {
@@ -118,7 +118,7 @@ Interpreter* Interpreter::fromInputSource(Arabica::SAX::InputSource<std::string>
interpreter->setErrorHandler(errorHandler);
if(!interpreter->parse(source) || !interpreter->Arabica::SAX2DOM::Parser<std::string>::getDocument().hasChildNodes()) {
if(errorHandler.errorsReported()) {
- LOG(ERROR) << "could not parse input:";
+ LOG(ERROR) << "could not parse input:";
LOG(ERROR) << errorHandler.errors() << std::endl;
} else {
Arabica::SAX::InputSourceResolver resolver(source, Arabica::default_string_adaptor<std::string>());
@@ -126,7 +126,7 @@ Interpreter* Interpreter::fromInputSource(Arabica::SAX::InputSource<std::string>
LOG(ERROR) << source.getSystemId() << ": no such file";
}
}
- delete interpreter;
+ delete interpreter;
return NULL;
} else {
interpreter->_document = interpreter->Arabica::SAX2DOM::Parser<std::string>::getDocument();
@@ -142,17 +142,17 @@ void Interpreter::init() {
NodeList<std::string> scxmls = _document.getElementsByTagName("scxml");
if (scxmls.getLength() > 0) {
_scxml = (Arabica::DOM::Element<std::string>)scxmls.item(0);
-
- // do we have a xmlns attribute?
- std::string ns = _document.getDocumentElement().getNamespaceURI();
- if(ns.size() > 0) {
- _nsContext.addNamespaceDeclaration(ns, "sc");
- _nsPrefix = "sc:";
- }
- // do we have additional namespaces?
-
- _xpath.setNamespaceContext(_nsContext);
-
+
+ // do we have a xmlns attribute?
+ std::string ns = _document.getDocumentElement().getNamespaceURI();
+ if(ns.size() > 0) {
+ _nsContext.addNamespaceDeclaration(ns, "sc");
+ _nsPrefix = "sc:";
+ }
+ // do we have additional namespaces?
+
+ _xpath.setNamespaceContext(_nsContext);
+
normalize(_document);
_name = (HAS_ATTR(_scxml, "name") ? ATTR(_scxml, "name") : getUUID());
} else {
@@ -168,12 +168,12 @@ Interpreter::~Interpreter() {
_thread->join();
delete(_thread);
}
- if (_sendQueue)
- delete _sendQueue;
+ if (_sendQueue)
+ delete _sendQueue;
}
void Interpreter::start() {
- _done = false;
+ _done = false;
_thread = new tthread::thread(Interpreter::run, this);
}
@@ -182,38 +182,38 @@ void Interpreter::run(void* instance) {
}
bool Interpreter::runOnMainThread(int fps, bool blocking) {
- if (_done)
- return false;
-
- if (fps > 0) {
- uint64_t nextRun = _lastRunOnMainThread + (1000 / fps);
- if (blocking) {
- while(nextRun > tthread::timeStamp()) {
- tthread::this_thread::sleep_for(tthread::chrono::milliseconds(nextRun - tthread::timeStamp()));
- }
- } else {
- return true;
- }
- }
-
- _lastRunOnMainThread = tthread::timeStamp();
-
- tthread::lock_guard<tthread::mutex> lock(_mutex);
- std::map<std::string, IOProcessor>::iterator ioProcessorIter = _ioProcessors.begin();
+ if (_done)
+ return false;
+
+ if (fps > 0) {
+ uint64_t nextRun = _lastRunOnMainThread + (1000 / fps);
+ if (blocking) {
+ while(nextRun > tthread::timeStamp()) {
+ tthread::this_thread::sleep_for(tthread::chrono::milliseconds(nextRun - tthread::timeStamp()));
+ }
+ } else {
+ return true;
+ }
+ }
+
+ _lastRunOnMainThread = tthread::timeStamp();
+
+ tthread::lock_guard<tthread::mutex> lock(_mutex);
+ std::map<std::string, IOProcessor>::iterator ioProcessorIter = _ioProcessors.begin();
while(ioProcessorIter != _ioProcessors.end()) {
ioProcessorIter->second.runOnMainThread();
ioProcessorIter++;
}
- std::map<std::string, Invoker>::iterator invokerIter = _invokers.begin();
+ std::map<std::string, Invoker>::iterator invokerIter = _invokers.begin();
while(invokerIter != _invokers.end()) {
invokerIter->second.runOnMainThread();
invokerIter++;
}
-
- return (_thread != NULL);
+
+ return (_thread != NULL);
}
-
+
void Interpreter::waitForStabilization() {
tthread::lock_guard<tthread::mutex> lock(_mutex);
_stabilized.wait(_mutex);
@@ -238,29 +238,29 @@ void Interpreter::interpret() {
setupIOProcessors();
_running = true;
- _binding = (HAS_ATTR(_scxml, "binding") && boost::iequals(ATTR(_scxml, "binding"), "late") ? LATE : EARLY);
-
- // @TODO: Reread http://www.w3.org/TR/scxml/#DataBinding
-
+ _binding = (HAS_ATTR(_scxml, "binding") && boost::iequals(ATTR(_scxml, "binding"), "late") ? LATE : EARLY);
+
+ // @TODO: Reread http://www.w3.org/TR/scxml/#DataBinding
+
if (_dataModel && _binding == EARLY) {
- // initialize all data elements
+ // initialize all data elements
NodeSet<std::string> dataElems = _xpath.evaluate("//" + _nsPrefix + "data", _document).asNodeSet();
for (unsigned int i = 0; i < dataElems.size(); i++) {
initializeData(dataElems[i]);
}
} else if(_dataModel) {
- // initialize current data elements
+ // initialize current data elements
NodeSet<std::string> topDataElems = filterChildElements("data", filterChildElements("datamodel", _scxml));
- // NodeSet<std::string> topDataElems = _xpath.evaluate("/" + _nsPrefix + "scxml/" + _nsPrefix + "datamodel/" + _nsPrefix + "data", _document).asNodeSet();
+ // NodeSet<std::string> topDataElems = _xpath.evaluate("/" + _nsPrefix + "scxml/" + _nsPrefix + "datamodel/" + _nsPrefix + "data", _document).asNodeSet();
for (unsigned int i = 0; i < topDataElems.size(); i++) {
initializeData(topDataElems[i]);
}
}
- // executeGlobalScriptElements
+ // executeGlobalScriptElements
NodeSet<std::string> globalScriptElems = _xpath.evaluate("/" + _nsPrefix + "scxml/" + _nsPrefix + "script", _document).asNodeSet();
for (unsigned int i = 0; i < globalScriptElems.size(); i++) {
- // std::cout << globalScriptElems[i].getFirstChild().getNodeValue() << std::endl;
+ // std::cout << globalScriptElems[i].getFirstChild().getNodeValue() << std::endl;
if (_dataModel)
executeContent(globalScriptElems[i]);
}
@@ -295,21 +295,21 @@ void Interpreter::initializeData(const Arabica::DOM::Node<std::string>& data) {
}
try {
if (!HAS_ATTR(data, "id")) {
- LOG(ERROR) << "Data element has no id!";
+ LOG(ERROR) << "Data element has no id!";
return;
- }
+ }
if (HAS_ATTR(data, "expr")) {
std::string value = ATTR(data, "expr");
_dataModel.assign(ATTR(data, "id"), value);
} else if (HAS_ATTR(data, "src")) {
- URL srcURL(ATTR(data, "src"));
- if (!srcURL.isAbsolute())
- toAbsoluteURI(srcURL);
+ URL srcURL(ATTR(data, "src"));
+ if (!srcURL.isAbsolute())
+ toAbsoluteURI(srcURL);
- std::stringstream ss;
- ss << srcURL;
- _dataModel.assign(ATTR(data, "id"), ss.str());
+ std::stringstream ss;
+ ss << srcURL;
+ _dataModel.assign(ATTR(data, "id"), ss.str());
} else if (data.hasChildNodes()) {
// search for the text node with the actual script
@@ -439,11 +439,11 @@ void Interpreter::mainEventLoop() {
_stabilized.notify_all();
}
- // whenever we have a stable configuration, run the mainThread hooks with 200fps
- while(_externalQueue.isEmpty() && _thread == NULL) {
- runOnMainThread(200);
- }
-
+ // whenever we have a stable configuration, run the mainThread hooks with 200fps
+ while(_externalQueue.isEmpty() && _thread == NULL) {
+ runOnMainThread(200);
+ }
+
Event externalEvent = _externalQueue.pop();
if (!_running)
exitInterpreter();
@@ -688,7 +688,7 @@ void Interpreter::delayedSend(void* userdata, std::string eventName) {
// send to invoker
std::string invokeId = sendReq.target.substr(2, sendReq.target.length() - 2);
if (INSTANCE->_invokers.find(invokeId) != INSTANCE->_invokers.end()) {
- tthread::lock_guard<tthread::mutex> lock(INSTANCE->_mutex);
+ tthread::lock_guard<tthread::mutex> lock(INSTANCE->_mutex);
INSTANCE->_invokers[invokeId].send(sendReq);
} else {
LOG(ERROR) << "Can not send to invoked component '" << invokeId << "', no such invokeId" << std::endl;
@@ -707,7 +707,7 @@ void Interpreter::delayedSend(void* userdata, std::string eventName) {
void Interpreter::invoke(const Arabica::DOM::Node<std::string>& element) {
InvokeRequest invokeReq;
- invokeReq.dom = element;
+ invokeReq.dom = element;
try {
// type
@@ -787,13 +787,13 @@ void Interpreter::invoke(const Arabica::DOM::Node<std::string>& element) {
if (contents.size() > 1)
LOG(ERROR) << "Only a single content element is allowed for send elements - using first one";
if (contents.size() > 0) {
- //std::cout << contents[0] << std::endl;
+ //std::cout << contents[0] << std::endl;
invokeReq.content = contents[0].getNodeValue();
}
Invoker invoker(Factory::createInvoker(invokeReq.type, this));
if (invoker) {
- tthread::lock_guard<tthread::mutex> lock(_mutex);
+ tthread::lock_guard<tthread::mutex> lock(_mutex);
_invokers[invokeReq.invokeid] = invoker;
LOG(INFO) << "Added invoker " << invokeReq.type << " at " << invokeReq.invokeid;
invoker.invoke(invokeReq);
@@ -909,7 +909,7 @@ Arabica::XPath::NodeSet<std::string> Interpreter::selectEventlessTransitions() {
NodeSet<std::string> ancestors = getProperAncestors(atomicStates[i], Arabica::DOM::Node<std::string>());
ancestors.push_back(atomicStates[i]);
for (unsigned int j = 0; j < ancestors.size(); j++) {
- NodeSet<std::string> transitions = filterChildElements("transition", ancestors[j]);
+ NodeSet<std::string> transitions = filterChildElements("transition", ancestors[j]);
for (unsigned int k = 0; k < transitions.size(); k++) {
if (!((Arabica::DOM::Element<std::string>)transitions[k]).hasAttribute("event") && hasConditionMatch(transitions[k])) {
enabledTransitions.push_back(transitions[k]);
@@ -1248,7 +1248,7 @@ void Interpreter::exitStates(const Arabica::XPath::NodeSet<std::string>& enabled
statesToExit.reverse();
for (int i = 0; i < statesToExit.size(); i++) {
- NodeSet<std::string> histories = filterChildElements("history", statesToExit[i]);
+ NodeSet<std::string> histories = filterChildElements("history", statesToExit[i]);
for (int j = 0; j < histories.size(); j++) {
Arabica::DOM::Element<std::string> historyElem = (Arabica::DOM::Element<std::string>)histories[j];
std::string historyType = (historyElem.hasAttribute("type") ? historyElem.getAttribute("type") : "shallow");
@@ -1267,12 +1267,12 @@ void Interpreter::exitStates(const Arabica::XPath::NodeSet<std::string>& enabled
}
for (int i = 0; i < statesToExit.size(); i++) {
- NodeSet<std::string> onExits = filterChildElements("onExit", statesToExit[i]);
+ NodeSet<std::string> onExits = filterChildElements("onExit", statesToExit[i]);
for (int j = 0; j < onExits.size(); j++) {
Arabica::DOM::Element<std::string> onExitElem = (Arabica::DOM::Element<std::string>)onExits[j];
executeContent(onExitElem);
}
- NodeSet<std::string> invokes = filterChildElements("invoke", statesToExit[i]);
+ NodeSet<std::string> invokes = filterChildElements("invoke", statesToExit[i]);
for (int j = 0; j < invokes.size(); j++) {
Arabica::DOM::Element<std::string> invokeElem = (Arabica::DOM::Element<std::string>)invokes[j];
cancelInvoke(invokeElem);
@@ -1359,11 +1359,11 @@ void Interpreter::enterStates(const Arabica::XPath::NodeSet<std::string>& enable
}
statesToEnter.to_document_order();
#if 0
- std::cout << "Entering states: ";
- for (int i = 0; i < statesToEnter.size(); i++) {
- std::cout << ATTR(statesToEnter[i], "id") << ", ";
- }
- std::cout << std::endl;
+ std::cout << "Entering states: ";
+ for (int i = 0; i < statesToEnter.size(); i++) {
+ std::cout << ATTR(statesToEnter[i], "id") << ", ";
+ }
+ std::cout << std::endl;
#endif
for (int i = 0; i < statesToEnter.size(); i++) {
@@ -1419,7 +1419,7 @@ void Interpreter::enterStates(const Arabica::XPath::NodeSet<std::string>& enable
if (isFinal(stateElem) && parentIsScxmlState(stateElem)) {
_running = false;
_done = true;
- }
+ }
}
}
@@ -1543,10 +1543,10 @@ NEXT_ANCESTOR:
Arabica::DOM::Node<std::string> Interpreter::getState(const std::string& stateId) {
- if (_cachedStates.find(stateId) != _cachedStates.end()) {
- return _cachedStates[stateId];
- }
-
+ if (_cachedStates.find(stateId) != _cachedStates.end()) {
+ return _cachedStates[stateId];
+ }
+
// first try atomic and compund states
NodeSet<std::string> target = _xpath.evaluate("//" + _nsPrefix + "state[@id='" + stateId + "']", _document).asNodeSet();
if (target.size() > 0)
@@ -1565,7 +1565,7 @@ Arabica::DOM::Node<std::string> Interpreter::getState(const std::string& stateId
FOUND:
if (target.size() > 0) {
assert(target.size() == 1);
- _cachedStates[stateId] = target[0];
+ _cachedStates[stateId] = target[0];
return target[0];
}
// return the empty node
@@ -1655,23 +1655,23 @@ std::vector<std::string> Interpreter::tokenizeIdRefs(const std::string& idRefs)
}
NodeSet<std::string> Interpreter::filterChildElements(const std::string& tagName, const NodeSet<std::string>& nodeSet) {
- NodeSet<std::string> filteredChildElems;
- for (unsigned int i = 0; i < nodeSet.size(); i++) {
- filteredChildElems.push_back(filterChildElements(tagName, nodeSet[i]));
- }
- return filteredChildElems;
+ NodeSet<std::string> filteredChildElems;
+ for (unsigned int i = 0; i < nodeSet.size(); i++) {
+ filteredChildElems.push_back(filterChildElements(tagName, nodeSet[i]));
+ }
+ return filteredChildElems;
}
NodeSet<std::string> Interpreter::filterChildElements(const std::string& tagName, const Node<std::string>& node) {
- NodeSet<std::string> filteredChildElems;
- NodeList<std::string> childs = node.getChildNodes();
- for (unsigned int i = 0; i < childs.getLength(); i++) {
- if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE ||
- !boost::iequals(TAGNAME(childs.item(i)), tagName))
- continue;
- filteredChildElems.push_back(childs.item(i));
- }
- return filteredChildElems;
+ NodeSet<std::string> filteredChildElems;
+ NodeList<std::string> childs = node.getChildNodes();
+ for (unsigned int i = 0; i < childs.getLength(); i++) {
+ if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE ||
+ !boost::iequals(TAGNAME(childs.item(i)), tagName))
+ continue;
+ filteredChildElems.push_back(childs.item(i));
+ }
+ return filteredChildElems;
}
NodeSet<std::string> Interpreter::getProperAncestors(const Arabica::DOM::Node<std::string>& s1,
@@ -1823,7 +1823,7 @@ bool Interpreter::isCompound(const Arabica::DOM::Node<std::string>& state) {
}
void Interpreter::setupIOProcessors() {
- tthread::lock_guard<tthread::mutex> lock(_mutex);
+ tthread::lock_guard<tthread::mutex> lock(_mutex);
std::map<std::string, IOProcessorImpl*>::iterator ioProcIter = Factory::getInstance()->_ioProcessors.begin();
while(ioProcIter != Factory::getInstance()->_ioProcessors.end()) {
_ioProcessors[ioProcIter->first] = Factory::createIOProcessor(ioProcIter->first, this);
@@ -1841,7 +1841,7 @@ void Interpreter::setupIOProcessors() {
}
IOProcessor Interpreter::getIOProcessor(const std::string& type) {
- tthread::lock_guard<tthread::mutex> lock(_mutex);
+ tthread::lock_guard<tthread::mutex> lock(_mutex);
if (_ioProcessors.find(type) == _ioProcessors.end()) {
LOG(ERROR) << "No ioProcessor known for type " << type;
return IOProcessor();
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h
index d5c719b..96667c4 100644
--- a/src/uscxml/Interpreter.h
+++ b/src/uscxml/Interpreter.h
@@ -28,29 +28,29 @@ namespace uscxml {
class NumAttr {
public:
- NumAttr(const std::string& str) {
- size_t valueStart = str.find_first_of("0123456789.");
- if (valueStart != std::string::npos) {
- size_t valueEnd = str.find_last_of("0123456789.");
- if (valueEnd != std::string::npos) {
- value = str.substr(valueStart, (valueEnd - valueStart) + 1);
- size_t unitStart = str.find_first_not_of(" \t", valueEnd + 1);
- if (unitStart != std::string::npos) {
- size_t unitEnd = str.find_last_of(" \t");
- if (unitEnd != std::string::npos && unitEnd > unitStart) {
- unit = str.substr(unitStart, unitEnd - unitStart);
- } else {
- unit = str.substr(unitStart, str.length() - unitStart);
- }
- }
- }
- }
- }
-
- std::string value;
- std::string unit;
+ NumAttr(const std::string& str) {
+ size_t valueStart = str.find_first_of("0123456789.");
+ if (valueStart != std::string::npos) {
+ size_t valueEnd = str.find_last_of("0123456789.");
+ if (valueEnd != std::string::npos) {
+ value = str.substr(valueStart, (valueEnd - valueStart) + 1);
+ size_t unitStart = str.find_first_not_of(" \t", valueEnd + 1);
+ if (unitStart != std::string::npos) {
+ size_t unitEnd = str.find_last_of(" \t");
+ if (unitEnd != std::string::npos && unitEnd > unitStart) {
+ unit = str.substr(unitStart, unitEnd - unitStart);
+ } else {
+ unit = str.substr(unitStart, str.length() - unitStart);
+ }
+ }
+ }
+ }
+ }
+
+ std::string value;
+ std::string unit;
};
-
+
class Interpreter : protected Arabica::SAX2DOM::Parser<std::string> {
public:
enum Binding {
@@ -65,7 +65,7 @@ public:
static Interpreter* fromURI(const std::string& uri);
static Interpreter* fromInputSource(Arabica::SAX::InputSource<std::string>& source);
- virtual void startPrefixMapping(const std::string& /* prefix */, const std::string& /* uri */);
+ virtual void startPrefixMapping(const std::string& /* prefix */, const std::string& /* uri */);
void start();
static void run(void*);
@@ -79,7 +79,7 @@ public:
void setBaseURI(std::string baseURI) {
_baseURI = URL(baseURI);
}
- URL getBaseURI() {
+ URL getBaseURI() {
return _baseURI;
}
@@ -95,7 +95,7 @@ public:
std::string getNSPrefix() {
return _nsPrefix;
}
- Arabica::XPath::StandardNamespaceContext<std::string>& getNSContext() {
+ Arabica::XPath::StandardNamespaceContext<std::string>& getNSContext() {
return _nsContext;
}
@@ -122,8 +122,8 @@ public:
return _sessionId;
}
- bool runOnMainThread(int fps, bool blocking = true);
-
+ bool runOnMainThread(int fps, bool blocking = true);
+
static bool isMember(const Arabica::DOM::Node<std::string>& node, const Arabica::XPath::NodeSet<std::string>& set);
void dump();
@@ -145,8 +145,8 @@ public:
static Arabica::XPath::NodeSet<std::string> getChildStates(const Arabica::DOM::Node<std::string>& state);
Arabica::XPath::NodeSet<std::string> getTargetStates(const Arabica::DOM::Node<std::string>& transition);
- static Arabica::XPath::NodeSet<std::string> filterChildElements(const std::string& tagname, const Arabica::DOM::Node<std::string>& node);
- static Arabica::XPath::NodeSet<std::string> filterChildElements(const std::string& tagName, const Arabica::XPath::NodeSet<std::string>& nodeSet);
+ static Arabica::XPath::NodeSet<std::string> filterChildElements(const std::string& tagname, const Arabica::DOM::Node<std::string>& node);
+ static Arabica::XPath::NodeSet<std::string> filterChildElements(const std::string& tagName, const Arabica::XPath::NodeSet<std::string>& nodeSet);
static const std::string getUUID();
protected:
@@ -163,7 +163,7 @@ protected:
tthread::mutex _mutex;
tthread::condition_variable _stabilized;
- URL _baseURI;
+ URL _baseURI;
Arabica::DOM::Document<std::string> _document;
Arabica::DOM::Element<std::string> _scxml;
Arabica::XPath::XPath<std::string> _xpath;
@@ -185,7 +185,7 @@ protected:
Invoker _invoker;
static URL toBaseURI(const URL& url);
- bool toAbsoluteURI(URL& uri);
+ bool toAbsoluteURI(URL& uri);
void microstep(const Arabica::XPath::NodeSet<std::string>& enabledTransitions);
void exitStates(const Arabica::XPath::NodeSet<std::string>& enabledTransitions);
@@ -223,10 +223,10 @@ protected:
bool parentIsScxmlState(Arabica::DOM::Node<std::string> state);
static std::vector<std::string> tokenizeIdRefs(const std::string& idRefs);
-
+
static boost::uuids::random_generator uuidGen;
- long _lastRunOnMainThread;
+ long _lastRunOnMainThread;
std::string _name;
std::string _sessionId;
@@ -237,8 +237,8 @@ protected:
std::map<std::string, std::pair<Interpreter*, SendRequest> > _sendIds;
std::map<std::string, Invoker> _invokers;
- /// We need to remember to adapt them when the DOM is operated upon
- std::map<std::string, Arabica::DOM::Node<std::string> > _cachedStates;
+ /// We need to remember to adapt them when the DOM is operated upon
+ std::map<std::string, Arabica::DOM::Node<std::string> > _cachedStates;
};
}
diff --git a/src/uscxml/Message.h b/src/uscxml/Message.h
index 35b27f5..c241b78 100644
--- a/src/uscxml/Message.h
+++ b/src/uscxml/Message.h
@@ -66,7 +66,7 @@ public:
Type type;
std::string origin;
std::string origintype;
- Arabica::DOM::Node<std::string> dom;
+ Arabica::DOM::Node<std::string> dom;
std::string sendid;
std::string invokeid;
diff --git a/src/uscxml/URL.cpp b/src/uscxml/URL.cpp
index db128ef..4a8ead7 100644
--- a/src/uscxml/URL.cpp
+++ b/src/uscxml/URL.cpp
@@ -39,113 +39,116 @@
namespace uscxml {
URLImpl::~URLImpl() {
- if (_localFile.length() > 0)
- remove(_localFile.c_str());
+ if (_localFile.length() > 0)
+ remove(_localFile.c_str());
}
const bool URLImpl::toAbsoluteCwd() {
- char currPath[FILENAME_MAX];
- if (!getcwd(currPath, sizeof(currPath))) {
- return false;
- }
- currPath[sizeof(currPath) - 1] = '\0'; /* not really required */
- return toAbsolute(std::string("file://" + std::string(currPath) + "/"));
+ char currPath[FILENAME_MAX];
+ if (!getcwd(currPath, sizeof(currPath))) {
+ return false;
+ }
+ currPath[sizeof(currPath) - 1] = '\0'; /* not really required */
+ return toAbsolute(std::string("file://" + std::string(currPath) + "/"));
}
std::string URLImpl::getLocalFilename(const std::string& suffix) {
- if (_localFile.length() > 0)
- return _localFile;
-
- if (_uri.scheme().compare("file") == 0)
- return _uri.path();
-
- // try hard to find a temporary directory
- const char* tmpDir = NULL;
- if (tmpDir == NULL)
- tmpDir = getenv("TMPDIR");
- if (tmpDir == NULL)
- tmpDir = getenv("TMP");
- if (tmpDir == NULL)
- tmpDir = getenv("TEMP");
- if (tmpDir == NULL)
- tmpDir = getenv("USERPROFILE");
- if (tmpDir == NULL)
- tmpDir = "/tmp";
-
- char* tmpl = (char*)malloc(strlen(tmpDir) + 11 + suffix.length());
- char* writePtr = tmpl;
- memcpy(writePtr, tmpDir, strlen(tmpDir)); writePtr += strlen(tmpDir);
- memcpy(writePtr, "scxmlXXXXXX", 11); writePtr += 11;
- memcpy(writePtr, suffix.c_str(), suffix.length()); writePtr += suffix.length();
- tmpl[writePtr - tmpl] = 0;
-
+ if (_localFile.length() > 0)
+ return _localFile;
+
+ if (_uri.scheme().compare("file") == 0)
+ return _uri.path();
+
+ // try hard to find a temporary directory
+ const char* tmpDir = NULL;
+ if (tmpDir == NULL)
+ tmpDir = getenv("TMPDIR");
+ if (tmpDir == NULL)
+ tmpDir = getenv("TMP");
+ if (tmpDir == NULL)
+ tmpDir = getenv("TEMP");
+ if (tmpDir == NULL)
+ tmpDir = getenv("USERPROFILE");
+ if (tmpDir == NULL)
+ tmpDir = "/tmp";
+
+ char* tmpl = (char*)malloc(strlen(tmpDir) + 11 + suffix.length());
+ char* writePtr = tmpl;
+ memcpy(writePtr, tmpDir, strlen(tmpDir));
+ writePtr += strlen(tmpDir);
+ memcpy(writePtr, "scxmlXXXXXX", 11);
+ writePtr += 11;
+ memcpy(writePtr, suffix.c_str(), suffix.length());
+ writePtr += suffix.length();
+ tmpl[writePtr - tmpl] = 0;
+
#ifdef _WIN32
- _mktemp_s(tmpl, strlen(tmpl) + 1);
- int fd = _open(tmpl, _O_CREAT, _S_IREAD | _S_IWRITE);
+ _mktemp_s(tmpl, strlen(tmpl) + 1);
+ int fd = _open(tmpl, _O_CREAT, _S_IREAD | _S_IWRITE);
#else
- int fd = mkstemps(tmpl, suffix.length());
+ int fd = mkstemps(tmpl, suffix.length());
#endif
- if (fd < 0) {
- LOG(ERROR) << "mkstemp: " << strerror(errno) << std::endl;
- return "";
- }
+ if (fd < 0) {
+ LOG(ERROR) << "mkstemp: " << strerror(errno) << std::endl;
+ return "";
+ }
#ifdef WIN32
- _close(fd);
+ _close(fd);
#else
- close(fd);
-#endif
- return std::string(tmpl);
+ close(fd);
+#endif
+ return std::string(tmpl);
}
boost::shared_ptr<URLImpl> URLImpl::toLocalFile(const std::string& content, const std::string& suffix) {
- boost::shared_ptr<URLImpl> urlImpl = boost::shared_ptr<URLImpl>(new URLImpl());
- urlImpl->_localFile = urlImpl->getLocalFilename(suffix);
- urlImpl->_uri = std::string("file://") + urlImpl->_localFile;
-
- std::ofstream file(urlImpl->_localFile.c_str(), std::ios_base::out);
- if(file.is_open()) {
- file << content;
- file.close();
- } else {
- return boost::shared_ptr<URLImpl>();
- }
-
- return urlImpl;
+ boost::shared_ptr<URLImpl> urlImpl = boost::shared_ptr<URLImpl>(new URLImpl());
+ urlImpl->_localFile = urlImpl->getLocalFilename(suffix);
+ urlImpl->_uri = std::string("file://") + urlImpl->_localFile;
+
+ std::ofstream file(urlImpl->_localFile.c_str(), std::ios_base::out);
+ if(file.is_open()) {
+ file << content;
+ file.close();
+ } else {
+ return boost::shared_ptr<URLImpl>();
+ }
+
+ return urlImpl;
}
const bool URLImpl::toAbsolute(const std::string& baseUrl) {
- if (_uri.is_absolute())
+ if (_uri.is_absolute())
return true;
- _uri = Arabica::io::URI(baseUrl, _uri.as_string());
- if (!_uri.is_absolute())
+ _uri = Arabica::io::URI(baseUrl, _uri.as_string());
+ if (!_uri.is_absolute())
return false;
- return true;
+ return true;
}
const std::string URLImpl::asLocalFile(const std::string& suffix, bool reload) {
- // this is already a local file
- if (_uri.scheme().compare("file") == 0)
- return _uri.path();
-
- if (_localFile.length() > 0 && !reload)
- return _localFile;
-
- if (_localFile.length() > 0)
- remove(_localFile.c_str());
-
- _localFile = getLocalFilename(suffix);
-
- std::ofstream file(_localFile.c_str(), std::ios_base::out);
- if(file.is_open()) {
- file << URL(this->shared_from_this());
- file.close();
- } else {
- _localFile = "";
- }
-
- return _localFile;
+ // this is already a local file
+ if (_uri.scheme().compare("file") == 0)
+ return _uri.path();
+
+ if (_localFile.length() > 0 && !reload)
+ return _localFile;
+
+ if (_localFile.length() > 0)
+ remove(_localFile.c_str());
+
+ _localFile = getLocalFilename(suffix);
+
+ std::ofstream file(_localFile.c_str(), std::ios_base::out);
+ if(file.is_open()) {
+ file << URL(this->shared_from_this());
+ file.close();
+ } else {
+ _localFile = "";
+ }
+
+ return _localFile;
}
-
+
std::ostream & operator<<(std::ostream & stream, const URL& url) {
std::string urlString = url.asString();
diff --git a/src/uscxml/URL.h b/src/uscxml/URL.h
index 5bcbd27..9ff24c5 100644
--- a/src/uscxml/URL.h
+++ b/src/uscxml/URL.h
@@ -12,69 +12,112 @@
#include <boost/enable_shared_from_this.hpp>
namespace uscxml {
-
+
class URLImpl : public boost::enable_shared_from_this<URLImpl> {
public:
- URLImpl() {}
- URLImpl(const std::string uri) : _uri(uri) {}
- virtual ~URLImpl();
- const bool toAbsoluteCwd();
- const bool toAbsolute(const std::string& baseUrl);
- const std::string asLocalFile(const std::string& suffix, bool reload = false);
-
- static boost::shared_ptr<URLImpl> toLocalFile(const std::string& content, const std::string& suffix);
-
- const bool isAbsolute() const { return _uri.is_absolute(); }
- const std::string scheme() const { return _uri.scheme(); }
- const std::string host() const { return _uri.host(); }
- const std::string port() const { return _uri.port(); }
- const std::string path() const { return _uri.path(); }
- const std::string asString() const { return _uri.as_string(); }
-
+ URLImpl() {}
+ URLImpl(const std::string uri) : _uri(uri) {}
+ virtual ~URLImpl();
+ const bool toAbsoluteCwd();
+ const bool toAbsolute(const std::string& baseUrl);
+ const std::string asLocalFile(const std::string& suffix, bool reload = false);
+
+ static boost::shared_ptr<URLImpl> toLocalFile(const std::string& content, const std::string& suffix);
+
+ const bool isAbsolute() const {
+ return _uri.is_absolute();
+ }
+ const std::string scheme() const {
+ return _uri.scheme();
+ }
+ const std::string host() const {
+ return _uri.host();
+ }
+ const std::string port() const {
+ return _uri.port();
+ }
+ const std::string path() const {
+ return _uri.path();
+ }
+ const std::string asString() const {
+ return _uri.as_string();
+ }
+
private:
- std::string getLocalFilename(const std::string& suffix);
-
- Arabica::io::URI _uri;
- std::string _localFile;
+ std::string getLocalFilename(const std::string& suffix);
+
+ Arabica::io::URI _uri;
+ std::string _localFile;
};
class URL {
public:
- URL() : _impl() {}
- URL(const std::string uri) : _impl(new URLImpl(uri)) {}
- URL(boost::shared_ptr<URLImpl> const impl) : _impl(impl) { }
+ URL() : _impl() {}
+ URL(const std::string uri) : _impl(new URLImpl(uri)) {}
+ URL(boost::shared_ptr<URLImpl> const impl) : _impl(impl) { }
URL(const URL& other) : _impl(other._impl) { }
- virtual ~URL() {};
-
- static URL toLocalFile(const std::string& content, const std::string& suffix) {
- boost::shared_ptr<URLImpl> impl = URLImpl::toLocalFile(content, suffix);
- return URL(impl);
- }
-
- operator bool() const { return _impl;}
- bool operator< (const URL& other) const { return _impl < other._impl; }
- bool operator==(const URL& other) const { return _impl == other._impl; }
- bool operator!=(const URL& other) const { return _impl != other._impl; }
- URL& operator= (const URL& other) { _impl = other._impl; return *this; }
-
- const bool toAbsoluteCwd() { return _impl->toAbsoluteCwd(); }
- const bool toAbsolute(const std::string& baseUrl) { return _impl->toAbsolute(baseUrl); }
- const bool toAbsolute(const URL& baseUrl) { return _impl->toAbsolute(baseUrl.asString()); }
- const std::string asLocalFile(const std::string& suffix, bool reload = false) { return _impl->asLocalFile(suffix, reload); }
-
- const bool isAbsolute() const { return _impl->isAbsolute(); }
- const std::string scheme() const { return _impl->scheme(); }
- const std::string host() const { return _impl->host(); }
- const std::string port() const { return _impl->port(); }
- const std::string path() const { return _impl->path(); }
- const std::string asString() const { return _impl->asString(); }
-
- friend std::ostream & operator<<(std::ostream &stream, const URL& p);
-
+ virtual ~URL() {};
+
+ static URL toLocalFile(const std::string& content, const std::string& suffix) {
+ boost::shared_ptr<URLImpl> impl = URLImpl::toLocalFile(content, suffix);
+ return URL(impl);
+ }
+
+ operator bool() const {
+ return _impl;
+ }
+ bool operator< (const URL& other) const {
+ return _impl < other._impl;
+ }
+ bool operator==(const URL& other) const {
+ return _impl == other._impl;
+ }
+ bool operator!=(const URL& other) const {
+ return _impl != other._impl;
+ }
+ URL& operator= (const URL& other) {
+ _impl = other._impl;
+ return *this;
+ }
+
+ const bool toAbsoluteCwd() {
+ return _impl->toAbsoluteCwd();
+ }
+ const bool toAbsolute(const std::string& baseUrl) {
+ return _impl->toAbsolute(baseUrl);
+ }
+ const bool toAbsolute(const URL& baseUrl) {
+ return _impl->toAbsolute(baseUrl.asString());
+ }
+ const std::string asLocalFile(const std::string& suffix, bool reload = false) {
+ return _impl->asLocalFile(suffix, reload);
+ }
+
+ const bool isAbsolute() const {
+ return _impl->isAbsolute();
+ }
+ const std::string scheme() const {
+ return _impl->scheme();
+ }
+ const std::string host() const {
+ return _impl->host();
+ }
+ const std::string port() const {
+ return _impl->port();
+ }
+ const std::string path() const {
+ return _impl->path();
+ }
+ const std::string asString() const {
+ return _impl->asString();
+ }
+
+ friend std::ostream & operator<<(std::ostream &stream, const URL& p);
+
protected:
- boost::shared_ptr<URLImpl> _impl;
+ boost::shared_ptr<URLImpl> _impl;
};
-
+
enum fcurl_type_e {
CFTYPE_NONE=0,
CFTYPE_FILE=1,
diff --git a/src/uscxml/concurrency/BlockingQueue.h b/src/uscxml/concurrency/BlockingQueue.h
index 81d082d..3d45720 100644
--- a/src/uscxml/concurrency/BlockingQueue.h
+++ b/src/uscxml/concurrency/BlockingQueue.h
@@ -30,11 +30,11 @@ public:
return ret;
}
- bool isEmpty() {
- tthread::lock_guard<tthread::mutex> lock(_mutex);
- return _queue.empty();
- }
-
+ bool isEmpty() {
+ tthread::lock_guard<tthread::mutex> lock(_mutex);
+ return _queue.empty();
+ }
+
tthread::mutex _mutex;
tthread::condition_variable _cond;
std::list<T> _queue;
diff --git a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp
index 5f2611f..4390927 100644
--- a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp
+++ b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp
@@ -86,10 +86,10 @@ void DelayedEventQueue::timerCallback(evutil_socket_t fd, short what, void *arg)
std::string eventId = data->eventId; // copy eventId
data->callback(data->userData, eventId);
- if (!data->persist) {
- event_free(data->event);
- data->eventQueue->_callbackData.erase(data->eventId);
- }
+ if (!data->persist) {
+ event_free(data->event);
+ data->eventQueue->_callbackData.erase(data->eventId);
+ }
}
} \ No newline at end of file
diff --git a/src/uscxml/concurrency/tinythread.cpp b/src/uscxml/concurrency/tinythread.cpp
index 3733804..66e73c1 100644
--- a/src/uscxml/concurrency/tinythread.cpp
+++ b/src/uscxml/concurrency/tinythread.cpp
@@ -34,19 +34,19 @@ freely, subject to the following restrictions:
namespace tthread {
unsigned long long int timeStamp() {
- unsigned long long int time = 0;
+ unsigned long long int time = 0;
#ifdef WIN32
- FILETIME tv;
- GetSystemTimeAsFileTime(&tv);
- time = (((unsigned long long int) tv.dwHighDateTime) << 32) + tv.dwLowDateTime;
- time /= 10000;
+ FILETIME tv;
+ GetSystemTimeAsFileTime(&tv);
+ time = (((unsigned long long int) tv.dwHighDateTime) << 32) + tv.dwLowDateTime;
+ time /= 10000;
#else
- struct timeval tv;
- gettimeofday(&tv, NULL);
- time += tv.tv_sec * 1000;
- time += tv.tv_usec / 1000;
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ time += tv.tv_sec * 1000;
+ time += tv.tv_usec / 1000;
#endif
- return time;
+ return time;
}
//------------------------------------------------------------------------------
diff --git a/src/uscxml/concurrency/tinythread.h b/src/uscxml/concurrency/tinythread.h
index e5b2e4e..d824067 100644
--- a/src/uscxml/concurrency/tinythread.h
+++ b/src/uscxml/concurrency/tinythread.h
@@ -153,7 +153,7 @@ freely, subject to the following restrictions:
namespace tthread {
unsigned long long int timeStamp();
-
+
/// Mutex class.
/// This is a mutual exclusion object for synchronizing access to shared
/// memory areas for several threads. The mutex is non-recursive (i.e. a
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
index 0c82f6b..303b7d1 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp
@@ -27,10 +27,10 @@ boost::shared_ptr<DataModelImpl> JSCDataModel::create(Interpreter* interpreter)
dm->setName(interpreter->getName());
dm->setSessionId(interpreter->getSessionId());
dm->eval("_ioprocessors = {};");
- dm->_ctx = JSGlobalContextCreate(NULL);
+ dm->_ctx = JSGlobalContextCreate(NULL);
+
+ JSObjectRef globalObject = JSContextGetGlobalObject(dm->_ctx);
- JSObjectRef globalObject = JSContextGetGlobalObject(dm->_ctx);
-
return dm;
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h
index de82ee7..c223d4f 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.h
@@ -58,7 +58,7 @@ protected:
std::string _name;
Event _event;
- JSContextRef _ctx;
+ JSContextRef _ctx;
};
#ifdef BUILD_AS_PLUGINS
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.cpp
index 27546d0..f42c9bd 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.cpp
@@ -3,7 +3,7 @@
namespace uscxml {
JSCDOM::JSCDOM() {
-
-}
+
+}
} \ No newline at end of file
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.h b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.h
index 0986408..248d057 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCDOM.h
@@ -17,8 +17,8 @@ public:
JSCDOM();
virtual ~JSCDOM() { };
- Interpreter* interpreter;
- Arabica::XPath::XPath<std::string>* xpath;
+ Interpreter* interpreter;
+ Arabica::XPath::XPath<std::string>* xpath;
};
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.cpp
index 508a356..7d38f9f 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.cpp
@@ -5,56 +5,56 @@ namespace uscxml {
using namespace Arabica::DOM;
- JSStaticValue JSCNode::staticValues[] = {
- { "nodeName", nodeNameAttrGetter, nodeValueAttrSetter, kJSPropertyAttributeDontDelete },
- { "nodeValue", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "nodeType", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "parentNode", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "childNodes", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "firstChild", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "lastChild", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "previousSibling", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "nextSibling", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "attributes", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "ownerDocument", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "namespaceURI", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "prefix", nodeValueAttrGetter, prefixAttrSetter, kJSPropertyAttributeDontDelete },
- { "localName", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "baseURI", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "textContent", nodeValueAttrGetter, textContentAttrSetter, kJSPropertyAttributeDontDelete },
- { "parentElement", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "ELEMENT_NODE", ELEMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "ATTRIBUTE_NODE", ATTRIBUTE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "TEXT_NODE", TEXT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "CDATA_SECTION_NODE", CDATA_SECTION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "ENTITY_REFERENCE_NODE", ENTITY_REFERENCE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "ENTITY_NODE", ENTITY_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "PROCESSING_INSTRUCTION_NODE", PROCESSING_INSTRUCTION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "COMMENT_NODE", COMMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "DOCUMENT_NODE", DOCUMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "DOCUMENT_TYPE_NODE", DOCUMENT_TYPE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "DOCUMENT_FRAGMENT_NODE", DOCUMENT_FRAGMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "NOTATION_NODE", NOTATION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { "MAX_TYPE", MAX_TYPEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
- { 0, 0, 0, 0 }
- };
+JSStaticValue JSCNode::staticValues[] = {
+ { "nodeName", nodeNameAttrGetter, nodeValueAttrSetter, kJSPropertyAttributeDontDelete },
+ { "nodeValue", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "nodeType", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "parentNode", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "childNodes", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "firstChild", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "lastChild", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "previousSibling", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "nextSibling", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "attributes", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "ownerDocument", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "namespaceURI", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "prefix", nodeValueAttrGetter, prefixAttrSetter, kJSPropertyAttributeDontDelete },
+ { "localName", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "baseURI", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "textContent", nodeValueAttrGetter, textContentAttrSetter, kJSPropertyAttributeDontDelete },
+ { "parentElement", nodeValueAttrGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "ELEMENT_NODE", ELEMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "ATTRIBUTE_NODE", ATTRIBUTE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "TEXT_NODE", TEXT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "CDATA_SECTION_NODE", CDATA_SECTION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "ENTITY_REFERENCE_NODE", ENTITY_REFERENCE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "ENTITY_NODE", ENTITY_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "PROCESSING_INSTRUCTION_NODE", PROCESSING_INSTRUCTION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "COMMENT_NODE", COMMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "DOCUMENT_NODE", DOCUMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "DOCUMENT_TYPE_NODE", DOCUMENT_TYPE_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "DOCUMENT_FRAGMENT_NODE", DOCUMENT_FRAGMENT_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "NOTATION_NODE", NOTATION_NODEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { "MAX_TYPE", MAX_TYPEConstGetter, NULL, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly },
+ { 0, 0, 0, 0 }
+};
+
+JSStaticFunction JSCNode::staticFunctions[] = {
+ { "insertBefore", insertBeforeCallback, kJSPropertyAttributeDontDelete },
+ { "replaceChild", replaceChildCallback, kJSPropertyAttributeDontDelete },
+ { "removeChild", removeChildCallback, kJSPropertyAttributeDontDelete },
+ { "appendChild", appendChildCallback, kJSPropertyAttributeDontDelete },
+ { "hasChildNodes", hasChildNodesCallback, kJSPropertyAttributeDontDelete },
+ { "cloneNode", cloneNodeCallback, kJSPropertyAttributeDontDelete },
+ { "normalize", normalizeCallback, kJSPropertyAttributeDontDelete },
+ { "isSupported", isSupportedCallback, kJSPropertyAttributeDontDelete },
+ { "hasAttributes", hasAttributesCallback, kJSPropertyAttributeDontDelete },
+ { "lookupPrefix", lookupPrefixCallback, kJSPropertyAttributeDontDelete },
+ { "isDefaultNamespace", isDefaultNamespaceCallback, kJSPropertyAttributeDontDelete },
+ { "lookupNamespaceURI", lookupNamespaceURICallback, kJSPropertyAttributeDontDelete },
+ { "addEventListener", addEventListenerCallback, kJSPropertyAttributeDontDelete },
+ { "removeEventListener", removeEventListenerCallback, kJSPropertyAttributeDontDelete },
+ { 0, 0, 0 }
+};
- JSStaticFunction JSCNode::staticFunctions[] = {
- { "insertBefore", insertBeforeCallback, kJSPropertyAttributeDontDelete },
- { "replaceChild", replaceChildCallback, kJSPropertyAttributeDontDelete },
- { "removeChild", removeChildCallback, kJSPropertyAttributeDontDelete },
- { "appendChild", appendChildCallback, kJSPropertyAttributeDontDelete },
- { "hasChildNodes", hasChildNodesCallback, kJSPropertyAttributeDontDelete },
- { "cloneNode", cloneNodeCallback, kJSPropertyAttributeDontDelete },
- { "normalize", normalizeCallback, kJSPropertyAttributeDontDelete },
- { "isSupported", isSupportedCallback, kJSPropertyAttributeDontDelete },
- { "hasAttributes", hasAttributesCallback, kJSPropertyAttributeDontDelete },
- { "lookupPrefix", lookupPrefixCallback, kJSPropertyAttributeDontDelete },
- { "isDefaultNamespace", isDefaultNamespaceCallback, kJSPropertyAttributeDontDelete },
- { "lookupNamespaceURI", lookupNamespaceURICallback, kJSPropertyAttributeDontDelete },
- { "addEventListener", addEventListenerCallback, kJSPropertyAttributeDontDelete },
- { "removeEventListener", removeEventListenerCallback, kJSPropertyAttributeDontDelete },
- { 0, 0, 0 }
- };
-
} \ No newline at end of file
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.h b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.h
index 225e8a3..677a63b 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/dom/JSCNode.h
@@ -5,79 +5,217 @@
namespace uscxml {
- class JSCNode {
- public:
- static JSValueRef nodeNameAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef nodeValueAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef nodeTypeAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef parentNodeAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef childNodesAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef firstChildAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef lastChildAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef previousSiblingAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef nextSiblingAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef attributesAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef ownerDocumentAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef namespaceURIAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef prefixAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef localNameAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef baseURIAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef textContentAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef parentElementAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
+class JSCNode {
+public:
+ static JSValueRef nodeNameAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef nodeValueAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef nodeTypeAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef parentNodeAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef childNodesAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef firstChildAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef lastChildAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef previousSiblingAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef nextSiblingAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef attributesAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef ownerDocumentAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef namespaceURIAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef prefixAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef localNameAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef baseURIAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef textContentAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef parentElementAttrGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
- static bool nodeValueAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { return false; }
- static bool prefixAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { return false; }
- static bool textContentAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) { return false; }
+ static bool nodeValueAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) {
+ return false;
+ }
+ static bool prefixAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) {
+ return false;
+ }
+ static bool textContentAttrSetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) {
+ return false;
+ }
- static JSValueRef insertBeforeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef replaceChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef removeChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef appendChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef hasChildNodesCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef cloneNodeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef normalizeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef isSupportedCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef hasAttributesCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef lookupPrefixCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef isDefaultNamespaceCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef lookupNamespaceURICallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef addEventListenerCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
- static JSValueRef removeEventListenerCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) { assert(false); return JSValueMakeUndefined(ctx); }
+ static JSValueRef insertBeforeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef replaceChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef removeChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef appendChildCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef hasChildNodesCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef cloneNodeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef normalizeCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef isSupportedCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef hasAttributesCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef lookupPrefixCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef isDefaultNamespaceCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef lookupNamespaceURICallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef addEventListenerCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
+ static JSValueRef removeEventListenerCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObj, size_t argumentCount, const JSValueRef* arguments, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeUndefined(ctx);
+ }
- static JSValueRef ELEMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ELEMENT_NODE); }
- static JSValueRef ATTRIBUTE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ATTRIBUTE_NODE); }
- static JSValueRef TEXT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::TEXT_NODE); }
- static JSValueRef CDATA_SECTION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::CDATA_SECTION_NODE); }
- static JSValueRef ENTITY_REFERENCE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ENTITY_REFERENCE_NODE); }
- static JSValueRef ENTITY_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ENTITY_NODE); }
- static JSValueRef PROCESSING_INSTRUCTION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::PROCESSING_INSTRUCTION_NODE); }
- static JSValueRef COMMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::COMMENT_NODE); }
- static JSValueRef DOCUMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_NODE); }
- static JSValueRef DOCUMENT_TYPE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_TYPE_NODE); }
- static JSValueRef DOCUMENT_FRAGMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_FRAGMENT_NODE); }
- static JSValueRef NOTATION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::NOTATION_NODE); }
- static JSValueRef MAX_TYPEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) { assert(false); return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::MAX_TYPE); }
-
- JSC_DESTRUCTOR(Arabica::DOM::Node<std::string>);
-
- static JSStaticValue staticValues[];
- static JSStaticFunction staticFunctions[];
+ static JSValueRef ELEMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ELEMENT_NODE);
+ }
+ static JSValueRef ATTRIBUTE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ATTRIBUTE_NODE);
+ }
+ static JSValueRef TEXT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::TEXT_NODE);
+ }
+ static JSValueRef CDATA_SECTION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::CDATA_SECTION_NODE);
+ }
+ static JSValueRef ENTITY_REFERENCE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ENTITY_REFERENCE_NODE);
+ }
+ static JSValueRef ENTITY_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::ENTITY_NODE);
+ }
+ static JSValueRef PROCESSING_INSTRUCTION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::PROCESSING_INSTRUCTION_NODE);
+ }
+ static JSValueRef COMMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::COMMENT_NODE);
+ }
+ static JSValueRef DOCUMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_NODE);
+ }
+ static JSValueRef DOCUMENT_TYPE_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_TYPE_NODE);
+ }
+ static JSValueRef DOCUMENT_FRAGMENT_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::DOCUMENT_FRAGMENT_NODE);
+ }
+ static JSValueRef NOTATION_NODEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::NOTATION_NODE);
+ }
+ static JSValueRef MAX_TYPEConstGetter(JSContextRef ctx, JSObjectRef thisObj, JSStringRef propertyName, JSValueRef* exception) {
+ assert(false);
+ return JSValueMakeNumber(ctx, Arabica::DOM::Node_base::MAX_TYPE);
+ }
- static JSClassRef Tmpl;
- static JSClassRef getTmpl() {
- if (Tmpl == NULL) {
- JSClassDefinition classDef = kJSClassDefinitionEmpty;
- classDef.staticValues = staticValues;
- classDef.staticFunctions = staticFunctions;
- classDef.finalize = jsDestructor;
-
- Tmpl = JSClassCreate(&classDef);
- JSClassRetain(Tmpl);
- }
- return Tmpl;
+ JSC_DESTRUCTOR(Arabica::DOM::Node<std::string>);
+
+ static JSStaticValue staticValues[];
+ static JSStaticFunction staticFunctions[];
+
+ static JSClassRef Tmpl;
+ static JSClassRef getTmpl() {
+ if (Tmpl == NULL) {
+ JSClassDefinition classDef = kJSClassDefinitionEmpty;
+ classDef.staticValues = staticValues;
+ classDef.staticFunctions = staticFunctions;
+ classDef.finalize = jsDestructor;
+
+ Tmpl = JSClassCreate(&classDef);
+ JSClassRetain(Tmpl);
}
+ return Tmpl;
+ }
- };
+};
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp
index f5ff4fd..ac1fbbd 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/V8DataModel.cpp
@@ -29,36 +29,36 @@ boost::shared_ptr<DataModelImpl> V8DataModel::create(Interpreter* interpreter) {
v8::Locker locker;
v8::HandleScope scope;
- Arabica::DOM::V8DOM* dom = new Arabica::DOM::V8DOM();
+ Arabica::DOM::V8DOM* dom = new Arabica::DOM::V8DOM();
// dom->interpreter = interpreter;
- dom->xpath = new Arabica::XPath::XPath<std::string>();
- dom->xpath->setNamespaceContext(interpreter->getNSContext());
-
+ dom->xpath = new Arabica::XPath::XPath<std::string>();
+ dom->xpath->setNamespaceContext(interpreter->getNSContext());
+
// see http://stackoverflow.com/questions/3171418/v8-functiontemplate-class-instance
- // some free functions
+ // some free functions
v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New();
global->Set(v8::String::New("In"), v8::FunctionTemplate::New(jsIn, v8::External::New(reinterpret_cast<void*>(dm.get()))), v8::ReadOnly);
global->Set(v8::String::New("print"), v8::FunctionTemplate::New(jsPrint, v8::External::New(reinterpret_cast<void*>(dm.get()))), v8::ReadOnly);
- v8::Persistent<v8::Context> context = v8::Context::New(0, global);
- v8::Context::Scope contextScope(context);
-
- // instantiate the document function
- v8::Handle<v8::Function> docCtor = Arabica::DOM::V8Document::getTmpl()->GetFunction();
- v8::Handle<v8::Object> docObj = docCtor->NewInstance();
-
- Arabica::DOM::V8Document::V8DocumentPrivate* privData = new Arabica::DOM::V8Document::V8DocumentPrivate();
- privData->arabicaThis = new Arabica::DOM::Document<std::string>(interpreter->getDocument());
- privData->dom = dom;
- docObj->SetInternalField(0, Arabica::DOM::V8DOM::toExternal(privData));
-
- context->Global()->Set(v8::String::New("document"), docObj);
-
+ v8::Persistent<v8::Context> context = v8::Context::New(0, global);
+ v8::Context::Scope contextScope(context);
+
+ // instantiate the document function
+ v8::Handle<v8::Function> docCtor = Arabica::DOM::V8Document::getTmpl()->GetFunction();
+ v8::Handle<v8::Object> docObj = docCtor->NewInstance();
+
+ Arabica::DOM::V8Document::V8DocumentPrivate* privData = new Arabica::DOM::V8Document::V8DocumentPrivate();
+ privData->arabicaThis = new Arabica::DOM::Document<std::string>(interpreter->getDocument());
+ privData->dom = dom;
+ docObj->SetInternalField(0, Arabica::DOM::V8DOM::toExternal(privData));
+
+ context->Global()->Set(v8::String::New("document"), docObj);
+
dm->_contexts.push_back(context);
-
- // instantiate objects - we have to have a context for that!
-
+
+ // instantiate objects - we have to have a context for that!
+
dm->setName(interpreter->getName());
dm->setSessionId(interpreter->getSessionId());
dm->eval("_ioprocessors = {};");
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.cpp
index d1c2f8f..dd11694 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.cpp
@@ -5,57 +5,57 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Attr::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Attr::Tmpl;
- v8::Handle<v8::Value> V8Attr::nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Attr::nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getName().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getName().c_str());
+}
- v8::Handle<v8::Value> V8Attr::specifiedAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Attr::specifiedAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
- return v8::Boolean::New(privData->arabicaThis->getSpecified());
- }
+ return v8::Boolean::New(privData->arabicaThis->getSpecified());
+}
- v8::Handle<v8::Value> V8Attr::valueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Attr::valueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getValue().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getValue().c_str());
+}
- void V8Attr::valueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localValue(value);
- privData->arabicaThis->setValue(*localValue);
- }
+void V8Attr::valueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localValue(value);
+ privData->arabicaThis->setValue(*localValue);
+}
- v8::Handle<v8::Value> V8Attr::ownerElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
- Arabica::DOM::Element<std::string>* arbaicaRet = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getOwnerElement());
+v8::Handle<v8::Value> V8Attr::ownerElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8AttrPrivate* privData = V8DOM::toClassPtr<V8AttrPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Element<std::string>* arbaicaRet = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getOwnerElement());
- v8::Handle<v8::Function> arbaicaRetCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Element::jsDestructor);
- return arbaicaRetObj;
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- }
- bool V8Attr::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Element::jsDestructor);
+ return arbaicaRetObj;
-}
-}
+}
+bool V8Attr::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
+
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.h
index 2b9a6e6..5cd4831 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Attr.h
@@ -31,48 +31,48 @@ namespace DOM {
class V8Attr {
public:
- struct V8AttrPrivate {
- V8DOM* dom;
- Arabica::DOM::Attr<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8AttrPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
-
- static v8::Handle<v8::Value> nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> specifiedAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> valueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static void valueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> ownerElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Attr"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("name"), V8Attr::nameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("specified"), V8Attr::specifiedAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("value"), V8Attr::valueAttrGetter, V8Attr::valueAttrSetter,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("ownerElement"), V8Attr::ownerElementAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
-
-
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8AttrPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Attr<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8AttrPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+
+ static v8::Handle<v8::Value> nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> specifiedAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> valueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static void valueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> ownerElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Attr"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("name"), V8Attr::nameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("specified"), V8Attr::specifiedAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("value"), V8Attr::valueAttrGetter, V8Attr::valueAttrSetter,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("ownerElement"), V8Attr::ownerElementAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+
+
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.cpp
index 90495f4..a9e5ac9 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.cpp
@@ -4,11 +4,11 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8CDATASection::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8CDATASection::Tmpl;
- bool V8CDATASection::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8CDATASection::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.h
index 0e2e253..d2543c1 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CDATASection.h
@@ -31,35 +31,35 @@ namespace DOM {
class V8CDATASection {
public:
- struct V8CDATASectionPrivate {
- V8DOM* dom;
- Arabica::DOM::CDATASection<std::string>* arabicaThis;
- };
+ struct V8CDATASectionPrivate {
+ V8DOM* dom;
+ Arabica::DOM::CDATASection<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8CDATASectionPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8CDATASectionPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("CDATASection"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("CDATASection"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- tmpl->Inherit(V8Text::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Text::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.cpp
index 7e1d9a3..13c582a 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.cpp
@@ -4,102 +4,102 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8CharacterData::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8CharacterData::Tmpl;
- v8::Handle<v8::Value> V8CharacterData::dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8CharacterData::dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getData().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getData().c_str());
+}
- void V8CharacterData::dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localData(value);
- privData->arabicaThis->setData(*localData);
- }
+void V8CharacterData::dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localData(value);
+ privData->arabicaThis->setData(*localData);
+}
- v8::Handle<v8::Value> V8CharacterData::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8CharacterData::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- return v8::Integer::New(privData->arabicaThis->getLength());
- }
- v8::Handle<v8::Value> V8CharacterData::substringDataCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in substringData");
+ return v8::Integer::New(privData->arabicaThis->getLength());
+}
+v8::Handle<v8::Value> V8CharacterData::substringDataCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in substringData");
- v8::Local<v8::Object> self = args.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
- unsigned long localCount = args[1]->ToNumber()->Uint32Value();
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
+ unsigned long localCount = args[1]->ToNumber()->Uint32Value();
- std::string retVal = privData->arabicaThis->substringData(localOffset, localCount);
+ std::string retVal = privData->arabicaThis->substringData(localOffset, localCount);
- return v8::String::New(retVal.c_str());
- }
+ return v8::String::New(retVal.c_str());
+}
- v8::Handle<v8::Value> V8CharacterData::appendDataCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in appendData");
+v8::Handle<v8::Value> V8CharacterData::appendDataCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in appendData");
- v8::Local<v8::Object> self = args.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localArg(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localArg(args[0]);
- privData->arabicaThis->appendData(*localArg);
+ privData->arabicaThis->appendData(*localArg);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8CharacterData::insertDataCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in insertData");
+v8::Handle<v8::Value> V8CharacterData::insertDataCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in insertData");
- v8::Local<v8::Object> self = args.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
- v8::String::AsciiValue localArg(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
+ v8::String::AsciiValue localArg(args[1]);
- privData->arabicaThis->insertData(localOffset, *localArg);
+ privData->arabicaThis->insertData(localOffset, *localArg);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8CharacterData::deleteDataCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in deleteData");
+v8::Handle<v8::Value> V8CharacterData::deleteDataCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in deleteData");
- v8::Local<v8::Object> self = args.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
- unsigned long localCount = args[1]->ToNumber()->Uint32Value();
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
+ unsigned long localCount = args[1]->ToNumber()->Uint32Value();
- privData->arabicaThis->deleteData(localOffset, localCount);
+ privData->arabicaThis->deleteData(localOffset, localCount);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8CharacterData::replaceDataCallback(const v8::Arguments& args) {
- if (args.Length() < 3)
- throw V8Exception("Wrong number of arguments in replaceData");
+v8::Handle<v8::Value> V8CharacterData::replaceDataCallback(const v8::Arguments& args) {
+ if (args.Length() < 3)
+ throw V8Exception("Wrong number of arguments in replaceData");
- v8::Local<v8::Object> self = args.Holder();
- V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
- unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
- unsigned long localCount = args[1]->ToNumber()->Uint32Value();
- v8::String::AsciiValue localArg(args[2]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8CharacterDataPrivate* privData = V8DOM::toClassPtr<V8CharacterDataPrivate >(self->GetInternalField(0));
+ unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
+ unsigned long localCount = args[1]->ToNumber()->Uint32Value();
+ v8::String::AsciiValue localArg(args[2]);
- privData->arabicaThis->replaceData(localOffset, localCount, *localArg);
+ privData->arabicaThis->replaceData(localOffset, localCount, *localArg);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- bool V8CharacterData::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8CharacterData::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.h
index 0e0f0c1..d9808a3 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8CharacterData.h
@@ -31,57 +31,57 @@ namespace DOM {
class V8CharacterData {
public:
- struct V8CharacterDataPrivate {
- V8DOM* dom;
- Arabica::DOM::CharacterData<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8CharacterDataPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> substringDataCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> appendDataCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> insertDataCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> deleteDataCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> replaceDataCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static void dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("CharacterData"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("data"), V8CharacterData::dataAttrGetter, V8CharacterData::dataAttrSetter,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("length"), V8CharacterData::lengthAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("substringData"),
- v8::FunctionTemplate::New(V8CharacterData::substringDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("appendData"),
- v8::FunctionTemplate::New(V8CharacterData::appendDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("insertData"),
- v8::FunctionTemplate::New(V8CharacterData::insertDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("deleteData"),
- v8::FunctionTemplate::New(V8CharacterData::deleteDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("replaceData"),
- v8::FunctionTemplate::New(V8CharacterData::replaceDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
-
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8CharacterDataPrivate {
+ V8DOM* dom;
+ Arabica::DOM::CharacterData<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8CharacterDataPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> substringDataCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> appendDataCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> insertDataCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> deleteDataCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> replaceDataCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static void dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("CharacterData"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("data"), V8CharacterData::dataAttrGetter, V8CharacterData::dataAttrSetter,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("length"), V8CharacterData::lengthAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("substringData"),
+ v8::FunctionTemplate::New(V8CharacterData::substringDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("appendData"),
+ v8::FunctionTemplate::New(V8CharacterData::appendDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("insertData"),
+ v8::FunctionTemplate::New(V8CharacterData::insertDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("deleteData"),
+ v8::FunctionTemplate::New(V8CharacterData::deleteDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("replaceData"),
+ v8::FunctionTemplate::New(V8CharacterData::replaceDataCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.cpp
index e470a70..f754ea7 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.cpp
@@ -4,11 +4,11 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Comment::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Comment::Tmpl;
- bool V8Comment::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8Comment::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.h
index 0a0e379..8ff626e 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Comment.h
@@ -31,35 +31,35 @@ namespace DOM {
class V8Comment {
public:
- struct V8CommentPrivate {
- V8DOM* dom;
- Arabica::DOM::Comment<std::string>* arabicaThis;
- };
+ struct V8CommentPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Comment<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8CommentPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8CommentPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Comment"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Comment"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- tmpl->Inherit(V8CharacterData::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8CharacterData::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.cpp
index ce003d9..4562fe3 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.cpp
@@ -4,8 +4,8 @@ namespace Arabica {
namespace DOM {
V8DOM::V8DOM() {
-
-}
+
+}
}
} \ No newline at end of file
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.h
index 45b2e6a..94400e5 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOM.h
@@ -24,53 +24,48 @@ public:
V8DOM();
virtual ~V8DOM() { };
- template <typename T>
- static T* toClassPtr(v8::Local<v8::Value> data) {
- if(data.IsEmpty())
- return NULL;
- else if(!data->IsExternal())
- return NULL;
- else
- return static_cast<T *>(v8::External::Unwrap(data));
- return NULL;
- }
- static v8::Local<v8::External> toExternal(void* pointer) {
- v8::HandleScope scope;
- return scope.Close(v8::External::New(pointer));
+ template <typename T>
+ static T* toClassPtr(v8::Local<v8::Value> data) {
+ if(data.IsEmpty())
+ return NULL;
+ else if(!data->IsExternal())
+ return NULL;
+ else
+ return static_cast<T *>(v8::External::Unwrap(data));
+ return NULL;
+ }
+ static v8::Local<v8::External> toExternal(void* pointer) {
+ v8::HandleScope scope;
+ return scope.Close(v8::External::New(pointer));
}
- Arabica::XPath::XPath<std::string>* xpath;
+ Arabica::XPath::XPath<std::string>* xpath;
};
-class V8Exception : public std::runtime_error
-{
+class V8Exception : public std::runtime_error {
public:
-
- V8Exception(const std::string& reason) :
- std::runtime_error("DOMException")
- {
- } // V8Exception
-
- V8Exception(const V8Exception& rhs) :
- std::runtime_error(rhs),
- reason_(rhs.reason_)
- {
- } // DOMException
-
- virtual ~V8Exception() throw()
- {
- } // DOMBadCast
-
- virtual const char* what() const throw()
- {
- return reason_.c_str();
- } // what
-
+
+ V8Exception(const std::string& reason) :
+ std::runtime_error("DOMException") {
+ } // V8Exception
+
+ V8Exception(const V8Exception& rhs) :
+ std::runtime_error(rhs),
+ reason_(rhs.reason_) {
+ } // DOMException
+
+ virtual ~V8Exception() throw() {
+ } // DOMBadCast
+
+ virtual const char* what() const throw() {
+ return reason_.c_str();
+ } // what
+
private:
- DOMBadCast& operator=(const DOMBadCast&);
- bool operator==(const DOMBadCast&) const;
-
- std::string reason_;
+ DOMBadCast& operator=(const DOMBadCast&);
+ bool operator==(const DOMBadCast&) const;
+
+ std::string reason_;
}; // class DOMException
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.cpp
index 07b51e2..6d26cee 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.cpp
@@ -5,77 +5,77 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8DOMImplementation::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8DOMImplementation::Tmpl;
- v8::Handle<v8::Value> V8DOMImplementation::hasFeatureCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in hasFeature");
+v8::Handle<v8::Value> V8DOMImplementation::hasFeatureCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in hasFeature");
- v8::Local<v8::Object> self = args.Holder();
- V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localFeature(args[0]);
- v8::String::AsciiValue localVersion(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localFeature(args[0]);
+ v8::String::AsciiValue localVersion(args[1]);
- bool retVal = privData->arabicaThis->hasFeature(*localFeature, *localVersion);
+ bool retVal = privData->arabicaThis->hasFeature(*localFeature, *localVersion);
- return v8::Boolean::New(retVal);
- }
+ return v8::Boolean::New(retVal);
+}
- v8::Handle<v8::Value> V8DOMImplementation::createDocumentTypeCallback(const v8::Arguments& args) {
- if (args.Length() < 3)
- throw V8Exception("Wrong number of arguments in createDocumentType");
+v8::Handle<v8::Value> V8DOMImplementation::createDocumentTypeCallback(const v8::Arguments& args) {
+ if (args.Length() < 3)
+ throw V8Exception("Wrong number of arguments in createDocumentType");
- v8::Local<v8::Object> self = args.Holder();
- V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localQualifiedName(args[0]);
- v8::String::AsciiValue localPublicId(args[1]);
- v8::String::AsciiValue localSystemId(args[2]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localQualifiedName(args[0]);
+ v8::String::AsciiValue localPublicId(args[1]);
+ v8::String::AsciiValue localSystemId(args[2]);
- Arabica::DOM::DocumentType<std::string>* retVal = new Arabica::DOM::DocumentType<std::string>(privData->arabicaThis->createDocumentType(*localQualifiedName, *localPublicId, *localSystemId));
- v8::Handle<v8::Function> retCtor = V8DocumentType::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::DocumentType<std::string>* retVal = new Arabica::DOM::DocumentType<std::string>(privData->arabicaThis->createDocumentType(*localQualifiedName, *localPublicId, *localSystemId));
+ v8::Handle<v8::Function> retCtor = V8DocumentType::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8DocumentType::V8DocumentTypePrivate* retPrivData = new V8DocumentType::V8DocumentTypePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8DocumentType::V8DocumentTypePrivate* retPrivData = new V8DocumentType::V8DocumentTypePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8DocumentType::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8DocumentType::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8DOMImplementation::createDocumentCallback(const v8::Arguments& args) {
- if (args.Length() < 3)
- throw V8Exception("Wrong number of arguments in createDocument");
- if (!(V8DocumentType::hasInstance(args[2])))
- throw V8Exception("Parameter mismatch while calling createDocument");
+v8::Handle<v8::Value> V8DOMImplementation::createDocumentCallback(const v8::Arguments& args) {
+ if (args.Length() < 3)
+ throw V8Exception("Wrong number of arguments in createDocument");
+ if (!(V8DocumentType::hasInstance(args[2])))
+ throw V8Exception("Parameter mismatch while calling createDocument");
- v8::Local<v8::Object> self = args.Holder();
- V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localQualifiedName(args[1]);
- Arabica::DOM::DocumentType<std::string>* localDoctype = V8DOM::toClassPtr<V8DocumentType::V8DocumentTypePrivate >(args[2]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DOMImplementationPrivate* privData = V8DOM::toClassPtr<V8DOMImplementationPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localQualifiedName(args[1]);
+ Arabica::DOM::DocumentType<std::string>* localDoctype = V8DOM::toClassPtr<V8DocumentType::V8DocumentTypePrivate >(args[2]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Document<std::string>* retVal = new Arabica::DOM::Document<std::string>(privData->arabicaThis->createDocument(*localNamespaceURI, *localQualifiedName, *localDoctype));
- v8::Handle<v8::Function> retCtor = V8Document::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Document<std::string>* retVal = new Arabica::DOM::Document<std::string>(privData->arabicaThis->createDocument(*localNamespaceURI, *localQualifiedName, *localDoctype));
+ v8::Handle<v8::Function> retCtor = V8Document::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Document::V8DocumentPrivate* retPrivData = new V8Document::V8DocumentPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Document::V8DocumentPrivate* retPrivData = new V8Document::V8DocumentPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Document::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Document::jsDestructor);
+ return retObj;
- }
+}
- bool V8DOMImplementation::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8DOMImplementation::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.h
index c648162..f14a39b 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DOMImplementation.h
@@ -30,43 +30,43 @@ namespace DOM {
class V8DOMImplementation {
public:
- struct V8DOMImplementationPrivate {
- V8DOM* dom;
- Arabica::DOM::DOMImplementation<std::string>* arabicaThis;
- };
+ struct V8DOMImplementationPrivate {
+ V8DOM* dom;
+ Arabica::DOM::DOMImplementation<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8DOMImplementationPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8DOMImplementationPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> hasFeatureCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createDocumentTypeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createDocumentCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> hasFeatureCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createDocumentTypeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createDocumentCallback(const v8::Arguments&);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("DOMImplementation"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("DOMImplementation"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- prototype->Set(v8::String::NewSymbol("hasFeature"),
- v8::FunctionTemplate::New(V8DOMImplementation::hasFeatureCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createDocumentType"),
- v8::FunctionTemplate::New(V8DOMImplementation::createDocumentTypeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createDocument"),
- v8::FunctionTemplate::New(V8DOMImplementation::createDocumentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("hasFeature"),
+ v8::FunctionTemplate::New(V8DOMImplementation::hasFeatureCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createDocumentType"),
+ v8::FunctionTemplate::New(V8DOMImplementation::createDocumentTypeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createDocument"),
+ v8::FunctionTemplate::New(V8DOMImplementation::createDocumentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.cpp
index 0a80873..2bad2dd 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.cpp
@@ -15,391 +15,391 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Document::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Document::Tmpl;
- v8::Handle<v8::Value> V8Document::doctypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- Arabica::DOM::DocumentType<std::string>* arbaicaRet = new Arabica::DOM::DocumentType<std::string>(privData->arabicaThis->getDoctype());
+v8::Handle<v8::Value> V8Document::doctypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ Arabica::DOM::DocumentType<std::string>* arbaicaRet = new Arabica::DOM::DocumentType<std::string>(privData->arabicaThis->getDoctype());
- v8::Handle<v8::Function> arbaicaRetCtor = V8DocumentType::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+ v8::Handle<v8::Function> arbaicaRetCtor = V8DocumentType::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- V8DocumentType::V8DocumentTypePrivate* retPrivData = new V8DocumentType::V8DocumentTypePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8DocumentType::jsDestructor);
- return arbaicaRetObj;
+ struct V8DocumentType::V8DocumentTypePrivate* retPrivData = new V8DocumentType::V8DocumentTypePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- }
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8DocumentType::jsDestructor);
+ return arbaicaRetObj;
- v8::Handle<v8::Value> V8Document::implementationAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- Arabica::DOM::DOMImplementation<std::string>* arbaicaRet = new Arabica::DOM::DOMImplementation<std::string>(privData->arabicaThis->getImplementation());
+}
- v8::Handle<v8::Function> arbaicaRetCtor = V8DOMImplementation::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+v8::Handle<v8::Value> V8Document::implementationAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ Arabica::DOM::DOMImplementation<std::string>* arbaicaRet = new Arabica::DOM::DOMImplementation<std::string>(privData->arabicaThis->getImplementation());
- V8DOMImplementation::V8DOMImplementationPrivate* retPrivData = new V8DOMImplementation::V8DOMImplementationPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8DOMImplementation::jsDestructor);
- return arbaicaRetObj;
+ v8::Handle<v8::Function> arbaicaRetCtor = V8DOMImplementation::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- }
+ struct V8DOMImplementation::V8DOMImplementationPrivate* retPrivData = new V8DOMImplementation::V8DOMImplementationPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- v8::Handle<v8::Value> V8Document::documentElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- Arabica::DOM::Element<std::string>* arbaicaRet = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getDocumentElement());
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8DOMImplementation::jsDestructor);
+ return arbaicaRetObj;
- v8::Handle<v8::Function> arbaicaRetCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+}
- V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Element::jsDestructor);
- return arbaicaRetObj;
+v8::Handle<v8::Value> V8Document::documentElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Element<std::string>* arbaicaRet = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getDocumentElement());
- }
- v8::Handle<v8::Value> V8Document::createElementCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createElement");
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localTagName(args[0]);
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->createElement(*localTagName));
- v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Element::jsDestructor);
+ return arbaicaRetObj;
- struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+}
+v8::Handle<v8::Value> V8Document::createElementCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createElement");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localTagName(args[0]);
- retObj.MakeWeak(0, V8Element::jsDestructor);
- return retObj;
+ Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->createElement(*localTagName));
+ v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createDocumentFragmentCallback(const v8::Arguments& args) {
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ retObj.MakeWeak(0, V8Element::jsDestructor);
+ return retObj;
- Arabica::DOM::DocumentFragment<std::string>* retVal = new Arabica::DOM::DocumentFragment<std::string>(privData->arabicaThis->createDocumentFragment());
- v8::Handle<v8::Function> retCtor = V8DocumentFragment::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8DocumentFragment::V8DocumentFragmentPrivate* retPrivData = new V8DocumentFragment::V8DocumentFragmentPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createDocumentFragmentCallback(const v8::Arguments& args) {
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- retObj.MakeWeak(0, V8DocumentFragment::jsDestructor);
- return retObj;
+ Arabica::DOM::DocumentFragment<std::string>* retVal = new Arabica::DOM::DocumentFragment<std::string>(privData->arabicaThis->createDocumentFragment());
+ v8::Handle<v8::Function> retCtor = V8DocumentFragment::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8DocumentFragment::V8DocumentFragmentPrivate* retPrivData = new V8DocumentFragment::V8DocumentFragmentPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createTextNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createTextNode");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localData(args[0]);
+ retObj.MakeWeak(0, V8DocumentFragment::jsDestructor);
+ return retObj;
- Arabica::DOM::Text<std::string>* retVal = new Arabica::DOM::Text<std::string>(privData->arabicaThis->createTextNode(*localData));
- v8::Handle<v8::Function> retCtor = V8Text::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Text::V8TextPrivate* retPrivData = new V8Text::V8TextPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createTextNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createTextNode");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localData(args[0]);
- retObj.MakeWeak(0, V8Text::jsDestructor);
- return retObj;
+ Arabica::DOM::Text<std::string>* retVal = new Arabica::DOM::Text<std::string>(privData->arabicaThis->createTextNode(*localData));
+ v8::Handle<v8::Function> retCtor = V8Text::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Text::V8TextPrivate* retPrivData = new V8Text::V8TextPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createCommentCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createComment");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localData(args[0]);
+ retObj.MakeWeak(0, V8Text::jsDestructor);
+ return retObj;
- Arabica::DOM::Comment<std::string>* retVal = new Arabica::DOM::Comment<std::string>(privData->arabicaThis->createComment(*localData));
- v8::Handle<v8::Function> retCtor = V8Comment::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Comment::V8CommentPrivate* retPrivData = new V8Comment::V8CommentPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createCommentCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createComment");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localData(args[0]);
- retObj.MakeWeak(0, V8Comment::jsDestructor);
- return retObj;
+ Arabica::DOM::Comment<std::string>* retVal = new Arabica::DOM::Comment<std::string>(privData->arabicaThis->createComment(*localData));
+ v8::Handle<v8::Function> retCtor = V8Comment::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Comment::V8CommentPrivate* retPrivData = new V8Comment::V8CommentPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createCDATASectionCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createCDATASection");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localData(args[0]);
+ retObj.MakeWeak(0, V8Comment::jsDestructor);
+ return retObj;
- Arabica::DOM::CDATASection<std::string>* retVal = new Arabica::DOM::CDATASection<std::string>(privData->arabicaThis->createCDATASection(*localData));
- v8::Handle<v8::Function> retCtor = V8CDATASection::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8CDATASection::V8CDATASectionPrivate* retPrivData = new V8CDATASection::V8CDATASectionPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createCDATASectionCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createCDATASection");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localData(args[0]);
- retObj.MakeWeak(0, V8CDATASection::jsDestructor);
- return retObj;
+ Arabica::DOM::CDATASection<std::string>* retVal = new Arabica::DOM::CDATASection<std::string>(privData->arabicaThis->createCDATASection(*localData));
+ v8::Handle<v8::Function> retCtor = V8CDATASection::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8CDATASection::V8CDATASectionPrivate* retPrivData = new V8CDATASection::V8CDATASectionPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createProcessingInstructionCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in createProcessingInstruction");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localTarget(args[0]);
- v8::String::AsciiValue localData(args[1]);
+ retObj.MakeWeak(0, V8CDATASection::jsDestructor);
+ return retObj;
- Arabica::DOM::ProcessingInstruction<std::string>* retVal = new Arabica::DOM::ProcessingInstruction<std::string>(privData->arabicaThis->createProcessingInstruction(*localTarget, *localData));
- v8::Handle<v8::Function> retCtor = V8ProcessingInstruction::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8ProcessingInstruction::V8ProcessingInstructionPrivate* retPrivData = new V8ProcessingInstruction::V8ProcessingInstructionPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createProcessingInstructionCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in createProcessingInstruction");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localTarget(args[0]);
+ v8::String::AsciiValue localData(args[1]);
- retObj.MakeWeak(0, V8ProcessingInstruction::jsDestructor);
- return retObj;
+ Arabica::DOM::ProcessingInstruction<std::string>* retVal = new Arabica::DOM::ProcessingInstruction<std::string>(privData->arabicaThis->createProcessingInstruction(*localTarget, *localData));
+ v8::Handle<v8::Function> retCtor = V8ProcessingInstruction::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8ProcessingInstruction::V8ProcessingInstructionPrivate* retPrivData = new V8ProcessingInstruction::V8ProcessingInstructionPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createAttributeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createAttribute");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ retObj.MakeWeak(0, V8ProcessingInstruction::jsDestructor);
+ return retObj;
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->createAttribute(*localName));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createAttributeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createAttribute");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->createAttribute(*localName));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createEntityReferenceCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in createEntityReference");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- Arabica::DOM::EntityReference<std::string>* retVal = new Arabica::DOM::EntityReference<std::string>(privData->arabicaThis->createEntityReference(*localName));
- v8::Handle<v8::Function> retCtor = V8EntityReference::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8EntityReference::V8EntityReferencePrivate* retPrivData = new V8EntityReference::V8EntityReferencePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createEntityReferenceCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in createEntityReference");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- retObj.MakeWeak(0, V8EntityReference::jsDestructor);
- return retObj;
+ Arabica::DOM::EntityReference<std::string>* retVal = new Arabica::DOM::EntityReference<std::string>(privData->arabicaThis->createEntityReference(*localName));
+ v8::Handle<v8::Function> retCtor = V8EntityReference::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8EntityReference::V8EntityReferencePrivate* retPrivData = new V8EntityReference::V8EntityReferencePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::getElementsByTagNameCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getElementsByTagName");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localTagname(args[0]);
+ retObj.MakeWeak(0, V8EntityReference::jsDestructor);
+ return retObj;
- Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagName(*localTagname));
- v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::getElementsByTagNameCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getElementsByTagName");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localTagname(args[0]);
- retObj.MakeWeak(0, V8NodeList::jsDestructor);
- return retObj;
+ Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagName(*localTagname));
+ v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::importNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in importNode");
- if (!(V8Node::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling importNode");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localImportedNode = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- bool localDeep = args[1]->ToBoolean()->BooleanValue();
+ retObj.MakeWeak(0, V8NodeList::jsDestructor);
+ return retObj;
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->importNode(*localImportedNode, localDeep));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::importNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in importNode");
+ if (!(V8Node::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling importNode");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localImportedNode = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ bool localDeep = args[1]->ToBoolean()->BooleanValue();
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->importNode(*localImportedNode, localDeep));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createElementNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in createElementNS");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localQualifiedName(args[1]);
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->createElementNS(*localNamespaceURI, *localQualifiedName));
- v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createElementNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in createElementNS");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localQualifiedName(args[1]);
- retObj.MakeWeak(0, V8Element::jsDestructor);
- return retObj;
+ Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->createElementNS(*localNamespaceURI, *localQualifiedName));
+ v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::createAttributeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in createAttributeNS");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localQualifiedName(args[1]);
+ retObj.MakeWeak(0, V8Element::jsDestructor);
+ return retObj;
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->createAttributeNS(*localNamespaceURI, *localQualifiedName));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::createAttributeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in createAttributeNS");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localQualifiedName(args[1]);
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->createAttributeNS(*localNamespaceURI, *localQualifiedName));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::getElementsByTagNameNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in getElementsByTagNameNS");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagNameNS(*localNamespaceURI, *localLocalName));
- v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::getElementsByTagNameNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in getElementsByTagNameNS");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- retObj.MakeWeak(0, V8NodeList::jsDestructor);
- return retObj;
+ Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagNameNS(*localNamespaceURI, *localLocalName));
+ v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- v8::Handle<v8::Value> V8Document::getElementByIdCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getElementById");
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localElementId(args[0]);
+ retObj.MakeWeak(0, V8NodeList::jsDestructor);
+ return retObj;
- Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getElementById(*localElementId));
- v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Document::getElementByIdCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getElementById");
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localElementId(args[0]);
- retObj.MakeWeak(0, V8Element::jsDestructor);
- return retObj;
+ Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>(privData->arabicaThis->getElementById(*localElementId));
+ v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- }
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- bool V8Document::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
-}
-}
+ retObj.MakeWeak(0, V8Element::jsDestructor);
+ return retObj;
+
+}
+
+bool V8Document::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
+
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.h
index f07a5ea..22d2713 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Document.h
@@ -31,89 +31,89 @@ namespace DOM {
class V8Document {
public:
- struct V8DocumentPrivate {
- V8DOM* dom;
- Arabica::DOM::Document<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8DocumentPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> createElementCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createDocumentFragmentCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createTextNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createCommentCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createCDATASectionCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createProcessingInstructionCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createAttributeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createEntityReferenceCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getElementsByTagNameCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> importNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createElementNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> createAttributeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getElementsByTagNameNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getElementByIdCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> evaluateCustomCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> doctypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> implementationAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> documentElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Document"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("doctype"), V8Document::doctypeAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("implementation"), V8Document::implementationAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("documentElement"), V8Document::documentElementAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("createElement"),
- v8::FunctionTemplate::New(V8Document::createElementCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createDocumentFragment"),
- v8::FunctionTemplate::New(V8Document::createDocumentFragmentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createTextNode"),
- v8::FunctionTemplate::New(V8Document::createTextNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createComment"),
- v8::FunctionTemplate::New(V8Document::createCommentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createCDATASection"),
- v8::FunctionTemplate::New(V8Document::createCDATASectionCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createProcessingInstruction"),
- v8::FunctionTemplate::New(V8Document::createProcessingInstructionCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createAttribute"),
- v8::FunctionTemplate::New(V8Document::createAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createEntityReference"),
- v8::FunctionTemplate::New(V8Document::createEntityReferenceCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getElementsByTagName"),
- v8::FunctionTemplate::New(V8Document::getElementsByTagNameCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("importNode"),
- v8::FunctionTemplate::New(V8Document::importNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createElementNS"),
- v8::FunctionTemplate::New(V8Document::createElementNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("createAttributeNS"),
- v8::FunctionTemplate::New(V8Document::createAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getElementsByTagNameNS"),
- v8::FunctionTemplate::New(V8Document::getElementsByTagNameNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getElementById"),
- v8::FunctionTemplate::New(V8Document::getElementByIdCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("evaluate"),
- v8::FunctionTemplate::New(V8Document::evaluateCustomCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
-
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8DocumentPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Document<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8DocumentPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> createElementCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createDocumentFragmentCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createTextNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createCommentCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createCDATASectionCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createProcessingInstructionCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createAttributeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createEntityReferenceCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getElementsByTagNameCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> importNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createElementNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> createAttributeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getElementsByTagNameNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getElementByIdCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> evaluateCustomCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> doctypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> implementationAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> documentElementAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Document"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("doctype"), V8Document::doctypeAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("implementation"), V8Document::implementationAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("documentElement"), V8Document::documentElementAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("createElement"),
+ v8::FunctionTemplate::New(V8Document::createElementCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createDocumentFragment"),
+ v8::FunctionTemplate::New(V8Document::createDocumentFragmentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createTextNode"),
+ v8::FunctionTemplate::New(V8Document::createTextNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createComment"),
+ v8::FunctionTemplate::New(V8Document::createCommentCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createCDATASection"),
+ v8::FunctionTemplate::New(V8Document::createCDATASectionCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createProcessingInstruction"),
+ v8::FunctionTemplate::New(V8Document::createProcessingInstructionCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createAttribute"),
+ v8::FunctionTemplate::New(V8Document::createAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createEntityReference"),
+ v8::FunctionTemplate::New(V8Document::createEntityReferenceCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getElementsByTagName"),
+ v8::FunctionTemplate::New(V8Document::getElementsByTagNameCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("importNode"),
+ v8::FunctionTemplate::New(V8Document::importNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createElementNS"),
+ v8::FunctionTemplate::New(V8Document::createElementNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("createAttributeNS"),
+ v8::FunctionTemplate::New(V8Document::createAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getElementsByTagNameNS"),
+ v8::FunctionTemplate::New(V8Document::getElementsByTagNameNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getElementById"),
+ v8::FunctionTemplate::New(V8Document::getElementByIdCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("evaluate"),
+ v8::FunctionTemplate::New(V8Document::evaluateCustomCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentCustom.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentCustom.cpp
index 5c1ac46..2756287 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentCustom.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentCustom.cpp
@@ -4,37 +4,37 @@
namespace Arabica {
namespace DOM {
-
+
v8::Handle<v8::Value> V8Document::evaluateCustomCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in evaluate");
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in evaluate");
// if (!((V8Node::hasInstance(args[1])) && (V8XPathResult::hasInstance(args[3]))))
// throw V8Exception("Parameter mismatch while calling evaluate");
- v8::Local<v8::Object> self = args.Holder();
- V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
-
- v8::String::AsciiValue localExpression(args[0]);
-
- XPath::XPathValue<std::string>* retVal;
- if (args.Length() > 1) {
- Arabica::DOM::Node<std::string>* localContextNode = V8DOM::toClassPtr<Arabica::DOM::Node<std::string> >(args[1]->ToObject()->GetInternalField(0));
- retVal = new XPath::XPathValue<std::string>(privData->dom->xpath->evaluate(*localExpression, *localContextNode));
- } else {
- retVal = new XPath::XPathValue<std::string>(privData->dom->xpath->evaluate(*localExpression, *privData->arabicaThis));
- }
-
- v8::Handle<v8::Function> retCtor = V8XPathResult::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
-
- V8XPathResult::V8XPathResultPrivate* retPrivData = new V8XPathResult::V8XPathResultPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
-
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
-
- retObj.MakeWeak(0, V8XPathResult::jsDestructor);
- return retObj;
+ v8::Local<v8::Object> self = args.Holder();
+ V8DocumentPrivate* privData = V8DOM::toClassPtr<V8DocumentPrivate >(self->GetInternalField(0));
+
+ v8::String::AsciiValue localExpression(args[0]);
+
+ XPath::XPathValue<std::string>* retVal;
+ if (args.Length() > 1) {
+ Arabica::DOM::Node<std::string>* localContextNode = V8DOM::toClassPtr<Arabica::DOM::Node<std::string> >(args[1]->ToObject()->GetInternalField(0));
+ retVal = new XPath::XPathValue<std::string>(privData->dom->xpath->evaluate(*localExpression, *localContextNode));
+ } else {
+ retVal = new XPath::XPathValue<std::string>(privData->dom->xpath->evaluate(*localExpression, *privData->arabicaThis));
+ }
+
+ v8::Handle<v8::Function> retCtor = V8XPathResult::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ V8XPathResult::V8XPathResultPrivate* retPrivData = new V8XPathResult::V8XPathResultPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8XPathResult::jsDestructor);
+ return retObj;
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.cpp
index e6bec84..1403574 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.cpp
@@ -4,11 +4,11 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8DocumentFragment::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8DocumentFragment::Tmpl;
- bool V8DocumentFragment::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8DocumentFragment::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.h
index b1d4280..2340eb7 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentFragment.h
@@ -31,35 +31,35 @@ namespace DOM {
class V8DocumentFragment {
public:
- struct V8DocumentFragmentPrivate {
- V8DOM* dom;
- Arabica::DOM::DocumentFragment<std::string>* arabicaThis;
- };
+ struct V8DocumentFragmentPrivate {
+ V8DOM* dom;
+ Arabica::DOM::DocumentFragment<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8DocumentFragmentPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8DocumentFragmentPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("DocumentFragment"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("DocumentFragment"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.cpp
index 58e4ab6..cd7e2a5 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.cpp
@@ -5,75 +5,75 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8DocumentType::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8DocumentType::Tmpl;
- v8::Handle<v8::Value> V8DocumentType::nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8DocumentType::nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getName().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getName().c_str());
+}
- v8::Handle<v8::Value> V8DocumentType::entitiesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
- Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getEntities());
+v8::Handle<v8::Value> V8DocumentType::entitiesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+ Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getEntities());
- v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+ v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
- return arbaicaRetObj;
+ struct V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- }
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
+ return arbaicaRetObj;
- v8::Handle<v8::Value> V8DocumentType::notationsAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
- Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getNotations());
+}
- v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
+v8::Handle<v8::Value> V8DocumentType::notationsAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+ Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getNotations());
- V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
- return arbaicaRetObj;
+ v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- }
+ struct V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- v8::Handle<v8::Value> V8DocumentType::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
+ return arbaicaRetObj;
- return v8::String::New(privData->arabicaThis->getPublicId().c_str());
- }
+}
- v8::Handle<v8::Value> V8DocumentType::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8DocumentType::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getSystemId().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getPublicId().c_str());
+}
- v8::Handle<v8::Value> V8DocumentType::internalSubsetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8DocumentType::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getInternalSubset().c_str());
- }
- bool V8DocumentType::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+ return v8::String::New(privData->arabicaThis->getSystemId().c_str());
+}
-}
-}
+v8::Handle<v8::Value> V8DocumentType::internalSubsetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8DocumentTypePrivate* privData = V8DOM::toClassPtr<V8DocumentTypePrivate >(self->GetInternalField(0));
+
+ return v8::String::New(privData->arabicaThis->getInternalSubset().c_str());
+}
+bool V8DocumentType::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
+
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.h
index 0319ac6..462cec9 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8DocumentType.h
@@ -31,53 +31,53 @@ namespace DOM {
class V8DocumentType {
public:
- struct V8DocumentTypePrivate {
- V8DOM* dom;
- Arabica::DOM::DocumentType<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8DocumentTypePrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
-
- static v8::Handle<v8::Value> nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> entitiesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> notationsAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> internalSubsetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("DocumentType"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("name"), V8DocumentType::nameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("entities"), V8DocumentType::entitiesAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("notations"), V8DocumentType::notationsAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("publicId"), V8DocumentType::publicIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("systemId"), V8DocumentType::systemIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("internalSubset"), V8DocumentType::internalSubsetAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
-
-
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8DocumentTypePrivate {
+ V8DOM* dom;
+ Arabica::DOM::DocumentType<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8DocumentTypePrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+
+ static v8::Handle<v8::Value> nameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> entitiesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> notationsAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> internalSubsetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("DocumentType"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("name"), V8DocumentType::nameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("entities"), V8DocumentType::entitiesAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("notations"), V8DocumentType::notationsAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("publicId"), V8DocumentType::publicIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("systemId"), V8DocumentType::systemIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("internalSubset"), V8DocumentType::internalSubsetAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+
+
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.cpp
index 2dd81c8..3c7d7da 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.cpp
@@ -6,297 +6,297 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Element::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Element::Tmpl;
- v8::Handle<v8::Value> V8Element::tagNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Element::tagNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getTagName().c_str());
- }
- v8::Handle<v8::Value> V8Element::getAttributeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getAttribute");
+ return v8::String::New(privData->arabicaThis->getTagName().c_str());
+}
+v8::Handle<v8::Value> V8Element::getAttributeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getAttribute");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- std::string retVal = privData->arabicaThis->getAttribute(*localName);
+ std::string retVal = privData->arabicaThis->getAttribute(*localName);
- return v8::String::New(retVal.c_str());
- }
+ return v8::String::New(retVal.c_str());
+}
- v8::Handle<v8::Value> V8Element::setAttributeCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in setAttribute");
+v8::Handle<v8::Value> V8Element::setAttributeCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in setAttribute");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
- v8::String::AsciiValue localValue(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
+ v8::String::AsciiValue localValue(args[1]);
- privData->arabicaThis->setAttribute(*localName, *localValue);
+ privData->arabicaThis->setAttribute(*localName, *localValue);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8Element::removeAttributeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in removeAttribute");
+v8::Handle<v8::Value> V8Element::removeAttributeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in removeAttribute");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- privData->arabicaThis->removeAttribute(*localName);
+ privData->arabicaThis->removeAttribute(*localName);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8Element::getAttributeNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getAttributeNode");
+v8::Handle<v8::Value> V8Element::getAttributeNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getAttributeNode");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->getAttributeNode(*localName));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->getAttributeNode(*localName));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::setAttributeNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in setAttributeNode");
- if (!(V8Attr::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling setAttributeNode");
+v8::Handle<v8::Value> V8Element::setAttributeNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in setAttributeNode");
+ if (!(V8Attr::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling setAttributeNode");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- Arabica::DOM::Attr<std::string>* localNewAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Attr<std::string>* localNewAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->setAttributeNode(*localNewAttr));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->setAttributeNode(*localNewAttr));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::removeAttributeNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in removeAttributeNode");
- if (!(V8Attr::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling removeAttributeNode");
+v8::Handle<v8::Value> V8Element::removeAttributeNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in removeAttributeNode");
+ if (!(V8Attr::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling removeAttributeNode");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- Arabica::DOM::Attr<std::string>* localOldAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Attr<std::string>* localOldAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->removeAttributeNode(*localOldAttr));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->removeAttributeNode(*localOldAttr));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::getElementsByTagNameCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getElementsByTagName");
+v8::Handle<v8::Value> V8Element::getElementsByTagNameCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getElementsByTagName");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagName(*localName));
- v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagName(*localName));
+ v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8NodeList::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8NodeList::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::getAttributeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in getAttributeNS");
+v8::Handle<v8::Value> V8Element::getAttributeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in getAttributeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- std::string retVal = privData->arabicaThis->getAttributeNS(*localNamespaceURI, *localLocalName);
+ std::string retVal = privData->arabicaThis->getAttributeNS(*localNamespaceURI, *localLocalName);
- return v8::String::New(retVal.c_str());
- }
+ return v8::String::New(retVal.c_str());
+}
- v8::Handle<v8::Value> V8Element::setAttributeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 3)
- throw V8Exception("Wrong number of arguments in setAttributeNS");
+v8::Handle<v8::Value> V8Element::setAttributeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 3)
+ throw V8Exception("Wrong number of arguments in setAttributeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localQualifiedName(args[1]);
- v8::String::AsciiValue localValue(args[2]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localQualifiedName(args[1]);
+ v8::String::AsciiValue localValue(args[2]);
- privData->arabicaThis->setAttributeNS(*localNamespaceURI, *localQualifiedName, *localValue);
+ privData->arabicaThis->setAttributeNS(*localNamespaceURI, *localQualifiedName, *localValue);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8Element::removeAttributeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in removeAttributeNS");
+v8::Handle<v8::Value> V8Element::removeAttributeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in removeAttributeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- privData->arabicaThis->removeAttributeNS(*localNamespaceURI, *localLocalName);
+ privData->arabicaThis->removeAttributeNS(*localNamespaceURI, *localLocalName);
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- v8::Handle<v8::Value> V8Element::getAttributeNodeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in getAttributeNodeNS");
+v8::Handle<v8::Value> V8Element::getAttributeNodeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in getAttributeNodeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->getAttributeNodeNS(*localNamespaceURI, *localLocalName));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->getAttributeNodeNS(*localNamespaceURI, *localLocalName));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::setAttributeNodeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in setAttributeNodeNS");
- if (!(V8Attr::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling setAttributeNodeNS");
+v8::Handle<v8::Value> V8Element::setAttributeNodeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in setAttributeNodeNS");
+ if (!(V8Attr::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling setAttributeNodeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- Arabica::DOM::Attr<std::string>* localNewAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Attr<std::string>* localNewAttr = V8DOM::toClassPtr<V8Attr::V8AttrPrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->setAttributeNodeNS(*localNewAttr));
- v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Attr<std::string>* retVal = new Arabica::DOM::Attr<std::string>(privData->arabicaThis->setAttributeNodeNS(*localNewAttr));
+ v8::Handle<v8::Function> retCtor = V8Attr::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Attr::V8AttrPrivate* retPrivData = new V8Attr::V8AttrPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Attr::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Attr::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::getElementsByTagNameNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in getElementsByTagNameNS");
+v8::Handle<v8::Value> V8Element::getElementsByTagNameNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in getElementsByTagNameNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagNameNS(*localNamespaceURI, *localLocalName));
- v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::NodeList<std::string>* retVal = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getElementsByTagNameNS(*localNamespaceURI, *localLocalName));
+ v8::Handle<v8::Function> retCtor = V8NodeList::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8NodeList::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8NodeList::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8Element::hasAttributeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in hasAttribute");
+v8::Handle<v8::Value> V8Element::hasAttributeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in hasAttribute");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- bool retVal = privData->arabicaThis->hasAttribute(*localName);
+ bool retVal = privData->arabicaThis->hasAttribute(*localName);
- return v8::Boolean::New(retVal);
- }
+ return v8::Boolean::New(retVal);
+}
- v8::Handle<v8::Value> V8Element::hasAttributeNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in hasAttributeNS");
+v8::Handle<v8::Value> V8Element::hasAttributeNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in hasAttributeNS");
- v8::Local<v8::Object> self = args.Holder();
- V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8ElementPrivate* privData = V8DOM::toClassPtr<V8ElementPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- bool retVal = privData->arabicaThis->hasAttributeNS(*localNamespaceURI, *localLocalName);
+ bool retVal = privData->arabicaThis->hasAttributeNS(*localNamespaceURI, *localLocalName);
- return v8::Boolean::New(retVal);
- }
+ return v8::Boolean::New(retVal);
+}
- bool V8Element::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8Element::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.h
index 7bb2f61..5a824b3 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Element.h
@@ -31,83 +31,83 @@ namespace DOM {
class V8Element {
public:
- struct V8ElementPrivate {
- V8DOM* dom;
- Arabica::DOM::Element<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8ElementPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> getAttributeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setAttributeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeAttributeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getAttributeNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setAttributeNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeAttributeNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getElementsByTagNameCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getAttributeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setAttributeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeAttributeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getAttributeNodeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setAttributeNodeNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getElementsByTagNameNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> hasAttributeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> hasAttributeNSCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> tagNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Element"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("tagName"), V8Element::tagNameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("getAttribute"),
- v8::FunctionTemplate::New(V8Element::getAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setAttribute"),
- v8::FunctionTemplate::New(V8Element::setAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeAttribute"),
- v8::FunctionTemplate::New(V8Element::removeAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getAttributeNode"),
- v8::FunctionTemplate::New(V8Element::getAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setAttributeNode"),
- v8::FunctionTemplate::New(V8Element::setAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeAttributeNode"),
- v8::FunctionTemplate::New(V8Element::removeAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getElementsByTagName"),
- v8::FunctionTemplate::New(V8Element::getElementsByTagNameCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getAttributeNS"),
- v8::FunctionTemplate::New(V8Element::getAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setAttributeNS"),
- v8::FunctionTemplate::New(V8Element::setAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeAttributeNS"),
- v8::FunctionTemplate::New(V8Element::removeAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getAttributeNodeNS"),
- v8::FunctionTemplate::New(V8Element::getAttributeNodeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setAttributeNodeNS"),
- v8::FunctionTemplate::New(V8Element::setAttributeNodeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getElementsByTagNameNS"),
- v8::FunctionTemplate::New(V8Element::getElementsByTagNameNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("hasAttribute"),
- v8::FunctionTemplate::New(V8Element::hasAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("hasAttributeNS"),
- v8::FunctionTemplate::New(V8Element::hasAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
-
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8ElementPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Element<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8ElementPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> getAttributeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setAttributeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeAttributeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getAttributeNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setAttributeNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeAttributeNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getElementsByTagNameCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getAttributeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setAttributeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeAttributeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getAttributeNodeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setAttributeNodeNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getElementsByTagNameNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> hasAttributeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> hasAttributeNSCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> tagNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Element"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("tagName"), V8Element::tagNameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("getAttribute"),
+ v8::FunctionTemplate::New(V8Element::getAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setAttribute"),
+ v8::FunctionTemplate::New(V8Element::setAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeAttribute"),
+ v8::FunctionTemplate::New(V8Element::removeAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getAttributeNode"),
+ v8::FunctionTemplate::New(V8Element::getAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setAttributeNode"),
+ v8::FunctionTemplate::New(V8Element::setAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeAttributeNode"),
+ v8::FunctionTemplate::New(V8Element::removeAttributeNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getElementsByTagName"),
+ v8::FunctionTemplate::New(V8Element::getElementsByTagNameCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getAttributeNS"),
+ v8::FunctionTemplate::New(V8Element::getAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setAttributeNS"),
+ v8::FunctionTemplate::New(V8Element::setAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeAttributeNS"),
+ v8::FunctionTemplate::New(V8Element::removeAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getAttributeNodeNS"),
+ v8::FunctionTemplate::New(V8Element::getAttributeNodeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setAttributeNodeNS"),
+ v8::FunctionTemplate::New(V8Element::setAttributeNodeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getElementsByTagNameNS"),
+ v8::FunctionTemplate::New(V8Element::getElementsByTagNameNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("hasAttribute"),
+ v8::FunctionTemplate::New(V8Element::hasAttributeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("hasAttributeNS"),
+ v8::FunctionTemplate::New(V8Element::hasAttributeNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.cpp
index dc8696d..8bdd57c 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.cpp
@@ -4,32 +4,32 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Entity::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Entity::Tmpl;
- v8::Handle<v8::Value> V8Entity::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Entity::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getPublicId().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getPublicId().c_str());
+}
- v8::Handle<v8::Value> V8Entity::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Entity::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getSystemId().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getSystemId().c_str());
+}
- v8::Handle<v8::Value> V8Entity::notationNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Entity::notationNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8EntityPrivate* privData = V8DOM::toClassPtr<V8EntityPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getNotationName().c_str());
- }
- bool V8Entity::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+ return v8::String::New(privData->arabicaThis->getNotationName().c_str());
+}
+bool V8Entity::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.h
index 1c609d9..6c22e3a 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Entity.h
@@ -31,44 +31,44 @@ namespace DOM {
class V8Entity {
public:
- struct V8EntityPrivate {
- V8DOM* dom;
- Arabica::DOM::Entity<std::string>* arabicaThis;
- };
+ struct V8EntityPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Entity<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8EntityPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8EntityPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> notationNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> notationNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Entity"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Entity"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- instance->SetAccessor(v8::String::NewSymbol("publicId"), V8Entity::publicIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("systemId"), V8Entity::systemIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("notationName"), V8Entity::notationNameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("publicId"), V8Entity::publicIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("systemId"), V8Entity::systemIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("notationName"), V8Entity::notationNameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.cpp
index 95ceee8..197fadd 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.cpp
@@ -4,11 +4,11 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8EntityReference::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8EntityReference::Tmpl;
- bool V8EntityReference::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8EntityReference::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.h
index 1bd33e9..d99c7ab 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8EntityReference.h
@@ -31,35 +31,35 @@ namespace DOM {
class V8EntityReference {
public:
- struct V8EntityReferencePrivate {
- V8DOM* dom;
- Arabica::DOM::EntityReference<std::string>* arabicaThis;
- };
+ struct V8EntityReferencePrivate {
+ V8DOM* dom;
+ Arabica::DOM::EntityReference<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8EntityReferencePrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8EntityReferencePrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("EntityReference"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("EntityReference"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.cpp
index 1037b91..4608ea1 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.cpp
@@ -4,185 +4,185 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8NamedNodeMap::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8NamedNodeMap::Tmpl;
- v8::Handle<v8::Value> V8NamedNodeMap::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8NamedNodeMap::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- return v8::Integer::New(privData->arabicaThis->getLength());
- }
- v8::Handle<v8::Value> V8NamedNodeMap::getNamedItemCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in getNamedItem");
+ return v8::Integer::New(privData->arabicaThis->getLength());
+}
+v8::Handle<v8::Value> V8NamedNodeMap::getNamedItemCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in getNamedItem");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNamedItem(*localName));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNamedItem(*localName));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::setNamedItemCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in setNamedItem");
- if (!(V8Node::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling setNamedItem");
+v8::Handle<v8::Value> V8NamedNodeMap::setNamedItemCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in setNamedItem");
+ if (!(V8Node::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling setNamedItem");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localArg = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localArg = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->setNamedItem(*localArg));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->setNamedItem(*localArg));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::removeNamedItemCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in removeNamedItem");
+v8::Handle<v8::Value> V8NamedNodeMap::removeNamedItemCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in removeNamedItem");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localName(args[0]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localName(args[0]);
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeNamedItem(*localName));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeNamedItem(*localName));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::itemCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in item");
+v8::Handle<v8::Value> V8NamedNodeMap::itemCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in item");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- unsigned long localIndex = args[0]->ToNumber()->Uint32Value();
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ unsigned long localIndex = args[0]->ToNumber()->Uint32Value();
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->item(localIndex));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->item(localIndex));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::getNamedItemNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in getNamedItemNS");
+v8::Handle<v8::Value> V8NamedNodeMap::getNamedItemNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in getNamedItemNS");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNamedItemNS(*localNamespaceURI, *localLocalName));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNamedItemNS(*localNamespaceURI, *localLocalName));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::setNamedItemNSCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in setNamedItemNS");
- if (!(V8Node::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling setNamedItemNS");
+v8::Handle<v8::Value> V8NamedNodeMap::setNamedItemNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in setNamedItemNS");
+ if (!(V8Node::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling setNamedItemNS");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localArg = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localArg = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->setNamedItemNS(*localArg));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->setNamedItemNS(*localArg));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8NamedNodeMap::removeNamedItemNSCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in removeNamedItemNS");
+v8::Handle<v8::Value> V8NamedNodeMap::removeNamedItemNSCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in removeNamedItemNS");
- v8::Local<v8::Object> self = args.Holder();
- V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNamespaceURI(args[0]);
- v8::String::AsciiValue localLocalName(args[1]);
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NamedNodeMapPrivate* privData = V8DOM::toClassPtr<V8NamedNodeMapPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNamespaceURI(args[0]);
+ v8::String::AsciiValue localLocalName(args[1]);
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeNamedItemNS(*localNamespaceURI, *localLocalName));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeNamedItemNS(*localNamespaceURI, *localLocalName));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- bool V8NamedNodeMap::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8NamedNodeMap::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.h
index 53402cc..52e6c54 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NamedNodeMap.h
@@ -30,58 +30,58 @@ namespace DOM {
class V8NamedNodeMap {
public:
- struct V8NamedNodeMapPrivate {
- V8DOM* dom;
- Arabica::DOM::NamedNodeMap<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8NamedNodeMapPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> getNamedItemCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setNamedItemCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeNamedItemCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> itemCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> getNamedItemNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> setNamedItemNSCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeNamedItemNSCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("NamedNodeMap"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("length"), V8NamedNodeMap::lengthAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("getNamedItem"),
- v8::FunctionTemplate::New(V8NamedNodeMap::getNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setNamedItem"),
- v8::FunctionTemplate::New(V8NamedNodeMap::setNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeNamedItem"),
- v8::FunctionTemplate::New(V8NamedNodeMap::removeNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("item"),
- v8::FunctionTemplate::New(V8NamedNodeMap::itemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("getNamedItemNS"),
- v8::FunctionTemplate::New(V8NamedNodeMap::getNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("setNamedItemNS"),
- v8::FunctionTemplate::New(V8NamedNodeMap::setNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeNamedItemNS"),
- v8::FunctionTemplate::New(V8NamedNodeMap::removeNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
-
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8NamedNodeMapPrivate {
+ V8DOM* dom;
+ Arabica::DOM::NamedNodeMap<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8NamedNodeMapPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> getNamedItemCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setNamedItemCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeNamedItemCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> itemCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> getNamedItemNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> setNamedItemNSCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeNamedItemNSCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("NamedNodeMap"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("length"), V8NamedNodeMap::lengthAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("getNamedItem"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::getNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setNamedItem"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::setNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeNamedItem"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::removeNamedItemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("item"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::itemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("getNamedItemNS"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::getNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("setNamedItemNS"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::setNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeNamedItemNS"),
+ v8::FunctionTemplate::New(V8NamedNodeMap::removeNamedItemNSCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.cpp
index 168e067..52ff3ec 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.cpp
@@ -6,380 +6,380 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Node::Tmpl;
-
+v8::Persistent<v8::FunctionTemplate> V8Node::Tmpl;
- v8::Handle<v8::Value> V8Node::nodeNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
-
- return v8::String::New(privData->arabicaThis->getNodeName().c_str());
- }
-
- v8::Handle<v8::Value> V8Node::nodeValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
-
- return v8::String::New(privData->arabicaThis->getNodeValue().c_str());
- }
-
- void V8Node::nodeValueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localNodeValue(value);
- privData->arabicaThis->setNodeValue(*localNodeValue);
- }
-
- v8::Handle<v8::Value> V8Node::nodeTypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
-
- return v8::Integer::New(privData->arabicaThis->getNodeType());
- }
-
- v8::Handle<v8::Value> V8Node::parentNodeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getParentNode());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::childNodesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::NodeList<std::string>* arbaicaRet = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getChildNodes());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8NodeList::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8NodeList::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::firstChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getFirstChild());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::lastChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getLastChild());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::previousSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getPreviousSibling());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::nextSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNextSibling());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::attributesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getAttributes());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::ownerDocumentAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Document<std::string>* arbaicaRet = new Arabica::DOM::Document<std::string>(privData->arabicaThis->getOwnerDocument());
-
- v8::Handle<v8::Function> arbaicaRetCtor = V8Document::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
-
- V8Document::V8DocumentPrivate* retPrivData = new V8Document::V8DocumentPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = arbaicaRet;
-
- arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- arbaicaRetObj.MakeWeak(0, V8Document::jsDestructor);
- return arbaicaRetObj;
-
- }
-
- v8::Handle<v8::Value> V8Node::namespaceURIAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
-
- return v8::String::New(privData->arabicaThis->getNamespaceURI().c_str());
- }
-
- v8::Handle<v8::Value> V8Node::prefixAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
-
- return v8::String::New(privData->arabicaThis->getPrefix().c_str());
- }
-
- void V8Node::prefixAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localPrefix(value);
- privData->arabicaThis->setPrefix(*localPrefix);
- }
-
- v8::Handle<v8::Value> V8Node::localNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getLocalName().c_str());
- }
- v8::Handle<v8::Value> V8Node::insertBeforeCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in insertBefore");
- if (!((V8Node::hasInstance(args[0])) && (V8Node::hasInstance(args[1]))))
- throw V8Exception("Parameter mismatch while calling insertBefore");
+v8::Handle<v8::Value> V8Node::nodeNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Node<std::string>* localRefChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[1]->ToObject()->GetInternalField(0))->arabicaThis;
+ return v8::String::New(privData->arabicaThis->getNodeName().c_str());
+}
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->insertBefore(*localNewChild, *localRefChild));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+v8::Handle<v8::Value> V8Node::nodeValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ return v8::String::New(privData->arabicaThis->getNodeValue().c_str());
+}
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+void V8Node::nodeValueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localNodeValue(value);
+ privData->arabicaThis->setNodeValue(*localNodeValue);
+}
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+v8::Handle<v8::Value> V8Node::nodeTypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- }
+ return v8::Integer::New(privData->arabicaThis->getNodeType());
+}
- v8::Handle<v8::Value> V8Node::replaceChildCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in replaceChild");
- if (!((V8Node::hasInstance(args[0])) && (V8Node::hasInstance(args[1]))))
- throw V8Exception("Parameter mismatch while calling replaceChild");
+v8::Handle<v8::Value> V8Node::parentNodeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getParentNode());
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
- Arabica::DOM::Node<std::string>* localOldChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[1]->ToObject()->GetInternalField(0))->arabicaThis;
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->replaceChild(*localNewChild, *localOldChild));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
+ return arbaicaRetObj;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+}
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+v8::Handle<v8::Value> V8Node::childNodesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::NodeList<std::string>* arbaicaRet = new Arabica::DOM::NodeList<std::string>(privData->arabicaThis->getChildNodes());
- }
+ v8::Handle<v8::Function> arbaicaRetCtor = V8NodeList::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- v8::Handle<v8::Value> V8Node::removeChildCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in removeChild");
- if (!(V8Node::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling removeChild");
+ struct V8NodeList::V8NodeListPrivate* retPrivData = new V8NodeList::V8NodeListPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localOldChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8NodeList::jsDestructor);
+ return arbaicaRetObj;
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeChild(*localOldChild));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+}
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+v8::Handle<v8::Value> V8Node::firstChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getFirstChild());
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- }
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
+ return arbaicaRetObj;
- v8::Handle<v8::Value> V8Node::appendChildCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in appendChild");
- if (!(V8Node::hasInstance(args[0])))
- throw V8Exception("Parameter mismatch while calling appendChild");
+}
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+v8::Handle<v8::Value> V8Node::lastChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getLastChild());
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->appendChild(*localNewChild));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
+ return arbaicaRetObj;
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+}
- }
+v8::Handle<v8::Value> V8Node::previousSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getPreviousSibling());
- v8::Handle<v8::Value> V8Node::hasChildNodesCallback(const v8::Arguments& args) {
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- bool retVal = privData->arabicaThis->hasChildNodes();
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
+ return arbaicaRetObj;
- return v8::Boolean::New(retVal);
- }
+}
- v8::Handle<v8::Value> V8Node::cloneNodeCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in cloneNode");
+v8::Handle<v8::Value> V8Node::nextSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* arbaicaRet = new Arabica::DOM::Node<std::string>(privData->arabicaThis->getNextSibling());
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- bool localDeep = args[0]->ToBoolean()->BooleanValue();
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->cloneNode(localDeep));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Node::jsDestructor);
+ return arbaicaRetObj;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+}
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+v8::Handle<v8::Value> V8Node::attributesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::NamedNodeMap<std::string>* arbaicaRet = new Arabica::DOM::NamedNodeMap<std::string>(privData->arabicaThis->getAttributes());
- }
+ v8::Handle<v8::Function> arbaicaRetCtor = V8NamedNodeMap::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- v8::Handle<v8::Value> V8Node::normalizeCallback(const v8::Arguments& args) {
+ struct V8NamedNodeMap::V8NamedNodeMapPrivate* retPrivData = new V8NamedNodeMap::V8NamedNodeMapPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8NamedNodeMap::jsDestructor);
+ return arbaicaRetObj;
- privData->arabicaThis->normalize();
+}
- return v8::Undefined();
- }
+v8::Handle<v8::Value> V8Node::ownerDocumentAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Document<std::string>* arbaicaRet = new Arabica::DOM::Document<std::string>(privData->arabicaThis->getOwnerDocument());
- v8::Handle<v8::Value> V8Node::isSupportedCallback(const v8::Arguments& args) {
- if (args.Length() < 2)
- throw V8Exception("Wrong number of arguments in isSupported");
+ v8::Handle<v8::Function> arbaicaRetCtor = V8Document::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> arbaicaRetObj = v8::Persistent<v8::Object>::New(arbaicaRetCtor->NewInstance());
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localFeature(args[0]);
- v8::String::AsciiValue localVersion(args[1]);
+ struct V8Document::V8DocumentPrivate* retPrivData = new V8Document::V8DocumentPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = arbaicaRet;
- bool retVal = privData->arabicaThis->isSupported(*localFeature, *localVersion);
+ arbaicaRetObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ arbaicaRetObj.MakeWeak(0, V8Document::jsDestructor);
+ return arbaicaRetObj;
- return v8::Boolean::New(retVal);
- }
+}
- v8::Handle<v8::Value> V8Node::hasAttributesCallback(const v8::Arguments& args) {
+v8::Handle<v8::Value> V8Node::namespaceURIAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- v8::Local<v8::Object> self = args.Holder();
- V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ return v8::String::New(privData->arabicaThis->getNamespaceURI().c_str());
+}
- bool retVal = privData->arabicaThis->hasAttributes();
+v8::Handle<v8::Value> V8Node::prefixAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
- return v8::Boolean::New(retVal);
- }
+ return v8::String::New(privData->arabicaThis->getPrefix().c_str());
+}
- bool V8Node::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+void V8Node::prefixAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localPrefix(value);
+ privData->arabicaThis->setPrefix(*localPrefix);
+}
-}
-}
+v8::Handle<v8::Value> V8Node::localNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+
+ return v8::String::New(privData->arabicaThis->getLocalName().c_str());
+}
+v8::Handle<v8::Value> V8Node::insertBeforeCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in insertBefore");
+ if (!((V8Node::hasInstance(args[0])) && (V8Node::hasInstance(args[1]))))
+ throw V8Exception("Parameter mismatch while calling insertBefore");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ Arabica::DOM::Node<std::string>* localRefChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[1]->ToObject()->GetInternalField(0))->arabicaThis;
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->insertBefore(*localNewChild, *localRefChild));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+
+}
+
+v8::Handle<v8::Value> V8Node::replaceChildCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in replaceChild");
+ if (!((V8Node::hasInstance(args[0])) && (V8Node::hasInstance(args[1]))))
+ throw V8Exception("Parameter mismatch while calling replaceChild");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+ Arabica::DOM::Node<std::string>* localOldChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[1]->ToObject()->GetInternalField(0))->arabicaThis;
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->replaceChild(*localNewChild, *localOldChild));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+
+}
+
+v8::Handle<v8::Value> V8Node::removeChildCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in removeChild");
+ if (!(V8Node::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling removeChild");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localOldChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->removeChild(*localOldChild));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+
+}
+
+v8::Handle<v8::Value> V8Node::appendChildCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in appendChild");
+ if (!(V8Node::hasInstance(args[0])))
+ throw V8Exception("Parameter mismatch while calling appendChild");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ Arabica::DOM::Node<std::string>* localNewChild = V8DOM::toClassPtr<V8Node::V8NodePrivate >(args[0]->ToObject()->GetInternalField(0))->arabicaThis;
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->appendChild(*localNewChild));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+
+}
+
+v8::Handle<v8::Value> V8Node::hasChildNodesCallback(const v8::Arguments& args) {
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+
+ bool retVal = privData->arabicaThis->hasChildNodes();
+
+ return v8::Boolean::New(retVal);
+}
+
+v8::Handle<v8::Value> V8Node::cloneNodeCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in cloneNode");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ bool localDeep = args[0]->ToBoolean()->BooleanValue();
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->cloneNode(localDeep));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+
+}
+
+v8::Handle<v8::Value> V8Node::normalizeCallback(const v8::Arguments& args) {
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+
+ privData->arabicaThis->normalize();
+
+ return v8::Undefined();
+}
+
+v8::Handle<v8::Value> V8Node::isSupportedCallback(const v8::Arguments& args) {
+ if (args.Length() < 2)
+ throw V8Exception("Wrong number of arguments in isSupported");
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localFeature(args[0]);
+ v8::String::AsciiValue localVersion(args[1]);
+
+ bool retVal = privData->arabicaThis->isSupported(*localFeature, *localVersion);
+
+ return v8::Boolean::New(retVal);
+}
+
+v8::Handle<v8::Value> V8Node::hasAttributesCallback(const v8::Arguments& args) {
+
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodePrivate* privData = V8DOM::toClassPtr<V8NodePrivate >(self->GetInternalField(0));
+
+ bool retVal = privData->arabicaThis->hasAttributes();
+
+ return v8::Boolean::New(retVal);
+}
+
+bool V8Node::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
+
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.h
index 094d57a..ee14dc9 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Node.h
@@ -30,129 +30,129 @@ namespace DOM {
class V8Node {
public:
- struct V8NodePrivate {
- V8DOM* dom;
- Arabica::DOM::Node<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8NodePrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> insertBeforeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> replaceChildCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> removeChildCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> appendChildCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> hasChildNodesCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> cloneNodeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> normalizeCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> isSupportedCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> hasAttributesCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> nodeNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> nodeValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static void nodeValueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> nodeTypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> parentNodeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> childNodesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> firstChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> lastChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> previousSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> nextSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> attributesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> ownerDocumentAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> namespaceURIAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> prefixAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static void prefixAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> localNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Node"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("nodeName"), V8Node::nodeNameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("nodeValue"), V8Node::nodeValueAttrGetter, V8Node::nodeValueAttrSetter,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("nodeType"), V8Node::nodeTypeAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("parentNode"), V8Node::parentNodeAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("childNodes"), V8Node::childNodesAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("firstChild"), V8Node::firstChildAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("lastChild"), V8Node::lastChildAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("previousSibling"), V8Node::previousSiblingAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("nextSibling"), V8Node::nextSiblingAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("attributes"), V8Node::attributesAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("ownerDocument"), V8Node::ownerDocumentAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("namespaceURI"), V8Node::namespaceURIAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("prefix"), V8Node::prefixAttrGetter, V8Node::prefixAttrSetter,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("localName"), V8Node::localNameAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("insertBefore"),
- v8::FunctionTemplate::New(V8Node::insertBeforeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("replaceChild"),
- v8::FunctionTemplate::New(V8Node::replaceChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("removeChild"),
- v8::FunctionTemplate::New(V8Node::removeChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("appendChild"),
- v8::FunctionTemplate::New(V8Node::appendChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("hasChildNodes"),
- v8::FunctionTemplate::New(V8Node::hasChildNodesCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("cloneNode"),
- v8::FunctionTemplate::New(V8Node::cloneNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("normalize"),
- v8::FunctionTemplate::New(V8Node::normalizeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("isSupported"),
- v8::FunctionTemplate::New(V8Node::isSupportedCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("hasAttributes"),
- v8::FunctionTemplate::New(V8Node::hasAttributesCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
- tmpl->Set(v8::String::NewSymbol("ELEMENT_NODE"), v8::Integer::New(1), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("ELEMENT_NODE"), v8::Integer::New(1), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("ATTRIBUTE_NODE"), v8::Integer::New(2), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("ATTRIBUTE_NODE"), v8::Integer::New(2), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("TEXT_NODE"), v8::Integer::New(3), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("TEXT_NODE"), v8::Integer::New(3), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("CDATA_SECTION_NODE"), v8::Integer::New(4), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("CDATA_SECTION_NODE"), v8::Integer::New(4), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("ENTITY_REFERENCE_NODE"), v8::Integer::New(5), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("ENTITY_REFERENCE_NODE"), v8::Integer::New(5), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("ENTITY_NODE"), v8::Integer::New(6), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("ENTITY_NODE"), v8::Integer::New(6), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("PROCESSING_INSTRUCTION_NODE"), v8::Integer::New(7), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("PROCESSING_INSTRUCTION_NODE"), v8::Integer::New(7), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("COMMENT_NODE"), v8::Integer::New(8), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("COMMENT_NODE"), v8::Integer::New(8), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("DOCUMENT_NODE"), v8::Integer::New(9), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("DOCUMENT_NODE"), v8::Integer::New(9), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("DOCUMENT_TYPE_NODE"), v8::Integer::New(10), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("DOCUMENT_TYPE_NODE"), v8::Integer::New(10), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("DOCUMENT_FRAGMENT_NODE"), v8::Integer::New(11), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("DOCUMENT_FRAGMENT_NODE"), v8::Integer::New(11), v8::ReadOnly);
- tmpl->Set(v8::String::NewSymbol("NOTATION_NODE"), v8::Integer::New(12), v8::ReadOnly);
- prototype->Set(v8::String::NewSymbol("NOTATION_NODE"), v8::Integer::New(12), v8::ReadOnly);
-
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8NodePrivate {
+ V8DOM* dom;
+ Arabica::DOM::Node<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8NodePrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> insertBeforeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> replaceChildCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> removeChildCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> appendChildCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> hasChildNodesCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> cloneNodeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> normalizeCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> isSupportedCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> hasAttributesCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> nodeNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> nodeValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static void nodeValueAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> nodeTypeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> parentNodeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> childNodesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> firstChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> lastChildAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> previousSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> nextSiblingAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> attributesAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> ownerDocumentAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> namespaceURIAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> prefixAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static void prefixAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> localNameAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Node"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("nodeName"), V8Node::nodeNameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("nodeValue"), V8Node::nodeValueAttrGetter, V8Node::nodeValueAttrSetter,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("nodeType"), V8Node::nodeTypeAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("parentNode"), V8Node::parentNodeAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("childNodes"), V8Node::childNodesAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("firstChild"), V8Node::firstChildAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("lastChild"), V8Node::lastChildAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("previousSibling"), V8Node::previousSiblingAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("nextSibling"), V8Node::nextSiblingAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("attributes"), V8Node::attributesAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("ownerDocument"), V8Node::ownerDocumentAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("namespaceURI"), V8Node::namespaceURIAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("prefix"), V8Node::prefixAttrGetter, V8Node::prefixAttrSetter,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("localName"), V8Node::localNameAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("insertBefore"),
+ v8::FunctionTemplate::New(V8Node::insertBeforeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("replaceChild"),
+ v8::FunctionTemplate::New(V8Node::replaceChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("removeChild"),
+ v8::FunctionTemplate::New(V8Node::removeChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("appendChild"),
+ v8::FunctionTemplate::New(V8Node::appendChildCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("hasChildNodes"),
+ v8::FunctionTemplate::New(V8Node::hasChildNodesCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("cloneNode"),
+ v8::FunctionTemplate::New(V8Node::cloneNodeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("normalize"),
+ v8::FunctionTemplate::New(V8Node::normalizeCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("isSupported"),
+ v8::FunctionTemplate::New(V8Node::isSupportedCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("hasAttributes"),
+ v8::FunctionTemplate::New(V8Node::hasAttributesCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+ tmpl->Set(v8::String::NewSymbol("ELEMENT_NODE"), v8::Integer::New(1), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("ELEMENT_NODE"), v8::Integer::New(1), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("ATTRIBUTE_NODE"), v8::Integer::New(2), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("ATTRIBUTE_NODE"), v8::Integer::New(2), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("TEXT_NODE"), v8::Integer::New(3), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("TEXT_NODE"), v8::Integer::New(3), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("CDATA_SECTION_NODE"), v8::Integer::New(4), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("CDATA_SECTION_NODE"), v8::Integer::New(4), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("ENTITY_REFERENCE_NODE"), v8::Integer::New(5), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("ENTITY_REFERENCE_NODE"), v8::Integer::New(5), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("ENTITY_NODE"), v8::Integer::New(6), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("ENTITY_NODE"), v8::Integer::New(6), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("PROCESSING_INSTRUCTION_NODE"), v8::Integer::New(7), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("PROCESSING_INSTRUCTION_NODE"), v8::Integer::New(7), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("COMMENT_NODE"), v8::Integer::New(8), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("COMMENT_NODE"), v8::Integer::New(8), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("DOCUMENT_NODE"), v8::Integer::New(9), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("DOCUMENT_NODE"), v8::Integer::New(9), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("DOCUMENT_TYPE_NODE"), v8::Integer::New(10), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("DOCUMENT_TYPE_NODE"), v8::Integer::New(10), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("DOCUMENT_FRAGMENT_NODE"), v8::Integer::New(11), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("DOCUMENT_FRAGMENT_NODE"), v8::Integer::New(11), v8::ReadOnly);
+ tmpl->Set(v8::String::NewSymbol("NOTATION_NODE"), v8::Integer::New(12), v8::ReadOnly);
+ prototype->Set(v8::String::NewSymbol("NOTATION_NODE"), v8::Integer::New(12), v8::ReadOnly);
+
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.cpp
index d1d0125..1f6b368 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.cpp
@@ -4,41 +4,41 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8NodeList::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8NodeList::Tmpl;
- v8::Handle<v8::Value> V8NodeList::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodeListPrivate* privData = V8DOM::toClassPtr<V8NodeListPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8NodeList::lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodeListPrivate* privData = V8DOM::toClassPtr<V8NodeListPrivate >(self->GetInternalField(0));
- return v8::Integer::New(privData->arabicaThis->getLength());
- }
- v8::Handle<v8::Value> V8NodeList::itemCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in item");
+ return v8::Integer::New(privData->arabicaThis->getLength());
+}
+v8::Handle<v8::Value> V8NodeList::itemCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in item");
- v8::Local<v8::Object> self = args.Holder();
- V8NodeListPrivate* privData = V8DOM::toClassPtr<V8NodeListPrivate >(self->GetInternalField(0));
- unsigned long localIndex = args[0]->ToNumber()->Uint32Value();
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodeListPrivate* privData = V8DOM::toClassPtr<V8NodeListPrivate >(self->GetInternalField(0));
+ unsigned long localIndex = args[0]->ToNumber()->Uint32Value();
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->item(localIndex));
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->item(localIndex));
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
- }
+}
- bool V8NodeList::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8NodeList::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.h
index b70bc0e..fefc084 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeList.h
@@ -30,40 +30,40 @@ namespace DOM {
class V8NodeList {
public:
- struct V8NodeListPrivate {
- V8DOM* dom;
- Arabica::DOM::NodeList<std::string>* arabicaThis;
- };
+ struct V8NodeListPrivate {
+ V8DOM* dom;
+ Arabica::DOM::NodeList<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8NodeListPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8NodeListPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> itemCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> itemCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> lengthAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("NodeList"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("NodeList"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- instance->SetAccessor(v8::String::NewSymbol("length"), V8NodeList::lengthAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("length"), V8NodeList::lengthAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- prototype->Set(v8::String::NewSymbol("item"),
- v8::FunctionTemplate::New(V8NodeList::itemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("item"),
+ v8::FunctionTemplate::New(V8NodeList::itemCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.cpp
index 8421d2e..2b051f1 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.cpp
@@ -3,35 +3,35 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8NodeSet::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8NodeSet::Tmpl;
- v8::Handle<v8::Value> V8NodeSet::sizeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8NodeSet::sizeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
- return v8::Integer::New(privData->arabicaThis->size());
- }
+ return v8::Integer::New(privData->arabicaThis->size());
+}
- v8::Handle<v8::Value> V8NodeSet::emptyAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8NodeSet::emptyAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
- return v8::Boolean::New(privData->arabicaThis->empty());
- }
- v8::Handle<v8::Value> V8NodeSet::toDocumentOrderCallback(const v8::Arguments& args) {
+ return v8::Boolean::New(privData->arabicaThis->empty());
+}
+v8::Handle<v8::Value> V8NodeSet::toDocumentOrderCallback(const v8::Arguments& args) {
- v8::Local<v8::Object> self = args.Holder();
- V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
- privData->arabicaThis->to_document_order();
+ privData->arabicaThis->to_document_order();
- return v8::Undefined();
- }
+ return v8::Undefined();
+}
- bool V8NodeSet::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8NodeSet::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.h
index 6650b8d..583c1b9 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSet.h
@@ -30,45 +30,45 @@ namespace DOM {
class V8NodeSet {
public:
- struct V8NodeSetPrivate {
- V8DOM* dom;
- Arabica::XPath::NodeSet<std::string>* arabicaThis;
- };
+ struct V8NodeSetPrivate {
+ V8DOM* dom;
+ Arabica::XPath::NodeSet<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8NodeSetPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8NodeSetPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> toDocumentOrderCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> toDocumentOrderCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> sizeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> emptyAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> indexedPropertyCustomGetter(uint32_t, const v8::AccessorInfo&);
+ static v8::Handle<v8::Value> sizeAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> emptyAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> indexedPropertyCustomGetter(uint32_t, const v8::AccessorInfo&);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("NodeSet"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("NodeSet"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- instance->SetAccessor(v8::String::NewSymbol("size"), V8NodeSet::sizeAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("empty"), V8NodeSet::emptyAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("size"), V8NodeSet::sizeAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("empty"), V8NodeSet::emptyAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetIndexedPropertyHandler(V8NodeSet::indexedPropertyCustomGetter, 0);
- prototype->Set(v8::String::NewSymbol("toDocumentOrder"),
- v8::FunctionTemplate::New(V8NodeSet::toDocumentOrderCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ instance->SetIndexedPropertyHandler(V8NodeSet::indexedPropertyCustomGetter, 0);
+ prototype->Set(v8::String::NewSymbol("toDocumentOrder"),
+ v8::FunctionTemplate::New(V8NodeSet::toDocumentOrderCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSetCustom.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSetCustom.cpp
index 4904878..61f5947 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSetCustom.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8NodeSetCustom.cpp
@@ -6,46 +6,46 @@ namespace Arabica {
namespace DOM {
v8::Handle<v8::Value> V8NodeSet::indexedPropertyCustomGetter(uint32_t index, const v8::AccessorInfo &info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
-
- if (privData->arabicaThis->size() >= index) {
- switch((*privData->arabicaThis)[index].getNodeType()) {
- case Node_base::ELEMENT_NODE: {
- Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>((*privData->arabicaThis)[index]);
-
- v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
-
- struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
-
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
-
- retObj.MakeWeak(0, V8Element::jsDestructor);
- return retObj;
- }
- default: {
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>((*privData->arabicaThis)[index]);
-
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
-
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
-
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
-
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
- }
- }
- }
-
- return v8::Undefined();
-
+ v8::Local<v8::Object> self = info.Holder();
+ V8NodeSetPrivate* privData = V8DOM::toClassPtr<V8NodeSetPrivate >(self->GetInternalField(0));
+
+ if (privData->arabicaThis->size() >= index) {
+ switch((*privData->arabicaThis)[index].getNodeType()) {
+ case Node_base::ELEMENT_NODE: {
+ Arabica::DOM::Element<std::string>* retVal = new Arabica::DOM::Element<std::string>((*privData->arabicaThis)[index]);
+
+ v8::Handle<v8::Function> retCtor = V8Element::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Element::V8ElementPrivate* retPrivData = new V8Element::V8ElementPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Element::jsDestructor);
+ return retObj;
+ }
+ default: {
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>((*privData->arabicaThis)[index]);
+
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
+ }
+ }
+ }
+
+ return v8::Undefined();
+
}
}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.cpp
index 0e9d5f6..e210491 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.cpp
@@ -4,25 +4,25 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Notation::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Notation::Tmpl;
- v8::Handle<v8::Value> V8Notation::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NotationPrivate* privData = V8DOM::toClassPtr<V8NotationPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Notation::publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NotationPrivate* privData = V8DOM::toClassPtr<V8NotationPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getPublicId().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getPublicId().c_str());
+}
- v8::Handle<v8::Value> V8Notation::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8NotationPrivate* privData = V8DOM::toClassPtr<V8NotationPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8Notation::systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8NotationPrivate* privData = V8DOM::toClassPtr<V8NotationPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getSystemId().c_str());
- }
- bool V8Notation::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+ return v8::String::New(privData->arabicaThis->getSystemId().c_str());
+}
+bool V8Notation::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.h
index edf7c44..f29d1fe 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Notation.h
@@ -31,41 +31,41 @@ namespace DOM {
class V8Notation {
public:
- struct V8NotationPrivate {
- V8DOM* dom;
- Arabica::DOM::Notation<std::string>* arabicaThis;
- };
+ struct V8NotationPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Notation<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8NotationPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8NotationPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> publicIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> systemIdAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Notation"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Notation"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- instance->SetAccessor(v8::String::NewSymbol("publicId"), V8Notation::publicIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("systemId"), V8Notation::systemIdAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("publicId"), V8Notation::publicIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("systemId"), V8Notation::systemIdAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.cpp
index 09ba4fe..c299d76 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.cpp
@@ -4,32 +4,32 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8ProcessingInstruction::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8ProcessingInstruction::Tmpl;
- v8::Handle<v8::Value> V8ProcessingInstruction::targetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8ProcessingInstruction::targetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getTarget().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getTarget().c_str());
+}
- v8::Handle<v8::Value> V8ProcessingInstruction::dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8ProcessingInstruction::dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->getData().c_str());
- }
+ return v8::String::New(privData->arabicaThis->getData().c_str());
+}
- void V8ProcessingInstruction::dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
- v8::String::AsciiValue localData(value);
- privData->arabicaThis->setData(*localData);
- }
- bool V8ProcessingInstruction::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+void V8ProcessingInstruction::dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8ProcessingInstructionPrivate* privData = V8DOM::toClassPtr<V8ProcessingInstructionPrivate >(self->GetInternalField(0));
+ v8::String::AsciiValue localData(value);
+ privData->arabicaThis->setData(*localData);
+}
+bool V8ProcessingInstruction::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.h
index 7793a72..61eaa2e 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8ProcessingInstruction.h
@@ -31,42 +31,42 @@ namespace DOM {
class V8ProcessingInstruction {
public:
- struct V8ProcessingInstructionPrivate {
- V8DOM* dom;
- Arabica::DOM::ProcessingInstruction<std::string>* arabicaThis;
- };
+ struct V8ProcessingInstructionPrivate {
+ V8DOM* dom;
+ Arabica::DOM::ProcessingInstruction<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8ProcessingInstructionPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8ProcessingInstructionPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> targetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static void dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> targetAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> dataAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static void dataAttrSetter(v8::Local<v8::String> property, v8::Local<v8::Value> value, const v8::AccessorInfo& info);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("ProcessingInstruction"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("ProcessingInstruction"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- instance->SetAccessor(v8::String::NewSymbol("target"), V8ProcessingInstruction::targetAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("data"), V8ProcessingInstruction::dataAttrGetter, V8ProcessingInstruction::dataAttrSetter,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("target"), V8ProcessingInstruction::targetAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("data"), V8ProcessingInstruction::dataAttrGetter, V8ProcessingInstruction::dataAttrSetter,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- tmpl->Inherit(V8Node::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8Node::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.cpp
index 70411f9..fd9f6a3 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.cpp
@@ -4,34 +4,34 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8Text::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8Text::Tmpl;
- v8::Handle<v8::Value> V8Text::splitTextCallback(const v8::Arguments& args) {
- if (args.Length() < 1)
- throw V8Exception("Wrong number of arguments in splitText");
+v8::Handle<v8::Value> V8Text::splitTextCallback(const v8::Arguments& args) {
+ if (args.Length() < 1)
+ throw V8Exception("Wrong number of arguments in splitText");
- v8::Local<v8::Object> self = args.Holder();
- V8TextPrivate* privData = V8DOM::toClassPtr<V8TextPrivate >(self->GetInternalField(0));
- unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8TextPrivate* privData = V8DOM::toClassPtr<V8TextPrivate >(self->GetInternalField(0));
+ unsigned long localOffset = args[0]->ToNumber()->Uint32Value();
- Arabica::DOM::Text<std::string>* retVal = new Arabica::DOM::Text<std::string>(privData->arabicaThis->splitText(localOffset));
- v8::Handle<v8::Function> retCtor = V8Text::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::DOM::Text<std::string>* retVal = new Arabica::DOM::Text<std::string>(privData->arabicaThis->splitText(localOffset));
+ v8::Handle<v8::Function> retCtor = V8Text::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8Text::V8TextPrivate* retPrivData = new V8Text::V8TextPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8Text::V8TextPrivate* retPrivData = new V8Text::V8TextPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8Text::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8Text::jsDestructor);
+ return retObj;
- }
+}
- bool V8Text::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8Text::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.h
index f8154ef..fdabf6e 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8Text.h
@@ -31,38 +31,38 @@ namespace DOM {
class V8Text {
public:
- struct V8TextPrivate {
- V8DOM* dom;
- Arabica::DOM::Text<std::string>* arabicaThis;
- };
+ struct V8TextPrivate {
+ V8DOM* dom;
+ Arabica::DOM::Text<std::string>* arabicaThis;
+ };
- V8_DESTRUCTOR(V8TextPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
+ V8_DESTRUCTOR(V8TextPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
- static v8::Handle<v8::Value> splitTextCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> splitTextCallback(const v8::Arguments&);
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("Text"));
- tmpl->ReadOnlyPrototype();
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("Text"));
+ tmpl->ReadOnlyPrototype();
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
- prototype->Set(v8::String::NewSymbol("splitText"),
- v8::FunctionTemplate::New(V8Text::splitTextCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("splitText"),
+ v8::FunctionTemplate::New(V8Text::splitTextCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- tmpl->Inherit(V8CharacterData::getTmpl());
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ tmpl->Inherit(V8CharacterData::getTmpl());
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.cpp
index 6b7c077..0d6210f 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.cpp
@@ -4,82 +4,82 @@
namespace Arabica {
namespace DOM {
- v8::Persistent<v8::FunctionTemplate> V8XPathResult::Tmpl;
+v8::Persistent<v8::FunctionTemplate> V8XPathResult::Tmpl;
- v8::Handle<v8::Value> V8XPathResult::numberValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8XPathResult::numberValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- return v8::Number::New(privData->arabicaThis->asNumber());
- }
+ return v8::Number::New(privData->arabicaThis->asNumber());
+}
- v8::Handle<v8::Value> V8XPathResult::stringValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8XPathResult::stringValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- return v8::String::New(privData->arabicaThis->asString().c_str());
- }
+ return v8::String::New(privData->arabicaThis->asString().c_str());
+}
- v8::Handle<v8::Value> V8XPathResult::booleanValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+v8::Handle<v8::Value> V8XPathResult::booleanValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
+ v8::Local<v8::Object> self = info.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- return v8::Boolean::New(privData->arabicaThis->asBool());
- }
- v8::Handle<v8::Value> V8XPathResult::asNodeSetCallback(const v8::Arguments& args) {
+ return v8::Boolean::New(privData->arabicaThis->asBool());
+}
+v8::Handle<v8::Value> V8XPathResult::asNodeSetCallback(const v8::Arguments& args) {
- v8::Local<v8::Object> self = args.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- Arabica::XPath::NodeSet<std::string>* retVal = new Arabica::XPath::NodeSet<std::string>(privData->arabicaThis->asNodeSet());
- v8::Handle<v8::Function> retCtor = V8NodeSet::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+ Arabica::XPath::NodeSet<std::string>* retVal = new Arabica::XPath::NodeSet<std::string>(privData->arabicaThis->asNodeSet());
+ v8::Handle<v8::Function> retCtor = V8NodeSet::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
- struct V8NodeSet::V8NodeSetPrivate* retPrivData = new V8NodeSet::V8NodeSetPrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
+ struct V8NodeSet::V8NodeSetPrivate* retPrivData = new V8NodeSet::V8NodeSetPrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
- retObj.MakeWeak(0, V8NodeSet::jsDestructor);
- return retObj;
+ retObj.MakeWeak(0, V8NodeSet::jsDestructor);
+ return retObj;
- }
+}
- v8::Handle<v8::Value> V8XPathResult::asBoolCallback(const v8::Arguments& args) {
+v8::Handle<v8::Value> V8XPathResult::asBoolCallback(const v8::Arguments& args) {
- v8::Local<v8::Object> self = args.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- bool retVal = privData->arabicaThis->asBool();
+ bool retVal = privData->arabicaThis->asBool();
- return v8::Boolean::New(retVal);
- }
+ return v8::Boolean::New(retVal);
+}
- v8::Handle<v8::Value> V8XPathResult::asStringCallback(const v8::Arguments& args) {
+v8::Handle<v8::Value> V8XPathResult::asStringCallback(const v8::Arguments& args) {
- v8::Local<v8::Object> self = args.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- std::string retVal = privData->arabicaThis->asString();
+ std::string retVal = privData->arabicaThis->asString();
- return v8::String::New(retVal.c_str());
- }
+ return v8::String::New(retVal.c_str());
+}
- v8::Handle<v8::Value> V8XPathResult::asNumberCallback(const v8::Arguments& args) {
+v8::Handle<v8::Value> V8XPathResult::asNumberCallback(const v8::Arguments& args) {
- v8::Local<v8::Object> self = args.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+ v8::Local<v8::Object> self = args.Holder();
+ struct V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
- double retVal = privData->arabicaThis->asNumber();
+ double retVal = privData->arabicaThis->asNumber();
- return v8::Number::New(retVal);
- }
+ return v8::Number::New(retVal);
+}
- bool V8XPathResult::hasInstance(v8::Handle<v8::Value> value) {
- return getTmpl()->HasInstance(value);
- }
+bool V8XPathResult::hasInstance(v8::Handle<v8::Value> value) {
+ return getTmpl()->HasInstance(value);
+}
-}
-}
+}
+}
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.h b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.h
index 76c6913..96410df 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.h
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResult.h
@@ -30,58 +30,58 @@ namespace DOM {
class V8XPathResult {
public:
- struct V8XPathResultPrivate {
- V8DOM* dom;
- Arabica::XPath::XPathValue<std::string>* arabicaThis;
- };
-
- V8_DESTRUCTOR(V8XPathResultPrivate);
- static bool hasInstance(v8::Handle<v8::Value>);
-
- static v8::Handle<v8::Value> asNodeSetCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> asBoolCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> asStringCallback(const v8::Arguments&);
- static v8::Handle<v8::Value> asNumberCallback(const v8::Arguments&);
-
- static v8::Handle<v8::Value> numberValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> stringValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> booleanValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
- static v8::Handle<v8::Value> singleNodeValueCustomAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
-
- static v8::Persistent<v8::FunctionTemplate> Tmpl;
- static v8::Handle<v8::FunctionTemplate> getTmpl() {
- if (Tmpl.IsEmpty()) {
- v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
- tmpl->SetClassName(v8::String::New("XPathResult"));
- tmpl->ReadOnlyPrototype();
-
- v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
- v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
- instance->SetInternalFieldCount(1);
-
- instance->SetAccessor(v8::String::NewSymbol("numberValue"), V8XPathResult::numberValueAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("stringValue"), V8XPathResult::stringValueAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("booleanValue"), V8XPathResult::booleanValueAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
- instance->SetAccessor(v8::String::NewSymbol("singleNodeValue"), V8XPathResult::singleNodeValueCustomAttrGetter, 0,
- v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
-
- prototype->Set(v8::String::NewSymbol("asNodeSet"),
- v8::FunctionTemplate::New(V8XPathResult::asNodeSetCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("asBool"),
- v8::FunctionTemplate::New(V8XPathResult::asBoolCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("asString"),
- v8::FunctionTemplate::New(V8XPathResult::asStringCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
- prototype->Set(v8::String::NewSymbol("asNumber"),
- v8::FunctionTemplate::New(V8XPathResult::asNumberCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
-
-
- Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
- }
- return Tmpl;
- }
+ struct V8XPathResultPrivate {
+ V8DOM* dom;
+ Arabica::XPath::XPathValue<std::string>* arabicaThis;
+ };
+
+ V8_DESTRUCTOR(V8XPathResultPrivate);
+ static bool hasInstance(v8::Handle<v8::Value>);
+
+ static v8::Handle<v8::Value> asNodeSetCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> asBoolCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> asStringCallback(const v8::Arguments&);
+ static v8::Handle<v8::Value> asNumberCallback(const v8::Arguments&);
+
+ static v8::Handle<v8::Value> numberValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> stringValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> booleanValueAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+ static v8::Handle<v8::Value> singleNodeValueCustomAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info);
+
+ static v8::Persistent<v8::FunctionTemplate> Tmpl;
+ static v8::Handle<v8::FunctionTemplate> getTmpl() {
+ if (Tmpl.IsEmpty()) {
+ v8::Handle<v8::FunctionTemplate> tmpl = v8::FunctionTemplate::New();
+ tmpl->SetClassName(v8::String::New("XPathResult"));
+ tmpl->ReadOnlyPrototype();
+
+ v8::Local<v8::ObjectTemplate> instance = tmpl->InstanceTemplate();
+ v8::Local<v8::ObjectTemplate> prototype = tmpl->PrototypeTemplate();
+ instance->SetInternalFieldCount(1);
+
+ instance->SetAccessor(v8::String::NewSymbol("numberValue"), V8XPathResult::numberValueAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("stringValue"), V8XPathResult::stringValueAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("booleanValue"), V8XPathResult::booleanValueAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+ instance->SetAccessor(v8::String::NewSymbol("singleNodeValue"), V8XPathResult::singleNodeValueCustomAttrGetter, 0,
+ v8::External::New(0), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute>(v8::None));
+
+ prototype->Set(v8::String::NewSymbol("asNodeSet"),
+ v8::FunctionTemplate::New(V8XPathResult::asNodeSetCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("asBool"),
+ v8::FunctionTemplate::New(V8XPathResult::asBoolCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("asString"),
+ v8::FunctionTemplate::New(V8XPathResult::asStringCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+ prototype->Set(v8::String::NewSymbol("asNumber"),
+ v8::FunctionTemplate::New(V8XPathResult::asNumberCallback, v8::Undefined()), static_cast<v8::PropertyAttribute>(v8::DontDelete));
+
+
+ Tmpl = v8::Persistent<v8::FunctionTemplate>::New(tmpl);
+ }
+ return Tmpl;
+ }
};
diff --git a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResultCustom.cpp b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResultCustom.cpp
index 6ec0f85..38b2cb5 100644
--- a/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResultCustom.cpp
+++ b/src/uscxml/plugins/datamodel/ecmascript/v8/dom/V8XPathResultCustom.cpp
@@ -5,22 +5,22 @@ namespace Arabica {
namespace DOM {
v8::Handle<v8::Value> V8XPathResult::singleNodeValueCustomAttrGetter(v8::Local<v8::String> property, const v8::AccessorInfo& info) {
- v8::Local<v8::Object> self = info.Holder();
- V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
-
- Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->asNodeSet()[0]);
-
- v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
- v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
-
- struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
- retPrivData->dom = privData->dom;
- retPrivData->arabicaThis = retVal;
-
- retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
-
- retObj.MakeWeak(0, V8Node::jsDestructor);
- return retObj;
+ v8::Local<v8::Object> self = info.Holder();
+ V8XPathResultPrivate* privData = V8DOM::toClassPtr<V8XPathResultPrivate >(self->GetInternalField(0));
+
+ Arabica::DOM::Node<std::string>* retVal = new Arabica::DOM::Node<std::string>(privData->arabicaThis->asNodeSet()[0]);
+
+ v8::Handle<v8::Function> retCtor = V8Node::getTmpl()->GetFunction();
+ v8::Persistent<v8::Object> retObj = v8::Persistent<v8::Object>::New(retCtor->NewInstance());
+
+ struct V8Node::V8NodePrivate* retPrivData = new V8Node::V8NodePrivate();
+ retPrivData->dom = privData->dom;
+ retPrivData->arabicaThis = retVal;
+
+ retObj->SetInternalField(0, V8DOM::toExternal(retPrivData));
+
+ retObj.MakeWeak(0, V8Node::jsDestructor);
+ return retObj;
}
}
diff --git a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
index ffb48f9..fe881dc 100644
--- a/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/prolog/swi/SWIDataModel.cpp
@@ -25,22 +25,23 @@ boost::shared_ptr<DataModelImpl> SWIDataModel::create(Interpreter* interpreter)
boost::shared_ptr<SWIDataModel> dm = boost::shared_ptr<SWIDataModel>(new SWIDataModel());
dm->_interpreter = interpreter;
- const char* swibin = getenv("SWI_BINARY");
- if (swibin == NULL)
- swibin = SWI_BINARY;
- const char* quiet = "--quiet";
-
- static char * av[] = {
- (char*)swibin,
- (char*)quiet,
- // "-s",
- // "/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl",
- NULL};
- if(!PL_initialise(2,av)) {
- LOG(ERROR) << "Error intializing prolog engine";
- PL_halt(1);
- return boost::shared_ptr<DataModelImpl>();
- }
+ const char* swibin = getenv("SWI_BINARY");
+ if (swibin == NULL)
+ swibin = SWI_BINARY;
+ const char* quiet = "--quiet";
+
+ static char * av[] = {
+ (char*)swibin,
+ (char*)quiet,
+ // "-s",
+ // "/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl",
+ NULL
+ };
+ if(!PL_initialise(2,av)) {
+ LOG(ERROR) << "Error intializing prolog engine";
+ PL_halt(1);
+ return boost::shared_ptr<DataModelImpl>();
+ }
return dm;
}
@@ -96,49 +97,49 @@ uint32_t SWIDataModel::getLength(const std::string& expr) {
}
void SWIDataModel::eval(const std::string& expr) {
- URL localPLFile = URL::toLocalFile(expr, ".pl");
- PlCall("user", "load_files", PlTermv(localPLFile.asLocalFile(".pl").c_str())) || LOG(ERROR) << "Could not execute prolog from file";
+ URL localPLFile = URL::toLocalFile(expr, ".pl");
+ PlCall("user", "load_files", PlTermv(localPLFile.asLocalFile(".pl").c_str())) || LOG(ERROR) << "Could not execute prolog from file";
}
bool SWIDataModel::evalAsBool(const std::string& expr) {
- PlCompound compound(expr.c_str());
- PlTermv termv(compound.arity());
- for (int i = 0; i < compound.arity(); i++) {
- termv[i] = compound[i + 1];
- }
- PlQuery query(compound.name(), termv);
- return query.next_solution() > 0;
+ PlCompound compound(expr.c_str());
+ PlTermv termv(compound.arity());
+ for (int i = 0; i < compound.arity(); i++) {
+ termv[i] = compound[i + 1];
+ }
+ PlQuery query(compound.name(), termv);
+ return query.next_solution() > 0;
}
std::string SWIDataModel::evalAsString(const std::string& expr) {
- PlCompound compound(expr.c_str());
- if (strlen(compound.name())) {
- PlTermv termv(compound.arity());
- for (int i = 0; i < compound.arity(); i++) {
- termv[i] = compound[i + 1];
- }
- PlQuery query(compound.name(), termv);
-
- std::stringstream ss;
- while (query.next_solution()) {
- for (int i = 0; i < compound.arity(); i++) {
- const char* separator = "";
- ss << separator << (char *)termv[i];
- separator = ", ";
- }
- ss << std::endl;
- }
- return ss.str();
- }
+ PlCompound compound(expr.c_str());
+ if (strlen(compound.name())) {
+ PlTermv termv(compound.arity());
+ for (int i = 0; i < compound.arity(); i++) {
+ termv[i] = compound[i + 1];
+ }
+ PlQuery query(compound.name(), termv);
+
+ std::stringstream ss;
+ while (query.next_solution()) {
+ for (int i = 0; i < compound.arity(); i++) {
+ const char* separator = "";
+ ss << separator << (char *)termv[i];
+ separator = ", ";
+ }
+ ss << std::endl;
+ }
+ return ss.str();
+ }
return std::string(compound);
}
void SWIDataModel::assign(const std::string& location, const Data& data) {
- eval(data.atom);
+ eval(data.atom);
}
void SWIDataModel::assign(const std::string& location, const std::string& expr) {
- eval(expr);
+ eval(expr);
}
} \ No newline at end of file
diff --git a/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.cpp b/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.cpp
index d7e247b..6d2a8e2 100644
--- a/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.cpp
+++ b/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.cpp
@@ -11,117 +11,116 @@ CompositeDisplay::CompositeDisplay(unsigned int x,
unsigned int y,
unsigned int width,
unsigned int height,
- int screenId)
-{
- _waitForViewOp = false;
- unsigned int tWidth = 0;
- unsigned int tHeight = 0;
- getResolution(tWidth, tHeight, screenId);
-
- osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;
- traits->doubleBuffer = true;
- traits->sharedContext = 0;
- traits->screenNum = screenId;
-
- if (width == 0 || height == 0 || (width == tWidth && height == tHeight)) {
- // fullscreen
- traits->windowDecoration = false;
- traits->width = tWidth;
- traits->height = tHeight;
- traits->x = 0;
- traits->y = 0;
- } else {
- // Start with given resolution
- traits->windowDecoration = true;
- traits->x = x;
- traits->y = y;
- traits->width = width;
- traits->height = height;
- }
-
- _gc = osg::GraphicsContext::createGraphicsContext(traits.get());
- if (_gc.valid()) {
- _gc->setClearColor(osg::Vec4f(1.0f,1.0f,1.0f,1.0f));
- _gc->setClearMask(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- }
-
- _width = traits->width;
- _height = traits->height;
-
- setRunMaxFrameRate(30);
+ int screenId) {
+ _waitForViewOp = false;
+ unsigned int tWidth = 0;
+ unsigned int tHeight = 0;
+ getResolution(tWidth, tHeight, screenId);
+
+ osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;
+ traits->doubleBuffer = true;
+ traits->sharedContext = 0;
+ traits->screenNum = screenId;
+
+ if (width == 0 || height == 0 || (width == tWidth && height == tHeight)) {
+ // fullscreen
+ traits->windowDecoration = false;
+ traits->width = tWidth;
+ traits->height = tHeight;
+ traits->x = 0;
+ traits->y = 0;
+ } else {
+ // Start with given resolution
+ traits->windowDecoration = true;
+ traits->x = x;
+ traits->y = y;
+ traits->width = width;
+ traits->height = height;
+ }
+
+ _gc = osg::GraphicsContext::createGraphicsContext(traits.get());
+ if (_gc.valid()) {
+ _gc->setClearColor(osg::Vec4f(1.0f,1.0f,1.0f,1.0f));
+ _gc->setClearMask(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ }
+
+ _width = traits->width;
+ _height = traits->height;
+
+ setRunMaxFrameRate(30);
// setRunFrameScheme(osgViewer::ViewerBase::ON_DEMAND);
- setThreadingModel(osgViewer::Viewer::AutomaticSelection);
+ setThreadingModel(osgViewer::Viewer::AutomaticSelection);
}
CompositeDisplay::~CompositeDisplay() {}
void CompositeDisplay::frame(double simulationTime) {
- tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
- CompositeViewer::frame();
+ tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
+ CompositeViewer::frame();
}
bool CompositeDisplay::checkNeedToDoFrame() {
- return CompositeViewer::checkNeedToDoFrame();
+ return CompositeViewer::checkNeedToDoFrame();
}
void CompositeDisplay::addView(const std::string& name, osg::Viewport* v, osgViewer::View* view) {
- tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
+ tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
_viewports[name] = v;
-
+
_views[name] = view;
_views[name]->setName(name);
- _views[name]->getCamera()->setName(name);
- _views[name]->setCameraManipulator(new osgGA::TrackballManipulator);
-
- // add the state manipulator
- osg::ref_ptr<osgGA::StateSetManipulator> statesetManipulator = new osgGA::StateSetManipulator;
- statesetManipulator->setStateSet(_views[name]->getCamera()->getOrCreateStateSet());
- _views[name]->addEventHandler( statesetManipulator.get() );
+ _views[name]->getCamera()->setName(name);
+ _views[name]->setCameraManipulator(new osgGA::TrackballManipulator);
+
+ // add the state manipulator
+ osg::ref_ptr<osgGA::StateSetManipulator> statesetManipulator = new osgGA::StateSetManipulator;
+ statesetManipulator->setStateSet(_views[name]->getCamera()->getOrCreateStateSet());
+ _views[name]->addEventHandler( statesetManipulator.get() );
_views[name]->addEventHandler( new osgViewer::StatsHandler );
_views[name]->addEventHandler( new osgViewer::HelpHandler );
_views[name]->addEventHandler( new osgViewer::WindowSizeHandler );
_views[name]->addEventHandler( new osgViewer::ThreadingHandler );
-
- _views[name]->getCamera()->setViewport(v);
-
- // set graphic context
- _views[name]->getCamera()->setGraphicsContext(_gc.get());
- CompositeViewer::addView(_views[name]);
+
+ _views[name]->getCamera()->setViewport(v);
+
+ // set graphic context
+ _views[name]->getCamera()->setGraphicsContext(_gc.get());
+ CompositeViewer::addView(_views[name]);
}
-void CompositeDisplay::moveView(const std::string& name, osg::Viewport* v) {
- tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
- const osg::GraphicsContext::Traits* traits = _gc->getTraits();
- osg::Viewport* absoluteVp = new osg::Viewport(v->x() * (traits->width/100.0),
- v->y() * (traits->height/100.0),
- v->width() * (traits->width/100.0),
- v->height() * (traits->height/100.0));
- _views[name]->getCamera()->setViewport(absoluteVp);
+void CompositeDisplay::moveView(const std::string& name, osg::Viewport* v) {
+ tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
+ const osg::GraphicsContext::Traits* traits = _gc->getTraits();
+ osg::Viewport* absoluteVp = new osg::Viewport(v->x() * (traits->width/100.0),
+ v->y() * (traits->height/100.0),
+ v->width() * (traits->width/100.0),
+ v->height() * (traits->height/100.0));
+ _views[name]->getCamera()->setViewport(absoluteVp);
}
void CompositeDisplay::removeView(const std::string& name) {
- tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
-
- _views[name]->getCamera()->setGraphicsContext(NULL);
- _views[name]->getCamera()->setViewport(NULL);
+ tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
+
+ _views[name]->getCamera()->setGraphicsContext(NULL);
+ _views[name]->getCamera()->setViewport(NULL);
CompositeViewer::removeView(_views[name]);
-
+
if (_views.find(name) != _views.end()) {
_views.erase(name);
- }
+ }
if (_viewports.find(name) != _viewports.end())
_viewports.erase(name);
}
osg::GraphicsContext::WindowingSystemInterface* CompositeDisplay::wsi = NULL;
void CompositeDisplay::getResolution(unsigned int& width, unsigned int& height, int screenId) {
- if (!wsi)
- wsi = osg::GraphicsContext::getWindowingSystemInterface();
+ if (!wsi)
+ wsi = osg::GraphicsContext::getWindowingSystemInterface();
if (wsi) {
- wsi->getScreenResolution(osg::GraphicsContext::ScreenIdentifier(screenId), width, height);
+ wsi->getScreenResolution(osg::GraphicsContext::ScreenIdentifier(screenId), width, height);
} else {
width = 800;
height = 600;
diff --git a/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.h b/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.h
index 0d08c7f..b524777 100644
--- a/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.h
+++ b/src/uscxml/plugins/invoker/graphics/openscenegraph/CompositeDisplay.h
@@ -11,36 +11,40 @@
#include <iostream>
class CompositeDisplay : public osgViewer::CompositeViewer {
-public:
- CompositeDisplay(unsigned int x,
- unsigned int y,
- unsigned int width,
- unsigned int height,
- int screenId);
+public:
+ CompositeDisplay(unsigned int x,
+ unsigned int y,
+ unsigned int width,
+ unsigned int height,
+ int screenId);
virtual ~CompositeDisplay();
-
+
virtual void addView(const std::string& name, osg::Viewport* v, osgViewer::View* view);
- virtual void moveView(const std::string& name, osg::Viewport* v);
+ virtual void moveView(const std::string& name, osg::Viewport* v);
virtual void removeView(const std::string& name);
-
- virtual void frame(double simulationTime);
- virtual bool checkNeedToDoFrame();
-
- int getWidth() { return _width; }
- int getHeight() { return _height; }
-
- static void getResolution(unsigned int& width, unsigned int& height, int screenId);
-
+
+ virtual void frame(double simulationTime);
+ virtual bool checkNeedToDoFrame();
+
+ int getWidth() {
+ return _width;
+ }
+ int getHeight() {
+ return _height;
+ }
+
+ static void getResolution(unsigned int& width, unsigned int& height, int screenId);
+
protected:
- tthread::recursive_mutex _mutex;
- tthread::condition_variable _monitor;
- bool _waitForViewOp;
+ tthread::recursive_mutex _mutex;
+ tthread::condition_variable _monitor;
+ bool _waitForViewOp;
std::map<std::string, osgViewer::View*> _views;
std::map<std::string, osg::Viewport*> _viewports;
- osg::ref_ptr<osg::GraphicsContext> _gc;
+ osg::ref_ptr<osg::GraphicsContext> _gc;
- static osg::GraphicsContext::WindowingSystemInterface* wsi;
- int _width, _height;
+ static osg::GraphicsContext::WindowingSystemInterface* wsi;
+ int _width, _height;
};
diff --git a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.cpp b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.cpp
index 08fc1f3..9e584c3 100644
--- a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.cpp
+++ b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.cpp
@@ -7,7 +7,7 @@
#endif
namespace uscxml {
-
+
#ifdef BUILD_AS_PLUGINS
PLUMA_CONNECTOR
bool connect(pluma::Host& host) {
@@ -15,7 +15,7 @@ bool connect(pluma::Host& host) {
return true;
}
#endif
-
+
OSGInvoker::OSGInvoker() {
}
@@ -43,288 +43,288 @@ void OSGInvoker::sendToParent(const SendRequest& req) {
}
void OSGInvoker::invoke(const InvokeRequest& req) {
- tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
-
- // register default event handlers
- Arabica::DOM::Events::EventTarget<std::string> evTarget = Arabica::DOM::Events::EventTarget<std::string>(req.dom);
- evTarget.addEventListener("DOMSubtreeModified", *this, false);
- evTarget.addEventListener("DOMNodeInserted", *this, false);
- evTarget.addEventListener("DOMNodeRemoved", *this, false);
- evTarget.addEventListener("DOMAttrModified", *this, false);
-
- Arabica::XPath::NodeSet<std::string> content = Interpreter::filterChildElements("content", req.dom);
-
- std::set<std::string> validChilds;
- validChilds.insert("display");
- processChildren(validChilds, content[0]);
+ tthread::lock_guard<tthread::recursive_mutex> lock(_mutex);
+
+ // register default event handlers
+ Arabica::DOM::Events::EventTarget<std::string> evTarget = Arabica::DOM::Events::EventTarget<std::string>(req.dom);
+ evTarget.addEventListener("DOMSubtreeModified", *this, false);
+ evTarget.addEventListener("DOMNodeInserted", *this, false);
+ evTarget.addEventListener("DOMNodeRemoved", *this, false);
+ evTarget.addEventListener("DOMAttrModified", *this, false);
+
+ Arabica::XPath::NodeSet<std::string> content = Interpreter::filterChildElements("content", req.dom);
+
+ std::set<std::string> validChilds;
+ validChilds.insert("display");
+ processChildren(validChilds, content[0]);
}
void OSGInvoker::runOnMainThread() {
- _displays_t::iterator dispIter = _displays.begin();
- if (_mutex.try_lock()) {
- while(dispIter != _displays.end()) {
- dispIter->second->osgViewer::ViewerBase::frame();
- dispIter++;
- }
- _mutex.unlock();
- }
+ _displays_t::iterator dispIter = _displays.begin();
+ if (_mutex.try_lock()) {
+ while(dispIter != _displays.end()) {
+ dispIter->second->osgViewer::ViewerBase::frame();
+ dispIter++;
+ }
+ _mutex.unlock();
+ }
}
void OSGInvoker::handleEvent(Arabica::DOM::Events::Event<std::string>& event) {
// std::cout << "Handling Event!" << std::endl;
- Arabica::DOM::Node<std::string> node(event.getTarget());
- if (_nodes.find(node) != _nodes.end()) {
- osg::Node* osgNode = _nodes[node];
- if (false) {
- } else if (boost::iequals(LOCALNAME(node), "rotation")) {
- updateRotation(osgNode, event);
- }
- }
+ Arabica::DOM::Node<std::string> node(event.getTarget());
+ if (_nodes.find(node) != _nodes.end()) {
+ osg::Node* osgNode = _nodes[node];
+ if (false) {
+ } else if (boost::iequals(LOCALNAME(node), "rotation")) {
+ updateRotation(osgNode, event);
+ }
+ }
}
void OSGInvoker::processDisplay(const Arabica::DOM::Node<std::string>& element) {
// std::cout << element << std::endl;
- if (_displays.find(element) == _displays.end()) {
-
- int screenId = 0;
- unsigned int actualX = 0;
- unsigned int actualY = 0;
- unsigned int actualWidth = 0;
- unsigned int actualHeight = 0;
- getViewport(element, actualX, actualY, actualWidth, actualHeight, screenId);
-
- CompositeDisplay* compDisp = new CompositeDisplay(actualX, actualY, actualWidth, actualHeight, screenId);
- _displays[element] = compDisp;
-
- std::set<std::string> validChilds;
- validChilds.insert("viewport");
- processChildren(validChilds, element);
- }
+ if (_displays.find(element) == _displays.end()) {
+
+ int screenId = 0;
+ unsigned int actualX = 0;
+ unsigned int actualY = 0;
+ unsigned int actualWidth = 0;
+ unsigned int actualHeight = 0;
+ getViewport(element, actualX, actualY, actualWidth, actualHeight, screenId);
+
+ CompositeDisplay* compDisp = new CompositeDisplay(actualX, actualY, actualWidth, actualHeight, screenId);
+ _displays[element] = compDisp;
+
+ std::set<std::string> validChilds;
+ validChilds.insert("viewport");
+ processChildren(validChilds, element);
+ }
}
void OSGInvoker::processViewport(const Arabica::DOM::Node<std::string>& element) {
- if (_displays.find(element.getParentNode()) == _displays.end())
- return;
-
- CompositeDisplay* compDisp = _displays[element.getParentNode()];
- osgViewer::View* sceneView = new osgViewer::View();
- _views[element] = sceneView;
-
- osg::Group* group = new osg::Group();
- _nodes[element] = group;
- sceneView->setSceneData(group);
-
- std::string name = (HAS_ATTR(element, "id") ? ATTR(element, "id") : Interpreter::getUUID());
-
- unsigned int actualX = 0;
- unsigned int actualY = 0;
- unsigned int actualWidth = 0;
- unsigned int actualHeight = 0;
- getViewport(element, actualX, actualY, actualWidth, actualHeight, compDisp);
-
- osg::Viewport* viewPort = new osg::Viewport(actualX, actualY, actualWidth, actualHeight);
- compDisp->addView(name, viewPort, sceneView);
-
- std::set<std::string> validChilds;
- validChilds.insert("camera");
- validChilds.insert("translation");
- validChilds.insert("rotation");
- validChilds.insert("scale");
- validChilds.insert("node");
- processChildren(validChilds, element);
+ if (_displays.find(element.getParentNode()) == _displays.end())
+ return;
+
+ CompositeDisplay* compDisp = _displays[element.getParentNode()];
+ osgViewer::View* sceneView = new osgViewer::View();
+ _views[element] = sceneView;
+
+ osg::Group* group = new osg::Group();
+ _nodes[element] = group;
+ sceneView->setSceneData(group);
+
+ std::string name = (HAS_ATTR(element, "id") ? ATTR(element, "id") : Interpreter::getUUID());
+
+ unsigned int actualX = 0;
+ unsigned int actualY = 0;
+ unsigned int actualWidth = 0;
+ unsigned int actualHeight = 0;
+ getViewport(element, actualX, actualY, actualWidth, actualHeight, compDisp);
+
+ osg::Viewport* viewPort = new osg::Viewport(actualX, actualY, actualWidth, actualHeight);
+ compDisp->addView(name, viewPort, sceneView);
+
+ std::set<std::string> validChilds;
+ validChilds.insert("camera");
+ validChilds.insert("translation");
+ validChilds.insert("rotation");
+ validChilds.insert("scale");
+ validChilds.insert("node");
+ processChildren(validChilds, element);
}
void OSGInvoker::processCamera(const Arabica::DOM::Node<std::string>& element) {}
void OSGInvoker::updateCamera(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event) {}
void OSGInvoker::processTranslation(const Arabica::DOM::Node<std::string>& element) {
- assert(_nodes.find(element.getParentNode()) != _nodes.end());
- osg::Node* node = _nodes[element.getParentNode()];
-
- double x = 0, y = 0, z = 0;
- if (HAS_ATTR(element, "x"))
- x = strTo<float>(ATTR(element, "x"));
- if (HAS_ATTR(element, "y"))
- y = strTo<float>(ATTR(element, "y"));
- if (HAS_ATTR(element, "z"))
- z = strTo<float>(ATTR(element, "z"));
-
- osg::Matrix translate;
- translate.makeTranslate(x, y, z);
-
- osg::MatrixTransform* transform = new osg::MatrixTransform();
- transform->setMatrix(translate);
- node->asGroup()->addChild(transform);
- _nodes[element] = transform;
-
- std::set<std::string> validChilds;
- validChilds.insert("translation");
- validChilds.insert("rotation");
- validChilds.insert("scale");
- validChilds.insert("node");
- processChildren(validChilds, element);
+ assert(_nodes.find(element.getParentNode()) != _nodes.end());
+ osg::Node* node = _nodes[element.getParentNode()];
+
+ double x = 0, y = 0, z = 0;
+ if (HAS_ATTR(element, "x"))
+ x = strTo<float>(ATTR(element, "x"));
+ if (HAS_ATTR(element, "y"))
+ y = strTo<float>(ATTR(element, "y"));
+ if (HAS_ATTR(element, "z"))
+ z = strTo<float>(ATTR(element, "z"));
+
+ osg::Matrix translate;
+ translate.makeTranslate(x, y, z);
+
+ osg::MatrixTransform* transform = new osg::MatrixTransform();
+ transform->setMatrix(translate);
+ node->asGroup()->addChild(transform);
+ _nodes[element] = transform;
+
+ std::set<std::string> validChilds;
+ validChilds.insert("translation");
+ validChilds.insert("rotation");
+ validChilds.insert("scale");
+ validChilds.insert("node");
+ processChildren(validChilds, element);
}
void OSGInvoker::processRotation(const Arabica::DOM::Node<std::string>& element) {
- assert(_nodes.find(element.getParentNode()) != _nodes.end());
- osg::Node* node = _nodes[element.getParentNode()];
-
- osg::Matrix rotation = rotationFromElement(element);
- osg::MatrixTransform* transform = new osg::MatrixTransform();
- transform->setMatrix(rotation);
- node->asGroup()->addChild(transform);
- _nodes[element] = transform;
-
- std::set<std::string> validChilds;
- validChilds.insert("translation");
- validChilds.insert("rotation");
- validChilds.insert("scale");
- validChilds.insert("node");
- processChildren(validChilds, element);
+ assert(_nodes.find(element.getParentNode()) != _nodes.end());
+ osg::Node* node = _nodes[element.getParentNode()];
+
+ osg::Matrix rotation = rotationFromElement(element);
+ osg::MatrixTransform* transform = new osg::MatrixTransform();
+ transform->setMatrix(rotation);
+ node->asGroup()->addChild(transform);
+ _nodes[element] = transform;
+
+ std::set<std::string> validChilds;
+ validChilds.insert("translation");
+ validChilds.insert("rotation");
+ validChilds.insert("scale");
+ validChilds.insert("node");
+ processChildren(validChilds, element);
}
void OSGInvoker::updateRotation(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event) {
- osg::MatrixTransform* transform = static_cast<osg::MatrixTransform*>(node);
- if (false) {
- } else if (boost::iequals(event.getType(), "DOMAttrModified")) {
- osg::Matrix rotation = rotationFromElement(Arabica::DOM::Node<std::string>(event.getTarget()));
- transform->setMatrix(rotation);
- }
+ osg::MatrixTransform* transform = static_cast<osg::MatrixTransform*>(node);
+ if (false) {
+ } else if (boost::iequals(event.getType(), "DOMAttrModified")) {
+ osg::Matrix rotation = rotationFromElement(Arabica::DOM::Node<std::string>(event.getTarget()));
+ transform->setMatrix(rotation);
+ }
}
osg::Matrix OSGInvoker::rotationFromElement(const Arabica::DOM::Node<std::string>& element) {
- double pitch = 0, roll = 0, yaw = 0;
- if (HAS_ATTR(element, "pitch")) {
- NumAttr pitchAttr = NumAttr(ATTR(element, "pitch"));
- if (boost::iequals(pitchAttr.unit, "deg")) {
- pitch = osg::DegreesToRadians(strTo<float>(pitchAttr.value));
- } else if (boost::iequals(pitchAttr.unit, "%")) {
- pitch = osg::DegreesToRadians((strTo<float>(pitchAttr.value) * 360) / 100);
- } else {
- pitch = strTo<float>(pitchAttr.value);
- }
- }
- if (HAS_ATTR(element, "roll")) {
- NumAttr rollAttr = NumAttr(ATTR(element, "roll"));
- if (boost::iequals(rollAttr.unit, "deg")) {
- roll = osg::DegreesToRadians(strTo<float>(rollAttr.value));
- } else if (boost::iequals(rollAttr.unit, "%")) {
- roll = osg::DegreesToRadians((strTo<float>(rollAttr.value) * 360) / 100);
- } else {
- roll = strTo<float>(rollAttr.value);
- }
- }
- if (HAS_ATTR(element, "yaw")) {
- NumAttr yawAttr = NumAttr(ATTR(element, "yaw"));
- if (boost::iequals(yawAttr.unit, "deg")) {
- yaw = osg::DegreesToRadians(strTo<float>(yawAttr.value));
- } else if (boost::iequals(yawAttr.unit, "%")) {
- yaw = osg::DegreesToRadians((strTo<float>(yawAttr.value) * 360) / 100);
- } else {
- yaw = strTo<float>(yawAttr.value);
- }
- }
-
- osg::Matrix rotation;
- rotation.makeRotate(roll, osg::Vec3(0,1,0), // roll
- pitch, osg::Vec3(1,0,0) , // pitch
- yaw, osg::Vec3(0,0,1) ); // heading
-
- return rotation;
+ double pitch = 0, roll = 0, yaw = 0;
+ if (HAS_ATTR(element, "pitch")) {
+ NumAttr pitchAttr = NumAttr(ATTR(element, "pitch"));
+ if (boost::iequals(pitchAttr.unit, "deg")) {
+ pitch = osg::DegreesToRadians(strTo<float>(pitchAttr.value));
+ } else if (boost::iequals(pitchAttr.unit, "%")) {
+ pitch = osg::DegreesToRadians((strTo<float>(pitchAttr.value) * 360) / 100);
+ } else {
+ pitch = strTo<float>(pitchAttr.value);
+ }
+ }
+ if (HAS_ATTR(element, "roll")) {
+ NumAttr rollAttr = NumAttr(ATTR(element, "roll"));
+ if (boost::iequals(rollAttr.unit, "deg")) {
+ roll = osg::DegreesToRadians(strTo<float>(rollAttr.value));
+ } else if (boost::iequals(rollAttr.unit, "%")) {
+ roll = osg::DegreesToRadians((strTo<float>(rollAttr.value) * 360) / 100);
+ } else {
+ roll = strTo<float>(rollAttr.value);
+ }
+ }
+ if (HAS_ATTR(element, "yaw")) {
+ NumAttr yawAttr = NumAttr(ATTR(element, "yaw"));
+ if (boost::iequals(yawAttr.unit, "deg")) {
+ yaw = osg::DegreesToRadians(strTo<float>(yawAttr.value));
+ } else if (boost::iequals(yawAttr.unit, "%")) {
+ yaw = osg::DegreesToRadians((strTo<float>(yawAttr.value) * 360) / 100);
+ } else {
+ yaw = strTo<float>(yawAttr.value);
+ }
+ }
+
+ osg::Matrix rotation;
+ rotation.makeRotate(roll, osg::Vec3(0,1,0), // roll
+ pitch, osg::Vec3(1,0,0) , // pitch
+ yaw, osg::Vec3(0,0,1) ); // heading
+
+ return rotation;
}
void OSGInvoker::processScale(const Arabica::DOM::Node<std::string>& element) {
- assert(_nodes.find(element.getParentNode()) != _nodes.end());
- osg::Node* node = _nodes[element.getParentNode()];
-
- double x = 1, y = 1, z = 1;
- if (HAS_ATTR(element, "x"))
- x = strTo<float>(ATTR(element, "x"));
- if (HAS_ATTR(element, "y"))
- y = strTo<float>(ATTR(element, "y"));
- if (HAS_ATTR(element, "z"))
- z = strTo<float>(ATTR(element, "z"));
-
- osg::Matrix scale;
- scale.makeScale(x, y, z);
-
- osg::MatrixTransform* transform = new osg::MatrixTransform();
- transform->setMatrix(scale);
- node->asGroup()->addChild(transform);
- _nodes[element] = transform;
-
- std::set<std::string> validChilds;
- validChilds.insert("translation");
- validChilds.insert("rotation");
- validChilds.insert("scale");
- validChilds.insert("node");
- processChildren(validChilds, element);
+ assert(_nodes.find(element.getParentNode()) != _nodes.end());
+ osg::Node* node = _nodes[element.getParentNode()];
+
+ double x = 1, y = 1, z = 1;
+ if (HAS_ATTR(element, "x"))
+ x = strTo<float>(ATTR(element, "x"));
+ if (HAS_ATTR(element, "y"))
+ y = strTo<float>(ATTR(element, "y"));
+ if (HAS_ATTR(element, "z"))
+ z = strTo<float>(ATTR(element, "z"));
+
+ osg::Matrix scale;
+ scale.makeScale(x, y, z);
+
+ osg::MatrixTransform* transform = new osg::MatrixTransform();
+ transform->setMatrix(scale);
+ node->asGroup()->addChild(transform);
+ _nodes[element] = transform;
+
+ std::set<std::string> validChilds;
+ validChilds.insert("translation");
+ validChilds.insert("rotation");
+ validChilds.insert("scale");
+ validChilds.insert("node");
+ processChildren(validChilds, element);
}
void OSGInvoker::processNode(const Arabica::DOM::Node<std::string>& element) {
- _nodes_t::iterator nodeIter = _nodes.find(element.getParentNode());
- assert(nodeIter != _nodes.end());
-
- assert(_nodes.find(element.getParentNode()) != _nodes.end());
- osg::Node* parent = _nodes[element.getParentNode()];
-
- std::string filename;
- if (HAS_ATTR(element, "src")) {
- filename = ATTR(element, "src");
-
- if (filename.length() > 0) {
- std::string extension;
- size_t extensionStart = filename.find_last_of(".");
- if (extensionStart != std::string::npos) {
- extension = filename.substr(extensionStart);
- }
-
- URL srcURI(filename);
- if (!srcURI.toAbsolute(_interpreter->getBaseURI())) {
- LOG(ERROR) << "invoke element has relative src URI with no baseURI set.";
- return;
- }
- filename = srcURI.asLocalFile(extension);
- osg::ref_ptr<osg::Node> model = osgDB::readNodeFile(filename);
- if (model.get())
- parent->asGroup()->addChild(model);
-
- }
- }
+ _nodes_t::iterator nodeIter = _nodes.find(element.getParentNode());
+ assert(nodeIter != _nodes.end());
+
+ assert(_nodes.find(element.getParentNode()) != _nodes.end());
+ osg::Node* parent = _nodes[element.getParentNode()];
+
+ std::string filename;
+ if (HAS_ATTR(element, "src")) {
+ filename = ATTR(element, "src");
+
+ if (filename.length() > 0) {
+ std::string extension;
+ size_t extensionStart = filename.find_last_of(".");
+ if (extensionStart != std::string::npos) {
+ extension = filename.substr(extensionStart);
+ }
+
+ URL srcURI(filename);
+ if (!srcURI.toAbsolute(_interpreter->getBaseURI())) {
+ LOG(ERROR) << "invoke element has relative src URI with no baseURI set.";
+ return;
+ }
+ filename = srcURI.asLocalFile(extension);
+ osg::ref_ptr<osg::Node> model = osgDB::readNodeFile(filename);
+ if (model.get())
+ parent->asGroup()->addChild(model);
+
+ }
+ }
}
void OSGInvoker::processChildren(const std::set<std::string>& validChildren, const Arabica::DOM::Node<std::string>& element) {
- Arabica::DOM::NodeList<std::string> childs = element.getChildNodes();
- for (int i = 0; i < childs.getLength(); ++i) {
- if (childs.item(i).getNodeType() != Arabica::DOM::Node_base::ELEMENT_NODE)
- continue;
- if (false) {
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "node") &&
- validChildren.find("node") != validChildren.end()) {
- processNode(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "translation") &&
- validChildren.find("translation") != validChildren.end()) {
- processTranslation(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "rotation") &&
- validChildren.find("rotation") != validChildren.end()) {
- processRotation(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "scale") &&
- validChildren.find("scale") != validChildren.end()) {
- processScale(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "viewport") &&
- validChildren.find("viewport") != validChildren.end()) {
- processViewport(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "camera") &&
- validChildren.find("camera") != validChildren.end()) {
- processCamera(childs.item(i));
- } else if (boost::iequals(LOCALNAME(childs.item(i)), "display") &&
- validChildren.find("display") != validChildren.end()) {
- processDisplay(childs.item(i));
- } else {
- LOG(INFO) << "Unknown XML element " << TAGNAME(childs.item(i));
- }
- }
+ Arabica::DOM::NodeList<std::string> childs = element.getChildNodes();
+ for (int i = 0; i < childs.getLength(); ++i) {
+ if (childs.item(i).getNodeType() != Arabica::DOM::Node_base::ELEMENT_NODE)
+ continue;
+ if (false) {
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "node") &&
+ validChildren.find("node") != validChildren.end()) {
+ processNode(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "translation") &&
+ validChildren.find("translation") != validChildren.end()) {
+ processTranslation(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "rotation") &&
+ validChildren.find("rotation") != validChildren.end()) {
+ processRotation(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "scale") &&
+ validChildren.find("scale") != validChildren.end()) {
+ processScale(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "viewport") &&
+ validChildren.find("viewport") != validChildren.end()) {
+ processViewport(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "camera") &&
+ validChildren.find("camera") != validChildren.end()) {
+ processCamera(childs.item(i));
+ } else if (boost::iequals(LOCALNAME(childs.item(i)), "display") &&
+ validChildren.find("display") != validChildren.end()) {
+ processDisplay(childs.item(i));
+ } else {
+ LOG(INFO) << "Unknown XML element " << TAGNAME(childs.item(i));
+ }
+ }
}
void OSGInvoker::getViewport(const Arabica::DOM::Node<std::string>& element,
@@ -333,7 +333,7 @@ void OSGInvoker::getViewport(const Arabica::DOM::Node<std::string>& element,
unsigned int& width,
unsigned int& height,
CompositeDisplay* display) {
- getViewport(element, x, y, width, height, display->getWidth(), display->getHeight());
+ getViewport(element, x, y, width, height, display->getWidth(), display->getHeight());
}
@@ -342,15 +342,14 @@ void OSGInvoker::getViewport(const Arabica::DOM::Node<std::string>& element,
unsigned int& y,
unsigned int& width,
unsigned int& height,
- int& screenId)
-{
-
- screenId = (HAS_ATTR(element, "screenId") ? strTo<int>(ATTR(element, "screenId")) : 0);
-
- unsigned int fullWidth = 0;
- unsigned int fullHeight = 0;
- CompositeDisplay::getResolution(fullWidth, fullHeight, screenId);
- getViewport(element, x, y, width, height, fullWidth, fullHeight);
+ int& screenId) {
+
+ screenId = (HAS_ATTR(element, "screenId") ? strTo<int>(ATTR(element, "screenId")) : 0);
+
+ unsigned int fullWidth = 0;
+ unsigned int fullHeight = 0;
+ CompositeDisplay::getResolution(fullWidth, fullHeight, screenId);
+ getViewport(element, x, y, width, height, fullWidth, fullHeight);
}
void OSGInvoker::getViewport(const Arabica::DOM::Node<std::string>& element,
@@ -359,43 +358,42 @@ void OSGInvoker::getViewport(const Arabica::DOM::Node<std::string>& element,
unsigned int& width,
unsigned int& height,
unsigned int fullWidth,
- unsigned int fullHeight)
-{
- if (HAS_ATTR(element, "x")) {
- NumAttr xAttr = NumAttr(ATTR(element, "x"));
- x = strTo<float>(xAttr.value);
- if (boost::iequals(xAttr.unit, "%"))
- x = (x * fullWidth) / 100;
- }
- if (HAS_ATTR(element, "y")) {
- NumAttr yAttr = NumAttr(ATTR(element, "y"));
- y = strTo<float>(yAttr.value);
- if (boost::iequals(yAttr.unit, "%"))
- y = (y * fullHeight) / 100;
- }
- if (HAS_ATTR(element, "width")) {
- NumAttr widthAttr = NumAttr(ATTR(element, "width"));
- width = strTo<float>(widthAttr.value);
- if (boost::iequals(widthAttr.unit, "%"))
- width = (width * fullWidth) / 100;
- }
- if (HAS_ATTR(element, "height")) {
- NumAttr heightAttr = NumAttr(ATTR(element, "height"));
- height = strTo<float>(heightAttr.value);
- if (boost::iequals(heightAttr.unit, "%"))
- height = (height * fullHeight) / 100;
- }
+ unsigned int fullHeight) {
+ if (HAS_ATTR(element, "x")) {
+ NumAttr xAttr = NumAttr(ATTR(element, "x"));
+ x = strTo<float>(xAttr.value);
+ if (boost::iequals(xAttr.unit, "%"))
+ x = (x * fullWidth) / 100;
+ }
+ if (HAS_ATTR(element, "y")) {
+ NumAttr yAttr = NumAttr(ATTR(element, "y"));
+ y = strTo<float>(yAttr.value);
+ if (boost::iequals(yAttr.unit, "%"))
+ y = (y * fullHeight) / 100;
+ }
+ if (HAS_ATTR(element, "width")) {
+ NumAttr widthAttr = NumAttr(ATTR(element, "width"));
+ width = strTo<float>(widthAttr.value);
+ if (boost::iequals(widthAttr.unit, "%"))
+ width = (width * fullWidth) / 100;
+ }
+ if (HAS_ATTR(element, "height")) {
+ NumAttr heightAttr = NumAttr(ATTR(element, "height"));
+ height = strTo<float>(heightAttr.value);
+ if (boost::iequals(heightAttr.unit, "%"))
+ height = (height * fullHeight) / 100;
+ }
}
osgViewer::View* OSGInvoker::getView(const Arabica::DOM::Node<std::string>& element) {
- Arabica::DOM::Node<std::string> curr = element;
- while(curr && !boost::iequals(LOCALNAME(curr), "viewport")) {
- curr = curr.getParentNode();
- }
- if (curr && _views.find(curr) != _views.end())
- return _views[curr];
- return NULL;
+ Arabica::DOM::Node<std::string> curr = element;
+ while(curr && !boost::iequals(LOCALNAME(curr), "viewport")) {
+ curr = curr.getParentNode();
+ }
+ if (curr && _views.find(curr) != _views.end())
+ return _views[curr];
+ return NULL;
}
-
+
} \ No newline at end of file
diff --git a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h
index aca54ec..e65bff8 100644
--- a/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h
+++ b/src/uscxml/plugins/invoker/graphics/openscenegraph/OSGInvoker.h
@@ -35,64 +35,64 @@ public:
virtual void cancel(const std::string sendId);
virtual void invoke(const InvokeRequest& req);
virtual void sendToParent(const SendRequest& req);
- virtual void handleEvent(Arabica::DOM::Events::Event<std::string>& event);
+ virtual void handleEvent(Arabica::DOM::Events::Event<std::string>& event);
- virtual void runOnMainThread();
+ virtual void runOnMainThread();
protected:
- void processDisplay(const Arabica::DOM::Node<std::string>& element);
- void updateDisplay(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
- void processViewport(const Arabica::DOM::Node<std::string>& element);
- void updateViewport(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
- void processCamera(const Arabica::DOM::Node<std::string>& element);
- void updateCamera(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
-
- void processTranslation(const Arabica::DOM::Node<std::string>& element);
- void updateTranslation(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
-
- void processRotation(const Arabica::DOM::Node<std::string>& element);
- void updateRotation(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
- static osg::Matrix rotationFromElement(const Arabica::DOM::Node<std::string>& element);
-
- void processScale(const Arabica::DOM::Node<std::string>& element);
- void updateScale(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
- void processNode(const Arabica::DOM::Node<std::string>& element);
- void updateNode(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
-
- void processChildren(const std::set<std::string>& validChildren, const Arabica::DOM::Node<std::string>& element);
-
- void getViewport(const Arabica::DOM::Node<std::string>& element,
- unsigned int& x,
- unsigned int& y,
- unsigned int& width,
- unsigned int& height,
- int& screenId);
-
- void getViewport(const Arabica::DOM::Node<std::string>& element,
- unsigned int& x,
- unsigned int& y,
- unsigned int& width,
- unsigned int& height,
- CompositeDisplay* display);
-
- void getViewport(const Arabica::DOM::Node<std::string>& element,
- unsigned int& x,
- unsigned int& y,
- unsigned int& width,
- unsigned int& height,
- unsigned int fullWidth,
- unsigned int fullHeight);
-
- osgViewer::View* getView(const Arabica::DOM::Node<std::string>& element);
-
- std::map<Arabica::DOM::Node<std::string>, CompositeDisplay*> _displays;
- typedef std::map<Arabica::DOM::Node<std::string>, CompositeDisplay*> _displays_t;
-
- std::map<Arabica::DOM::Node<std::string>, osgViewer::View*> _views;
- typedef std::map<Arabica::DOM::Node<std::string>, osgViewer::View*> _views_t;
-
- std::map<Arabica::DOM::Node<std::string>, osg::Node*> _nodes;
- typedef std::map<Arabica::DOM::Node<std::string>, osg::Node*> _nodes_t;
+ void processDisplay(const Arabica::DOM::Node<std::string>& element);
+ void updateDisplay(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+ void processViewport(const Arabica::DOM::Node<std::string>& element);
+ void updateViewport(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+ void processCamera(const Arabica::DOM::Node<std::string>& element);
+ void updateCamera(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+
+ void processTranslation(const Arabica::DOM::Node<std::string>& element);
+ void updateTranslation(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+
+ void processRotation(const Arabica::DOM::Node<std::string>& element);
+ void updateRotation(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+ static osg::Matrix rotationFromElement(const Arabica::DOM::Node<std::string>& element);
+
+ void processScale(const Arabica::DOM::Node<std::string>& element);
+ void updateScale(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+ void processNode(const Arabica::DOM::Node<std::string>& element);
+ void updateNode(osg::Node* node, Arabica::DOM::Events::Event<std::string>& event);
+
+ void processChildren(const std::set<std::string>& validChildren, const Arabica::DOM::Node<std::string>& element);
+
+ void getViewport(const Arabica::DOM::Node<std::string>& element,
+ unsigned int& x,
+ unsigned int& y,
+ unsigned int& width,
+ unsigned int& height,
+ int& screenId);
+
+ void getViewport(const Arabica::DOM::Node<std::string>& element,
+ unsigned int& x,
+ unsigned int& y,
+ unsigned int& width,
+ unsigned int& height,
+ CompositeDisplay* display);
+
+ void getViewport(const Arabica::DOM::Node<std::string>& element,
+ unsigned int& x,
+ unsigned int& y,
+ unsigned int& width,
+ unsigned int& height,
+ unsigned int fullWidth,
+ unsigned int fullHeight);
+
+ osgViewer::View* getView(const Arabica::DOM::Node<std::string>& element);
+
+ std::map<Arabica::DOM::Node<std::string>, CompositeDisplay*> _displays;
+ typedef std::map<Arabica::DOM::Node<std::string>, CompositeDisplay*> _displays_t;
+
+ std::map<Arabica::DOM::Node<std::string>, osgViewer::View*> _views;
+ typedef std::map<Arabica::DOM::Node<std::string>, osgViewer::View*> _views_t;
+
+ std::map<Arabica::DOM::Node<std::string>, osg::Node*> _nodes;
+ typedef std::map<Arabica::DOM::Node<std::string>, osg::Node*> _nodes_t;
tthread::recursive_mutex _mutex;
std::string _invokeId;
diff --git a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp
index 65eed78..a983d58 100644
--- a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp
+++ b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp
@@ -36,58 +36,58 @@ void HeartbeatInvoker::send(const SendRequest& req) {
}
void HeartbeatInvoker::cancel(const std::string sendId) {
- HeartbeatDispatcher::getInstance()->cancelEvent(toStr(this));
+ HeartbeatDispatcher::getInstance()->cancelEvent(toStr(this));
}
void HeartbeatInvoker::sendToParent(const SendRequest& req) {
}
void HeartbeatInvoker::invoke(const InvokeRequest& req) {
- _invokeId = req.invokeid;
- _event.invokeid = _invokeId;
- std::string intervalStr;
- double interval = 0;
- unsigned long intervalMs = 0;
- InvokeRequest::params_t::const_iterator paramIter = req.params.begin();
- while(paramIter != req.params.end()) {
- if (boost::iequals(paramIter->first, "interval")) {
- intervalStr = paramIter->second;
- NumAttr intervalAttr(paramIter->second);
- interval = strTo<double>(intervalAttr.value);
- if (false) {
- } else if (boost::iequals(intervalAttr.unit, "s")) {
- intervalMs = interval * 1000;
- } else if (boost::iequals(intervalAttr.unit, "ms")) {
- intervalMs = interval;
- } else {
- intervalMs = interval;
- }
- }
- if (boost::iequals(paramIter->first, "eventname")) {
- _event.name = paramIter->second;
- }
- paramIter++;
- }
- if (_event.name.length() == 0)
- _event.name = std::string("heartbeat." + intervalStr);
-
- if (intervalMs > 0) {
- HeartbeatDispatcher::getInstance()->addEvent(toStr(this), HeartbeatInvoker::dispatch, intervalMs, this, true);
- }
+ _invokeId = req.invokeid;
+ _event.invokeid = _invokeId;
+ std::string intervalStr;
+ double interval = 0;
+ unsigned long intervalMs = 0;
+ InvokeRequest::params_t::const_iterator paramIter = req.params.begin();
+ while(paramIter != req.params.end()) {
+ if (boost::iequals(paramIter->first, "interval")) {
+ intervalStr = paramIter->second;
+ NumAttr intervalAttr(paramIter->second);
+ interval = strTo<double>(intervalAttr.value);
+ if (false) {
+ } else if (boost::iequals(intervalAttr.unit, "s")) {
+ intervalMs = interval * 1000;
+ } else if (boost::iequals(intervalAttr.unit, "ms")) {
+ intervalMs = interval;
+ } else {
+ intervalMs = interval;
+ }
+ }
+ if (boost::iequals(paramIter->first, "eventname")) {
+ _event.name = paramIter->second;
+ }
+ paramIter++;
+ }
+ if (_event.name.length() == 0)
+ _event.name = std::string("heartbeat." + intervalStr);
+
+ if (intervalMs > 0) {
+ HeartbeatDispatcher::getInstance()->addEvent(toStr(this), HeartbeatInvoker::dispatch, intervalMs, this, true);
+ }
}
void HeartbeatInvoker::dispatch(void* instance, std::string name) {
- HeartbeatInvoker* invoker = (HeartbeatInvoker*)instance;
- invoker->_interpreter->receive(invoker->_event);
+ HeartbeatInvoker* invoker = (HeartbeatInvoker*)instance;
+ invoker->_interpreter->receive(invoker->_event);
}
-
+
HeartbeatDispatcher* HeartbeatDispatcher::_instance = NULL;
HeartbeatDispatcher* HeartbeatDispatcher::getInstance() {
- if (_instance == NULL) {
- _instance = new HeartbeatDispatcher();
- _instance->start();
- }
- return _instance;
+ if (_instance == NULL) {
+ _instance = new HeartbeatDispatcher();
+ _instance->start();
+ }
+ return _instance;
}
HeartbeatDispatcher::HeartbeatDispatcher() {}
diff --git a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h
index 4b230c1..a7f3cbd 100644
--- a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h
+++ b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.h
@@ -28,22 +28,22 @@ public:
virtual void invoke(const InvokeRequest& req);
virtual void sendToParent(const SendRequest& req);
- static void dispatch(void* instance, std::string name);
-
+ static void dispatch(void* instance, std::string name);
+
protected:
std::string _invokeId;
- Event _event;
-
+ Event _event;
+
};
class HeartbeatDispatcher : public DelayedEventQueue {
public:
- static HeartbeatDispatcher* getInstance();
+ static HeartbeatDispatcher* getInstance();
protected:
- static HeartbeatDispatcher* _instance;
- HeartbeatDispatcher();
+ static HeartbeatDispatcher* _instance;
+ HeartbeatDispatcher();
};
-
+
#ifdef BUILD_AS_PLUGINS
PLUMA_INHERIT_PROVIDER(HeartbeatInvoker, InvokerImpl);
#endif
diff --git a/src/uscxml/plugins/invoker/sample/SampleInvoker.cpp b/src/uscxml/plugins/invoker/sample/SampleInvoker.cpp
index f115c25..3678cc3 100644
--- a/src/uscxml/plugins/invoker/sample/SampleInvoker.cpp
+++ b/src/uscxml/plugins/invoker/sample/SampleInvoker.cpp
@@ -42,7 +42,7 @@ void SampleInvoker::sendToParent(SendRequest& req) {
}
void SampleInvoker::invoke(InvokeRequest& req) {
- _invokeId = req.invokeid;
+ _invokeId = req.invokeid;
}
} \ No newline at end of file
diff --git a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
index 85f2963..bcdf2d4 100644
--- a/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
+++ b/src/uscxml/plugins/invoker/scxml/USCXMLInvoker.cpp
@@ -43,7 +43,7 @@ void USCXMLInvoker::cancel(const std::string sendId) {
}
void USCXMLInvoker::sendToParent(const SendRequest& req) {
- SendRequest parentReq = req;
+ SendRequest parentReq = req;
parentReq.invokeid = _invokeId;
_parentInterpreter->receive(parentReq);
}
@@ -55,10 +55,10 @@ void USCXMLInvoker::invoke(const InvokeRequest& req) {
if (dataModel) {
}
- if (_invokedInterpreter) {
- _invokedInterpreter->setInvoker(boost::static_pointer_cast<InvokerImpl>(shared_from_this()));
- _invokedInterpreter->start();
- }
+ if (_invokedInterpreter) {
+ _invokedInterpreter->setInvoker(boost::static_pointer_cast<InvokerImpl>(shared_from_this()));
+ _invokedInterpreter->start();
+ }
}
} \ No newline at end of file
diff --git a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
index 2957078..c269869 100644
--- a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
+++ b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.cpp
@@ -20,12 +20,12 @@ UmundoInvoker::UmundoInvoker() : _node(NULL), _pub(NULL), _sub(NULL) {
}
UmundoInvoker::~UmundoInvoker() {
- if (_node) {
- if (_sub)
- _node->removeSubscriber(*_sub);
- if (_pub)
- _node->removePublisher(*_pub);
- }
+ if (_node) {
+ if (_sub)
+ _node->removeSubscriber(*_sub);
+ if (_pub)
+ _node->removePublisher(*_pub);
+ }
};
boost::shared_ptr<IOProcessorImpl> UmundoInvoker::create(Interpreter* interpreter) {
@@ -127,37 +127,37 @@ void UmundoInvoker::invoke(const InvokeRequest& req) {
return;
}
if (req.params.find("domain") != req.params.end()) {
- domain = req.params.find("domain")->second;
- }
+ domain = req.params.find("domain")->second;
+ }
_node = getNode(_interpreter, domain);
// add type from .proto or .desc files
if (req.params.find("type") != req.params.end()) {
std::pair<InvokeRequest::params_t::const_iterator, InvokeRequest::params_t::const_iterator> typeRange = req.params.equal_range("types");
for (InvokeRequest::params_t::const_iterator it = typeRange.first; it != typeRange.second; it++) {
- URL typeURI(it->second);
- if (typeURI.toAbsolute(_interpreter->getBaseURI())) {
- std::string filename = typeURI.asLocalFile(".proto");
- umundo::PBSerializer::addProto(filename);
- } else {
- LOG(ERROR) << "umundo invoker has relative type src but nor baseURI set with interpreter.";
- }
+ URL typeURI(it->second);
+ if (typeURI.toAbsolute(_interpreter->getBaseURI())) {
+ std::string filename = typeURI.asLocalFile(".proto");
+ umundo::PBSerializer::addProto(filename);
+ } else {
+ LOG(ERROR) << "umundo invoker has relative type src but nor baseURI set with interpreter.";
+ }
}
}
- // add directory with .proto or .desc files
- if (req.params.find("types") != req.params.end()) {
+ // add directory with .proto or .desc files
+ if (req.params.find("types") != req.params.end()) {
std::pair<InvokeRequest::params_t::const_iterator, InvokeRequest::params_t::const_iterator> typeRange = req.params.equal_range("types");
for (InvokeRequest::params_t::const_iterator it = typeRange.first; it != typeRange.second; it++) {
- URL typeURI(it->second);
- if (typeURI.toAbsolute(_interpreter->getBaseURI()) && typeURI.scheme().compare("file") == 0) {
- umundo::PBSerializer::addProto(typeURI.path());
- } else {
- LOG(ERROR) << "invoke element has relative src URI with no baseURI set.";
- }
+ URL typeURI(it->second);
+ if (typeURI.toAbsolute(_interpreter->getBaseURI()) && typeURI.scheme().compare("file") == 0) {
+ umundo::PBSerializer::addProto(typeURI.path());
+ } else {
+ LOG(ERROR) << "invoke element has relative src URI with no baseURI set.";
+ }
}
- }
-
+ }
+
if (!_isService) {
// use umundo to publish objects on a channel
_pub = new umundo::TypedPublisher(channelName);
@@ -257,15 +257,15 @@ void UmundoInvoker::changed(umundo::ServiceDescription desc) {
std::multimap<std::string, std::pair<std::string, umundo::Node*> > UmundoInvoker::_nodes;
umundo::Node* UmundoInvoker::getNode(Interpreter* interpreter, const std::string& domain) {
- std::pair<_nodes_t::iterator, _nodes_t::iterator> range = _nodes.equal_range(interpreter->getName());
- for (_nodes_t::iterator it = range.first; it != range.second; it++) {
- if (it->second.first.compare(domain) == 0)
- return it->second.second;
- }
- umundo::Node* node = new umundo::Node(domain);
- std::pair<std::string, std::pair<std::string, umundo::Node*> > pair = std::make_pair(interpreter->getName(), std::make_pair(domain, node));
- _nodes.insert(pair);
- return node;
+ std::pair<_nodes_t::iterator, _nodes_t::iterator> range = _nodes.equal_range(interpreter->getName());
+ for (_nodes_t::iterator it = range.first; it != range.second; it++) {
+ if (it->second.first.compare(domain) == 0)
+ return it->second.second;
+ }
+ umundo::Node* node = new umundo::Node(domain);
+ std::pair<std::string, std::pair<std::string, umundo::Node*> > pair = std::make_pair(interpreter->getName(), std::make_pair(domain, node));
+ _nodes.insert(pair);
+ return node;
}
bool UmundoInvoker::protobufToData(Data& data, const google::protobuf::Message& msg) {
diff --git a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h
index d54160e..58fa5d8 100644
--- a/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h
+++ b/src/uscxml/plugins/invoker/umundo/UmundoInvoker.h
@@ -58,7 +58,7 @@ protected:
std::map<umundo::ServiceDescription, umundo::ServiceStub*> _svcs;
static std::multimap<std::string, std::pair<std::string, umundo::Node*> > _nodes;
- typedef std::multimap<std::string, std::pair<std::string, umundo::Node*> > _nodes_t;
+ typedef std::multimap<std::string, std::pair<std::string, umundo::Node*> > _nodes_t;
static umundo::Node* getNode(Interpreter* interpreter, const std::string& domain);
};
diff --git a/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.cpp b/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.cpp
index 7b90951..eb5d77b 100644
--- a/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.cpp
+++ b/src/uscxml/plugins/ioprocessor/basichttp/libevent/EventIOProcessor.cpp
@@ -126,7 +126,7 @@ void EventIOProcessor::send(const SendRequest& req) {
evhttp_add_header(evhttp_request_get_output_headers(httpReq),
namelistIter->first.c_str(),
evhttp_encode_uri(namelistIter->second.c_str()))
- && LOG(ERROR) << "evhttp_add_header: " << strerror(errno);
+ && LOG(ERROR) << "evhttp_add_header: " << strerror(errno);
namelistIter++;
}
}
@@ -139,7 +139,7 @@ void EventIOProcessor::send(const SendRequest& req) {
evhttp_add_header(evhttp_request_get_output_headers(httpReq),
paramIter->first.c_str(),
evhttp_encode_uri(paramIter->second.c_str()))
- && LOG(ERROR) << "evhttp_add_header: " << strerror(errno);
+ && LOG(ERROR) << "evhttp_add_header: " << strerror(errno);
paramIter++;
}
}
diff --git a/test/src/test-arabica-events.cpp b/test/src/test-arabica-events.cpp
index bfbd570..193b7ae 100644
--- a/test/src/test-arabica-events.cpp
+++ b/test/src/test-arabica-events.cpp
@@ -11,16 +11,16 @@ using namespace Arabica::DOM;
class CapturingEventListener : public Events::EventListener<std::string> {
public:
- void handleEvent(Events::Event<std::string>& event) {
- std::cout << "Handling captured event " << event.getType() << std::endl;
- }
+ void handleEvent(Events::Event<std::string>& event) {
+ std::cout << "Handling captured event " << event.getType() << std::endl;
+ }
};
class BubblingEventListener : public Events::EventListener<std::string> {
public:
- void handleEvent(Events::Event<std::string>& event) {
- std::cout << "Handling bubbling event " << event.getType() << std::endl;
- }
+ void handleEvent(Events::Event<std::string>& event) {
+ std::cout << "Handling bubbling event " << event.getType() << std::endl;
+ }
};
int main(int argc, char** argv) {
@@ -28,40 +28,40 @@ int main(int argc, char** argv) {
std::cerr << "Expected path to test-arabica-events.xml" << std::endl;
exit(EXIT_FAILURE);
}
-
- Arabica::SAX::InputSource<std::string> inputSource(argv[1]);
-
+
+ Arabica::SAX::InputSource<std::string> inputSource(argv[1]);
+
Arabica::SAX2DOM::Parser<std::string> domParser;
Arabica::SAX::CatchErrorHandler<std::string> errorHandler;
domParser.setErrorHandler(errorHandler);
if(!domParser.parse(inputSource)) {
- return -1;
+ return -1;
}
- Document<std::string> doc = domParser.getDocument();
- Element<std::string> elem = doc.getDocumentElement();
-
- CapturingEventListener cel;
- BubblingEventListener bel;
-
- Events::EventTarget<std::string> eventTarget(elem);
- eventTarget.addEventListener("DOMNodeInserted", cel, true);
- eventTarget.addEventListener("DOMNodeInserted", bel, false);
- eventTarget.addEventListener("DOMNodeRemoved", cel, true);
- eventTarget.addEventListener("DOMNodeRemoved", bel, false);
- eventTarget.addEventListener("DOMAttrModified", cel, true);
- eventTarget.addEventListener("DOMAttrModified", bel, false);
-
- Arabica::XPath::XPath<std::string> xpath;
- Arabica::XPath::NodeSet<std::string> divs = xpath.evaluate("//div", doc).asNodeSet();
-
- for (int i = 0; i < divs.size(); i++) {
+ Document<std::string> doc = domParser.getDocument();
+ Element<std::string> elem = doc.getDocumentElement();
+
+ CapturingEventListener cel;
+ BubblingEventListener bel;
+
+ Events::EventTarget<std::string> eventTarget(elem);
+ eventTarget.addEventListener("DOMNodeInserted", cel, true);
+ eventTarget.addEventListener("DOMNodeInserted", bel, false);
+ eventTarget.addEventListener("DOMNodeRemoved", cel, true);
+ eventTarget.addEventListener("DOMNodeRemoved", bel, false);
+ eventTarget.addEventListener("DOMAttrModified", cel, true);
+ eventTarget.addEventListener("DOMAttrModified", bel, false);
+
+ Arabica::XPath::XPath<std::string> xpath;
+ Arabica::XPath::NodeSet<std::string> divs = xpath.evaluate("//div", doc).asNodeSet();
+
+ for (int i = 0; i < divs.size(); i++) {
Element<std::string> divElem = Element<std::string>(divs[i]);
divElem.setAttribute("foo", "true");
divElem.setAttribute("foo", "false");
-
- Element<std::string> fooElem = divElem.getOwnerDocument().createElement("foo");
- divElem.appendChild(fooElem);
- divElem.removeChild(fooElem);
+
+ Element<std::string> fooElem = divElem.getOwnerDocument().createElement("foo");
+ divElem.appendChild(fooElem);
+ divElem.removeChild(fooElem);
}
diff --git a/test/src/test-osg.cpp b/test/src/test-osg.cpp
index 76199c3..a3fcdc6 100644
--- a/test/src/test-osg.cpp
+++ b/test/src/test-osg.cpp
@@ -7,20 +7,20 @@ tthread::thread* thread;
osgViewer::Viewer viewer;
void run(void* instance) {
- osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("/Users/sradomski/Documents/TK/Projects/SmartVortex/Code/FE-Design/data/sv_processed/HARD_MP_VAL_000.wrl.osgb");
- viewer.setSceneData(loadedModel.get());
-
+ osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("/Users/sradomski/Documents/TK/Projects/SmartVortex/Code/FE-Design/data/sv_processed/HARD_MP_VAL_000.wrl.osgb");
+ viewer.setSceneData(loadedModel.get());
+
// viewer.startThreading();
- viewer.run();
+ viewer.run();
}
int main(int argc, char** argv) {
- viewer.setThreadingModel(osgViewer::ViewerBase::SingleThreaded);
- viewer.realize();
- thread = new tthread::thread(run, NULL);
- while(true) {
- tthread::this_thread::sleep_for(tthread::chrono::microseconds(1000));
+ viewer.setThreadingModel(osgViewer::ViewerBase::SingleThreaded);
+ viewer.realize();
+ thread = new tthread::thread(run, NULL);
+ while(true) {
+ tthread::this_thread::sleep_for(tthread::chrono::microseconds(1000));
// viewer.eventTraversal();
}
} \ No newline at end of file
diff --git a/test/src/test-prolog-swi.cpp b/test/src/test-prolog-swi.cpp
index afe0754..9e44f12 100644
--- a/test/src/test-prolog-swi.cpp
+++ b/test/src/test-prolog-swi.cpp
@@ -5,87 +5,89 @@
using namespace std;
-int main(void){
- const char* swibin = getenv("SWI_BINARY");
- if (swibin == NULL)
- swibin = SWI_BINARY;
-
- static char * av[] = {
- (char*)swibin,
+int main(void) {
+ const char* swibin = getenv("SWI_BINARY");
+ if (swibin == NULL)
+ swibin = SWI_BINARY;
+
+ static char * av[] = {
+ (char*)swibin,
// "--quiet",
// "-s",
// "/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl",
- NULL};
- if( ! PL_initialise(1,av)){
- cout<<"error initializing"<<endl;
- PL_halt(1);
- }else {
- cout<<"success initializing!"<<endl;
- }
-
+ NULL
+ };
+ if( ! PL_initialise(1,av)) {
+ cout<<"error initializing"<<endl;
+ PL_halt(1);
+ } else {
+ cout<<"success initializing!"<<endl;
+ }
+
// unsigned long fid = PL_open_foreign_frame();
- int rval;
- PlFrame frame;
- rval = PlCall("user", "load_files", PlTermv("/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl"));
+ int rval;
+ PlFrame frame;
+ rval = PlCall("user", "load_files", PlTermv("/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl"));
// PlCompound compound("likes(sam, X)");
- PlCompound compound("listing");
- PlTermv termv(compound.arity());
+ PlCompound compound("listing");
+ PlTermv termv(compound.arity());
// termv[0] = PlTerm();
- for (int i = 0; i < compound.arity(); i++) {
- termv[i] = compound[i + 1];
- }
+ for (int i = 0; i < compound.arity(); i++) {
+ termv[i] = compound[i + 1];
+ }
+
+ PlQuery q(compound.name(), termv);
+ bool solutionExists = false;
+ while( q.next_solution() ) {
+ solutionExists = true;
+ for (int i = 0; i < compound.arity(); i++) {
+ switch (compound[i + 1].type()) {
+ case PL_VARIABLE:
+ std::cout << (char *)termv[i] << ", ";
+ break;
+ case PL_FLOAT:
+ std::cout << (double)termv[i] << ", ";
+ break;
+ case PL_ATOM:
+ std::cout << (PlAtom)termv[i] << ", ";
+ break;
+ case PL_STRING:
+ std::cout << (char *)termv[i] << ", ";
+ break;
+ case PL_TERM:
+ std::cout << (char *)termv[i] << ", ";
+ break;
+ default:
+ ;
+ }
+ }
+ std::cout << std::endl;
+ }
- PlQuery q(compound.name(), termv);
- bool solutionExists = false;
- while( q.next_solution() ) {
- solutionExists = true;
- for (int i = 0; i < compound.arity(); i++) {
- switch (compound[i + 1].type()) {
- case PL_VARIABLE:
- std::cout << (char *)termv[i] << ", ";
- break;
- case PL_FLOAT:
- std::cout << (double)termv[i] << ", ";
- break;
- case PL_ATOM:
- std::cout << (PlAtom)termv[i] << ", ";
- break;
- case PL_STRING:
- std::cout << (char *)termv[i] << ", ";
- break;
- case PL_TERM:
- std::cout << (char *)termv[i] << ", ";
- break;
- default: ;
- }
- }
- std::cout << std::endl;
- }
-
// PlQuery query2(compound.name(), PlTermv(compound));
// if (query2.next_solution() > 0) {
// std::cout << "Yes!" << std::endl;
// } else {
// std::cout << "No!" << std::endl;
// }
-
+
// std::cout << compound.name() << std::endl;
// PlTermv filename("/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl");
// PlQuery loadFiles("system", "load_files", filename);
-
+
// predicate_t loadFiles = PL_predicate("load_files",1,"system");
// term_t h0 = PL_new_term_refs(1);
-
+
// int rval;
// const char * expression = "/Users/sradomski/Documents/TK/Code/pl-devel/demo/likes.pl";
// PL_put_atom_chars(h0,expression);
// rval = PL_call_predicate(NULL, PL_Q_NORMAL, loadFiles, h0);
// PL_halt( rval ? 0 : 1 );
-
+
// PL_close_foreign_frame(fid);
- return 0;
+ return 0;
}
diff --git a/test/src/test-url.cpp b/test/src/test-url.cpp
index a9a6594..4e94455 100644
--- a/test/src/test-url.cpp
+++ b/test/src/test-url.cpp
@@ -7,43 +7,43 @@ using namespace uscxml;
using namespace boost;
int main(int argc, char** argv) {
- {
- URL url("http://www.heise.de/index.html");
- std::cout << url.asString() << std::endl;
- assert(url.isAbsolute());
- assert(iequals(url.scheme(), "http"));
- assert(iequals(url.host(), "www.heise.de"));
- assert(iequals(url.port(), "80"));
- assert(iequals(url.path(), "/index.html"));
- assert(iequals(url.asString(), "http://www.heise.de/index.html"));
- }
- {
- URL url("file:Document/Text.foo");
- std::cout << url.asString() << std::endl;
- assert(!url.isAbsolute());
- assert(iequals(url.scheme(), "file"));
- assert(iequals(url.host(), ""));
- assert(iequals(url.port(), "0"));
- assert(iequals(url.path(), "Document/Text.foo"));
- assert(iequals(url.asString(), "file:Document/Text.foo"));
- }
- {
- URL url("test/index.html");
- assert(iequals(url.scheme(), ""));
- url.toAbsoluteCwd();
- assert(iequals(url.scheme(), "file"));
- std::cout << url.asString() << std::endl;
- }
- {
- URL url("C:\\Document\\Some Spaces\\index.txt");
- assert(url.isAbsolute());
- assert(iequals(url.scheme(), "file"));
- std::cout << url.asString() << std::endl;
- }
- {
- URL url = URL::toLocalFile("this is quite some content!", "txt");
- std::cout << url.asLocalFile("txt");
- assert(url.isAbsolute());
- assert(iequals(url.scheme(), "file"));
- }
+ {
+ URL url("http://www.heise.de/index.html");
+ std::cout << url.asString() << std::endl;
+ assert(url.isAbsolute());
+ assert(iequals(url.scheme(), "http"));
+ assert(iequals(url.host(), "www.heise.de"));
+ assert(iequals(url.port(), "80"));
+ assert(iequals(url.path(), "/index.html"));
+ assert(iequals(url.asString(), "http://www.heise.de/index.html"));
+ }
+ {
+ URL url("file:Document/Text.foo");
+ std::cout << url.asString() << std::endl;
+ assert(!url.isAbsolute());
+ assert(iequals(url.scheme(), "file"));
+ assert(iequals(url.host(), ""));
+ assert(iequals(url.port(), "0"));
+ assert(iequals(url.path(), "Document/Text.foo"));
+ assert(iequals(url.asString(), "file:Document/Text.foo"));
+ }
+ {
+ URL url("test/index.html");
+ assert(iequals(url.scheme(), ""));
+ url.toAbsoluteCwd();
+ assert(iequals(url.scheme(), "file"));
+ std::cout << url.asString() << std::endl;
+ }
+ {
+ URL url("C:\\Document\\Some Spaces\\index.txt");
+ assert(url.isAbsolute());
+ assert(iequals(url.scheme(), "file"));
+ std::cout << url.asString() << std::endl;
+ }
+ {
+ URL url = URL::toLocalFile("this is quite some content!", "txt");
+ std::cout << url.asLocalFile("txt");
+ assert(url.isAbsolute());
+ assert(iequals(url.scheme(), "file"));
+ }
} \ No newline at end of file