/** * @file * @author This file has been generated by generate-bindings.pl. DO NOT MODIFY! * @copyright Simplified BSD * * @cond * This program is free software: you can redistribute it and/or modify * it under the terms of the FreeBSD license as published by the FreeBSD * project. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the FreeBSD license along with this * program. If not, see . * @endcond */ #include "V8NodeSet.h" #include "V8XPathResult.h" namespace Arabica { namespace DOM { v8::Persistent V8XPathResult::Tmpl; v8::Handle V8XPathResult::numberValueAttrGetter(v8::Local property, const v8::AccessorInfo& info) { v8::Local self = info.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); return v8::Number::New(privData->nativeObj->asNumber()); } v8::Handle V8XPathResult::stringValueAttrGetter(v8::Local property, const v8::AccessorInfo& info) { v8::Local self = info.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); return v8::String::New(privData->nativeObj->asString().c_str()); } v8::Handle V8XPathResult::booleanValueAttrGetter(v8::Local property, const v8::AccessorInfo& info) { v8::Local self = info.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); return v8::Boolean::New(privData->nativeObj->asBool()); } v8::Handle V8XPathResult::asNodeSetCallback(const v8::Arguments& args) { v8::Local self = args.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); if (false) { } else if (args.Length() == 0) { Arabica::XPath::NodeSet* retVal = new Arabica::XPath::NodeSet(privData->nativeObj->asNodeSet()); v8::Handle retCtor = V8NodeSet::getTmpl()->GetFunction(); v8::Persistent retObj = v8::Persistent::New(retCtor->NewInstance()); struct V8NodeSet::V8NodeSetPrivate* retPrivData = new V8NodeSet::V8NodeSetPrivate(); retPrivData->dom = privData->dom; retPrivData->nativeObj = retVal; retObj->SetInternalField(0, V8DOM::toExternal(retPrivData)); retObj.MakeWeak(0, V8NodeSet::jsDestructor); return retObj; } throw V8Exception("Parameter mismatch while calling asNodeSet"); return v8::Undefined(); } v8::Handle V8XPathResult::asBoolCallback(const v8::Arguments& args) { v8::Local self = args.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); if (false) { } else if (args.Length() == 0) { bool retVal = privData->nativeObj->asBool(); return v8::Boolean::New(retVal); } throw V8Exception("Parameter mismatch while calling asBool"); return v8::Undefined(); } v8::Handle V8XPathResult::asStringCallback(const v8::Arguments& args) { v8::Local self = args.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); if (false) { } else if (args.Length() == 0) { std::string retVal = privData->nativeObj->asString(); return v8::String::New(retVal.c_str()); } throw V8Exception("Parameter mismatch while calling asString"); return v8::Undefined(); } v8::Handle V8XPathResult::asNumberCallback(const v8::Arguments& args) { v8::Local self = args.Holder(); struct V8XPathResultPrivate* privData = V8DOM::toClassPtr(self->GetInternalField(0)); if (false) { } else if (args.Length() == 0) { double retVal = privData->nativeObj->asNumber(); return v8::Number::New(retVal); } throw V8Exception("Parameter mismatch while calling asNumber"); return v8::Undefined(); } bool V8XPathResult::hasInstance(v8::Handle value) { return getTmpl()->HasInstance(value); } } }