/* This file is part of the Wrapper open source project. This file has been generated by generate-bindings.pl. DO NOT MODIFY! This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef V8Int8Array_h #define V8Int8Array_h #include #include "../../TypedArray.h" #include "DOM/Node.hpp" #include "V8ArrayBufferView.h" #include "string" #include "uscxml/plugins/datamodel/ecmascript/v8/V8DOM.h" #include namespace Arabica { namespace DOM { class V8Int8Array { public: struct V8Int8ArrayPrivate { V8DOM* dom; uscxml::Int8Array* nativeObj; }; V8_DESTRUCTOR(V8Int8ArrayPrivate); static bool hasInstance(v8::Handle); static v8::Handle getCallback(const v8::Arguments&); static v8::Handle setCallback(const v8::Arguments&); static v8::Handle subarrayCallback(const v8::Arguments&); static v8::Handle lengthAttrGetter(v8::Local property, const v8::AccessorInfo& info); static v8::Handle indexedPropertyCustomGetter(uint32_t, const v8::AccessorInfo&); static v8::Handle indexedPropertyCustomSetter(uint32_t, v8::Local, const v8::AccessorInfo&); static v8::Handle constructor(const v8::Arguments&); static v8::Persistent Constr; static v8::Handle getConstructor() { if (Constr.IsEmpty()) { v8::Handle constr = v8::FunctionTemplate::New(constructor); Constr = v8::Persistent::New(constr); } return Constr; } static v8::Persistent Tmpl; static v8::Handle getTmpl() { if (Tmpl.IsEmpty()) { v8::Handle tmpl = v8::FunctionTemplate::New(); tmpl->SetClassName(v8::String::New("Int8Array")); tmpl->ReadOnlyPrototype(); v8::Local instance = tmpl->InstanceTemplate(); v8::Local prototype = tmpl->PrototypeTemplate(); (void)prototype; // surpress unused warnings instance->SetInternalFieldCount(1); instance->SetAccessor(v8::String::NewSymbol("length"), V8Int8Array::lengthAttrGetter, 0, v8::External::New(0), static_cast(v8::DEFAULT), static_cast(v8::None)); instance->SetIndexedPropertyHandler(V8Int8Array::indexedPropertyCustomGetter, V8Int8Array::indexedPropertyCustomSetter); prototype->Set(v8::String::NewSymbol("get"), v8::FunctionTemplate::New(V8Int8Array::getCallback, v8::Undefined()), static_cast(v8::DontDelete)); prototype->Set(v8::String::NewSymbol("set"), v8::FunctionTemplate::New(V8Int8Array::setCallback, v8::Undefined()), static_cast(v8::DontDelete)); prototype->Set(v8::String::NewSymbol("subarray"), v8::FunctionTemplate::New(V8Int8Array::subarrayCallback, v8::Undefined()), static_cast(v8::DontDelete)); tmpl->Set(v8::String::NewSymbol("BYTES_PER_ELEMENT"), v8::Integer::New(1), static_cast(v8::ReadOnly | v8::DontEnum)); prototype->Set(v8::String::NewSymbol("BYTES_PER_ELEMENT"), v8::Integer::New(1), static_cast(v8::ReadOnly | v8::DontEnum)); tmpl->Inherit(V8ArrayBufferView::getTmpl()); Tmpl = v8::Persistent::New(tmpl); } return Tmpl; } }; } } #endif // V8Int8Array_h