static void namedItemMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 1)) { throwMinimumArityTypeErrorForMethod("namedItem", "TestSpecialOperations", 1, info.Length(), info.GetIsolate()); return; } TestSpecialOperations* impl = V8TestSpecialOperations::toNative(info.Holder()); V8StringResource<> name; { TOSTRING_VOID_INTERNAL(name, info[0]); } bool result0Enabled = false; RefPtrWillBeRawPtr<Node> result0; bool result1Enabled = false; RefPtrWillBeRawPtr<NodeList> result1; impl->getItem(name, result0Enabled, result0, result1Enabled, result1); if (result0Enabled) { v8SetReturnValue(info, result0.release()); return; } if (result1Enabled) { v8SetReturnValue(info, result1.release()); return; } v8SetReturnValueNull(info); }
static void funcMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 1)) { throwMinimumArityTypeErrorForMethod("func", "TestInterfaceGarbageCollected", 1, info.Length(), info.GetIsolate()); return; } TestInterfaceGarbageCollected* impl = V8TestInterfaceGarbageCollected::toNative(info.Holder()); TestInterfaceGarbageCollected* arg; { v8::TryCatch block; TONATIVE_VOID_INTERNAL(arg, V8TestInterfaceGarbageCollected::toNativeWithTypeCheck(info.GetIsolate(), info[0])); } impl->func(arg); }
static void stringArrayMethodStringArrayArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 1)) { throwMinimumArityTypeErrorForMethod("stringArrayMethodStringArrayArg", "TestTypedefs", 1, info.Length(), info.GetIsolate()); return; } TestTypedefs* impl = V8TestTypedefs::toNative(info.Holder()); Vector<String> stringArrayArg; { v8::TryCatch block; V8RethrowTryCatchScope rethrow(block); TONATIVE_VOID_INTERNAL(stringArrayArg, toNativeArray<String>(info[0], 1, info.GetIsolate())); } v8SetReturnValue(info, v8Array(impl->stringArrayMethodStringArrayArg(stringArrayArg), info.Holder(), info.GetIsolate())); }
static void uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 1)) { throwMinimumArityTypeErrorForMethod("uLongLongMethodTestInterfaceEmptyTypeSequenceArg", "TestTypedefs", 1, info.Length(), info.GetIsolate()); return; } TestTypedefs* impl = V8TestTypedefs::toNative(info.Holder()); Vector<RefPtr<TestInterfaceEmpty> > testInterfaceEmptyTypeSequenceArg; { v8::TryCatch block; V8RethrowTryCatchScope rethrow(block); TONATIVE_VOID_INTERNAL(testInterfaceEmptyTypeSequenceArg, (toRefPtrNativeArray<TestInterfaceEmpty, V8TestInterfaceEmpty>(info[0], 1, info.GetIsolate()))); } v8SetReturnValue(info, static_cast<double>(impl->uLongLongMethodTestInterfaceEmptyTypeSequenceArg(testInterfaceEmptyTypeSequenceArg))); }
static void voidMethodTestCallbackInterfaceTypeArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 1)) { throwMinimumArityTypeErrorForMethod("voidMethodTestCallbackInterfaceTypeArg", "TestTypedefs", 1, info.Length(), info.GetIsolate()); return; } TestTypedefs* impl = V8TestTypedefs::toNative(info.Holder()); OwnPtr<TestCallbackInterface> testCallbackInterfaceTypeArg; { if (info.Length() <= 0 || !info[0]->IsFunction()) { throwTypeError(ExceptionMessages::failedToExecute("voidMethodTestCallbackInterfaceTypeArg", "TestTypedefs", "The callback provided as parameter 1 is not a function."), info.GetIsolate()); return; } testCallbackInterfaceTypeArg = V8TestCallbackInterface::create(v8::Handle<v8::Function>::Cast(info[0]), ScriptState::current(info.GetIsolate())); } impl->voidMethodTestCallbackInterfaceTypeArg(testCallbackInterfaceTypeArg.release()); }
static void voidMethodFloatArgStringArgMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { if (UNLIKELY(info.Length() < 2)) { throwMinimumArityTypeErrorForMethod("voidMethodFloatArgStringArg", "TestTypedefs", 2, info.Length(), info.GetIsolate()); return; } TestTypedefs* impl = V8TestTypedefs::toNative(info.Holder()); float floatArg; V8StringResource<> stringArg; { v8::TryCatch block; V8RethrowTryCatchScope rethrow(block); TONATIVE_VOID_INTERNAL(floatArg, static_cast<float>(info[0]->NumberValue())); TOSTRING_VOID_INTERNAL(stringArg, info[1]); } impl->voidMethodFloatArgStringArg(floatArg, stringArg); }