bool js_cocos2dx_physics3d_Physics3dShape_initHeightfield(JSContext *cx, uint32_t argc, jsval *vp) { if (argc == 8 || argc == 9) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); cocos2d::Physics3DShape* cobj = (cocos2d::Physics3DShape *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2(cobj, cx, false, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : Invalid Native Object"); bool ok = true; int arg0; int arg1; std::vector<float> arg2; double arg3; double arg4; double arg5; bool arg6; bool arg7; bool arg8; ok &= jsval_to_int32(cx, args.get(0), (int32_t *)&arg0); ok &= jsval_to_int32(cx, args.get(1), (int32_t *)&arg1); ok &= jsval_to_std_vector_float(cx, args.get(2), &arg2); ok &= JS::ToNumber(cx, args.get(3), &arg3) && !isnan(arg3); ok &= JS::ToNumber(cx, args.get(4), &arg4) && !isnan(arg4); ok &= JS::ToNumber(cx, args.get(5), &arg5) && !isnan(arg5); arg6 = JS::ToBoolean(args.get(6)); arg7 = JS::ToBoolean(args.get(7)); if (argc == 9) arg8 = JS::ToBoolean(args.get(8)); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : Error processing arguments"); bool ret = false; if (argc == 8) ret = cobj->initHeightfield(arg0, arg1, &arg2[0], arg3, arg4, arg5, arg6, arg7, false); else if (argc == 9) ret = cobj->initHeightfield(arg0, arg1, &arg2[0], arg3, arg4, arg5, arg6, arg7, arg8); jsval jsret = JSVAL_NULL; jsret = BOOLEAN_TO_JSVAL(ret); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_physics3d_Physics3DShape_initHeightfield : wrong number of arguments"); return false; }
bool WrapperOwner::DOMQI(JSContext* cx, JS::HandleObject proxy, JS::CallArgs& args) { // Someone's calling us, handle nsISupports specially to avoid unnecessary // CPOW traffic. HandleValue id = args[0]; if (id.isObject()) { RootedObject idobj(cx, &id.toObject()); nsCOMPtr<nsIJSID> jsid; nsresult rv = UnwrapArg<nsIJSID>(idobj, getter_AddRefs(jsid)); if (NS_SUCCEEDED(rv)) { MOZ_ASSERT(jsid, "bad wrapJS"); const nsID* idptr = jsid->GetID(); if (idptr->Equals(NS_GET_IID(nsISupports))) { args.rval().set(args.thisv()); return true; } // Webidl-implemented DOM objects never have nsIClassInfo. if (idptr->Equals(NS_GET_IID(nsIClassInfo))) return Throw(cx, NS_ERROR_NO_INTERFACE); } } // It wasn't nsISupports, call into the other process to do the QI for us // (since we don't know what other interfaces our object supports). Note // that we have to use JS_GetPropertyDescriptor here to avoid infinite // recursion back into CPOWDOMQI via WrapperOwner::get(). // We could stash the actual QI function on our own function object to avoid // if we're called multiple times, but since we're transient, there's no // point right now. JS::Rooted<JSPropertyDescriptor> propDesc(cx); if (!JS_GetPropertyDescriptor(cx, proxy, "QueryInterface", &propDesc)) return false; if (!propDesc.value().isObject()) { MOZ_ASSERT_UNREACHABLE("We didn't get QueryInterface off a node"); return Throw(cx, NS_ERROR_UNEXPECTED); } return JS_CallFunctionValue(cx, proxy, propDesc.value(), args, args.rval()); }
bool js_cocos2dx_GLNode_constructor(JSContext *cx, uint32_t argc, jsval *vp) { if (argc == 0) { cocos2d::GLNode* cobj = new (std::nothrow) cocos2d::GLNode; js_type_class_t *typeClass = js_get_type_from_native<cocos2d::GLNode>(cobj); JS::RootedObject jsobj(cx, jsb_ref_create_jsobject(cx, cobj, typeClass, "cocos2d::GLNode")); JS::CallArgs args = JS::CallArgsFromVp(argc, vp); args.rval().set(OBJECT_TO_JSVAL(jsobj)); bool ok=false; if (JS_HasProperty(cx, jsobj, "_ctor", &ok) && ok) ScriptingCore::getInstance()->executeFunctionWithOwner(OBJECT_TO_JSVAL(jsobj), "_ctor", args); return true; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return false; }
static bool UnwrapNW(JSContext* cx, unsigned argc, Value* vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (args.length() != 1) { return ThrowException(NS_ERROR_XPC_NOT_ENOUGH_ARGS, cx); } JS::RootedValue v(cx, args[0]); if (!v.isObject() || !js::IsCrossCompartmentWrapper(&v.toObject()) || !WrapperFactory::AllowWaiver(&v.toObject())) { args.rval().set(v); return true; } bool ok = xpc::WrapperFactory::WaiveXrayAndWrap(cx, &v); NS_ENSURE_TRUE(ok, false); args.rval().set(v); return true; }
bool js_cocos2dx_SocketIO_disconnect(JSContext* cx, uint32_t argc, jsval* vp) { CCLOG("JSB SocketIO.disconnect method called"); JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy = jsb_get_js_proxy(obj); SIOClient* cobj = (SIOClient *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "Invalid Native Object"); if(argc == 0) { cobj->disconnect(); args.rval().setUndefined(); return true; } JS_ReportError(cx, "JSB SocketIO.disconnect: Wrong number of arguments"); return false; }
static JSBool AfxGlobal_glBlendFunc(JSContext *cx, unsigned argc, JS::Value *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if(4 > args.length()) return JS_FALSE; GLenum sfactor, dfactor; if(!( JS::ToUint32(cx, args[0], &sfactor) && JS::ToUint32(cx, args[1], &dfactor) )) return JS_FALSE; glBlendFunc(sfactor, dfactor); args.rval().set(JSVAL_VOID); return JS_TRUE; }
bool js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); CocosAds* cobj = (CocosAds *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : Invalid Native Object"); if (argc == 1) { int arg0 = 0; ok &= jsval_to_int32(cx, args.get(0), (int32_t *)&arg0); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : Error processing arguments"); cobj->setInterstitialDisplayTime(arg0); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_cocos2dx_cocosAds_CocosAds_setInterstitialDisplayTime : wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_cocos2dx_physics3d_Physics3DRigidBody_create(JSContext *cx, uint32_t argc, jsval *vp) { if (argc == 1) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; cocos2d::Physics3DRigidBodyDes arg0; ok &= jsval_to_physics3DRigidBodyDes(cx, args.get(0), &arg0); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_physics3d_Physics3DRigidBody_create : Error processing arguments"); cocos2d::Physics3DRigidBody* ret = cocos2d::Physics3DRigidBody::create(&arg0); JS::RootedObject jsobj(cx, js_get_or_create_jsobject<cocos2d::Physics3DRigidBody>(cx, ret)); jsval jsret = OBJECT_TO_JSVAL(jsobj); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_physics3d_Physics3DRigidBody_create : wrong number of arguments"); return false; }
bool js_cocos2dx_Effect3DOutline_create(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { Effect3DOutline* ret = Effect3DOutline::create(); jsval jsret = JSVAL_NULL; do { if (ret) { js_proxy_t *jsProxy = js_get_or_create_proxy<Effect3DOutline>(cx, (Effect3DOutline*)ret); jsret = OBJECT_TO_JSVAL(jsProxy->obj); } else { jsret = JSVAL_NULL; } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_Effect3DOutline_create : wrong number of arguments"); return false; }
bool js_cocos2dx_audioengine_AudioEngine_getDefaultProfile(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { cocos2d::experimental::AudioProfile* ret = cocos2d::experimental::AudioEngine::getDefaultProfile(); jsval jsret = JSVAL_NULL; do { if (ret) { js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::experimental::AudioProfile>(cx, (cocos2d::experimental::AudioProfile*)ret); jsret = OBJECT_TO_JSVAL(jsProxy->obj); } else { jsret = JSVAL_NULL; } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_audioengine_AudioEngine_getDefaultProfile : wrong number of arguments"); return false; }
bool jsb_util_setIniInt(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); //JS::RootedString appArgs(cx); if (argc == 4) { std::string arg0, arg1, arg2; int arg3; bool ok = jsval_to_std_string(cx, args.get(0), &arg0); ok &= jsval_to_std_string(cx, args.get(1), &arg1); ok &= jsval_to_std_string(cx, args.get(2), &arg2); ok &= jsval_to_int32(cx, args.get(3), (int32_t *)&arg3); JSB_PRECONDITION2(ok, cx, false, "jsb_util_setIniInt : Error processing arguments"); args.rval().setBoolean(Utils::SetIniInt(arg0.c_str(), arg1.c_str(), arg2.c_str(), arg3)); return true; } JS_ReportError(cx, "jsb_util_setIniInt : wrong number of arguments"); return false; }
bool RenderTarget_setScissor(JSContext *cx, unsigned argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp( argc, vp ); Value value=args.computeThis( cx ); RenderTarget *target=(RenderTarget *) JS_GetPrivate( &value.toObject() ); if ( argc == 1 && args[0].isObject() ) { RootedObject object(cx, &args[0].toObject() ); RootedValue x(cx), y(cx), width(cx), height(cx); JS_GetProperty( cx, HandleObject(object), "x", MutableHandleValue(&x) ); JS_GetProperty( cx, HandleObject(object), "y", MutableHandleValue(&y) ); JS_GetProperty( cx, HandleObject(object), "width", MutableHandleValue(&width) ); JS_GetProperty( cx, HandleObject(object), "height", MutableHandleValue(&height) ); target->setScissor( x.toInt32(), y.toInt32(), width.toInt32(), height.toInt32() ); } else target->setScissor( 0, 0, 0, 0 ); return true; }
bool jsb_util_exec(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); //JS::RootedString appArgs(cx); if (argc == 3) { std::string arg0, arg1, arg2; bool ok = jsval_to_std_string(cx, args.get(0), &arg0); ok &= jsval_to_std_string(cx, args.get(1), &arg1); ok &= jsval_to_std_string(cx, args.get(2), &arg2); JSB_PRECONDITION2(ok, cx, false, "jsb_util_exec : Error processing arguments"); Utils::Exec(arg0.c_str(), arg1.c_str(), arg2.c_str()); args.rval().setUndefined(); return true; } JS_ReportError(cx, "jsb_util_exec : wrong number of arguments"); return false; }
bool jsb_spine_TrackEntry_get_mixingFrom(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JS::RootedObject jsthis(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(jsthis); spTrackEntry* cobj = (spTrackEntry *)(proxy ? proxy->ptr : NULL); if (cobj) { JS::RootedValue jsret(cx, JS::NullValue()); if (cobj->mixingFrom) { jsret = sptrackentry_to_jsval(cx, *cobj->mixingFrom); } args.rval().set(jsret); return true; } else { CCLOGERROR("jsb_spine_TrackEntry_get_previous : Invalid Native Object"); return false; } }
bool js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); cocos2d::experimental::ui::VideoPlayer* cobj = (cocos2d::experimental::ui::VideoPlayer *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : Invalid Native Object"); if (argc == 1) { bool arg0; arg0 = JS::ToBoolean(args.get(0)); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : Error processing arguments"); cobj->setKeepAspectRatioEnabled(arg0); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_cocos2dx_experimental_video_VideoPlayer_setKeepAspectRatioEnabled : wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_cocos2dx_nativehelper_NativeHelper_singleton(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { cocos2d::NativeHelper* ret = cocos2d::NativeHelper::singleton(); jsval jsret = JSVAL_NULL; do { if (ret) { js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::NativeHelper>(cx, (cocos2d::NativeHelper*)ret); jsret = OBJECT_TO_JSVAL(jsProxy->obj); } else { jsret = JSVAL_NULL; } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_nativehelper_NativeHelper_singleton : wrong number of arguments"); return false; }
bool js_cocos2dx_extension_ImagePicker_getInstance(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { cocos2d::ImagePicker* ret = cocos2d::ImagePicker::getInstance(); jsval jsret = JSVAL_NULL; do { if (ret) { js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::ImagePicker>(cx, (cocos2d::ImagePicker*)ret); jsret = OBJECT_TO_JSVAL(jsProxy->obj); } else { jsret = JSVAL_NULL; } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_extension_ImagePicker_getInstance : wrong number of arguments"); return false; }
static JSBool copyPath_func(JSContext *context, unsigned argc, jsval *vp) { JS::CallArgs argv = JS::CallArgsFromVp (argc, vp); JSObject *obj = JSVAL_TO_OBJECT(argv.thisv()); cairo_path_t *path; cairo_t *cr; if (!gjs_parse_call_args(context, "", "", argv)) return JS_FALSE; cr = gjs_cairo_context_get_context(context, obj); path = cairo_copy_path(cr); argv.rval().set( OBJECT_TO_JSVAL(gjs_cairo_path_from_path(context, path))); return JS_TRUE; }
// jsb.loadRemoteImg(url, function(succeed, result) {}) bool js_load_remote_image(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JSObject *obj = JS_THIS_OBJECT(cx, vp); if (argc == 2) { std::string url; bool ok = jsval_to_std_string(cx, args.get(0), &url); jsval callback = args.get(1); __JSDownloaderDelegator::download(cx, obj, url, callback); JSB_PRECONDITION2(ok, cx, false, "js_console_log : Error processing arguments"); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_load_remote_image : wrong number of arguments"); return false; }
bool js_cocos2dx_cocosAds_CocosAds_init(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); CocosAds* cobj = (CocosAds *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_cocosAds_CocosAds_init : Invalid Native Object"); if (argc == 1) { const char* arg0 = nullptr; std::string arg0_tmp; ok &= jsval_to_std_string(cx, args.get(0), &arg0_tmp); arg0 = arg0_tmp.c_str(); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_cocosAds_CocosAds_init : Error processing arguments"); cobj->init(arg0); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_cocos2dx_cocosAds_CocosAds_init : wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_cocos2dx_Effect3DOutline_setOutlineColor(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); Effect3DOutline* cobj = (Effect3DOutline *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_Effect3DOutline_setOutlineColor : Invalid Native Object"); if (argc == 1) { cocos2d::Vec3 arg0; ok &= jsval_to_vector3(cx, args.get(0), &arg0); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_Effect3DOutline_setOutlineColor : Error processing arguments"); cobj->setOutlineColor(arg0); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_cocos2dx_Effect3DOutline_setOutlineColor : wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_cocos2dx_experimental_webView_WebView_create(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { cocos2d::experimental::ui::WebView* ret = cocos2d::experimental::ui::WebView::create(); jsval jsret = JSVAL_NULL; do { if (ret) { js_proxy_t *jsProxy = js_get_or_create_proxy<cocos2d::experimental::ui::WebView>(cx, (cocos2d::experimental::ui::WebView*)ret); jsret = OBJECT_TO_JSVAL(jsProxy->obj); } else { jsret = JSVAL_NULL; } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "js_cocos2dx_experimental_webView_WebView_create : wrong number of arguments"); return false; }
bool js_cocos2dx_experimental_webView_WebView_setJavascriptInterfaceScheme(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *proxy = jsb_get_js_proxy(obj); cocos2d::experimental::ui::WebView* cobj = (cocos2d::experimental::ui::WebView *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_experimental_webView_WebView_setJavascriptInterfaceScheme : Invalid Native Object"); if (argc == 1) { std::string arg0; ok &= jsval_to_std_string(cx, args.get(0), &arg0); JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_experimental_webView_WebView_setJavascriptInterfaceScheme : Error processing arguments"); cobj->setJavascriptInterfaceScheme(arg0); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_cocos2dx_experimental_webView_WebView_setJavascriptInterfaceScheme : wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_EventListenerTouchOneByOne_create(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if (argc == 0) { auto ret = EventListenerTouchOneByOne::create(); ret->onTouchBegan = [cx, ret](Touch* touch, Event* event) -> bool { JS::RootedValue jsret(cx); bool ok = ScriptingCore::getInstance()->handleTouchEvent(ret, EventTouch::EventCode::BEGAN, touch, event, &jsret); // Not found the method, just return false. if (!ok) return false; if (jsret.isBoolean()) { return jsret.toBoolean(); } else { return false; } }; ret->onTouchMoved = [ret](Touch* touch, Event* event) { ScriptingCore::getInstance()->handleTouchEvent(ret, EventTouch::EventCode::MOVED, touch, event); }; ret->onTouchEnded = [ret](Touch* touch, Event* event) { ScriptingCore::getInstance()->handleTouchEvent(ret, EventTouch::EventCode::ENDED, touch, event); }; ret->onTouchCancelled = [ret](Touch* touch, Event* event) { ScriptingCore::getInstance()->handleTouchEvent(ret, EventTouch::EventCode::CANCELLED, touch, event); }; JS::RootedValue jsret(cx, OBJECT_TO_JSVAL(js_get_or_create_jsobject<EventListenerTouchOneByOne>(cx, ret))); args.rval().set(jsret); return true; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 0); return false; }
static JSBool AfxGlobal_glDeleteTextures(JSContext *cx, unsigned argc, JS::Value *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); if(1 > args.length()) return JS_FALSE; JSObject * obj; if(!JS_ValueToObject(cx, args[0], &obj)) return JS_FALSE; if(!JS_IsArrayObject(cx, obj)) return JS_FALSE; uint32_t length; if(!JS_GetArrayLength(cx, obj, &length)) return JS_FALSE; GLuint * textureIds = new GLuint[length]; bool bOk = true; for(uint32_t i=0; i<length; i++) { jsval val; bOk = bOk && JS_GetElement(cx, obj, i, &val); bOk = bOk && JS::ToUint32(cx, val, &textureIds[i]); } if(!bOk) { delete textureIds; return JS_FALSE; } glDeleteTextures(length, textureIds); delete textureIds; args.rval().set(JSVAL_VOID); return JS_TRUE; }
bool jsb_cocos2dx_spine_getCurrent(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; JSObject *obj = JS_THIS_OBJECT(cx, vp); js_proxy_t *proxy = jsb_get_js_proxy(obj); spine::SkeletonAnimation* cobj = (spine::SkeletonAnimation *)(proxy ? proxy->ptr : NULL); JSB_PRECONDITION2( cobj, cx, false, "Invalid Native Object"); if (argc == 1) { int arg0; ok &= jsval_to_int32(cx, args.get(0), (int32_t *)&arg0); JSB_PRECONDITION2(ok, cx, false, "Error processing arguments"); spTrackEntry* ret = cobj->getCurrent(arg0); jsval jsret = JSVAL_NULL; do { if (ret) { jsret = sptrackentry_to_jsval(cx, *ret); } } while (0); args.rval().set(jsret); return true; } else if (argc == 0) { spTrackEntry* ret = cobj->getCurrent(); jsval jsret = JSVAL_NULL; do { if (ret) { jsret = sptrackentry_to_jsval(cx, *ret); } } while (0); args.rval().set(jsret); return true; } JS_ReportError(cx, "wrong number of arguments: %d, was expecting %d", argc, 1); return false; }
bool js_PluginGoogleAnalyticsJS_PluginGoogleAnalytics_logTiming(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; if (argc == 4) { std::string arg0; int arg1; std::string arg2; std::string arg3; ok &= jsval_to_std_string(cx, args.get(0), &arg0); ok &= jsval_to_int32(cx, args.get(1), (int32_t *)&arg1); ok &= jsval_to_std_string(cx, args.get(2), &arg2); ok &= jsval_to_std_string(cx, args.get(3), &arg3); JSB_PRECONDITION2(ok, cx, false, "js_PluginGoogleAnalyticsJS_PluginGoogleAnalytics_logTiming : Error processing arguments"); sdkbox::PluginGoogleAnalytics::logTiming(arg0, arg1, arg2, arg3); args.rval().setUndefined(); return true; } JS_ReportError(cx, "js_PluginGoogleAnalyticsJS_PluginGoogleAnalytics_logTiming : wrong number of arguments"); return false; }
bool jsb_util_compressFile(JSContext *cx, uint32_t argc, jsval *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); //JS::RootedString appArgs(cx); if (argc == 2) { std::string arg0; std::string arg1; bool ok = jsval_to_std_string(cx, args.get(0), &arg0); ok &= jsval_to_std_string(cx, args.get(1), &arg1); JSB_PRECONDITION2(ok, cx, false, "jsb_util_compressFile : Error processing arguments"); auto ret = Utils::CompressFile(arg0.c_str(), arg1.c_str()); args.rval().setBoolean(ret); return true; } JS_ReportError(cx, "jsb_util_compressFile : wrong number of arguments"); return false; }
bool js_cocos2dx_CCBAnimationManager_animationCompleteCallback(JSContext *cx, uint32_t argc, jsval *vp) { if (argc >= 1) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); JS::RootedObject obj(cx, args.thisv().toObjectOrNull()); js_proxy_t *p = jsb_get_js_proxy(obj); cocosbuilder::CCBAnimationManager *node = (cocosbuilder::CCBAnimationManager *)(p ? p->ptr : NULL); JSCCBAnimationWrapper *tmpCobj = new (std::nothrow) JSCCBAnimationWrapper(args.thisv()); tmpCobj->autorelease(); tmpCobj->setJSCallbackThis(args.get(0)); if(argc >= 2) { tmpCobj->setJSCallbackFunc(args.get(1)); } node->setAnimationCompletedCallback(tmpCobj, callfunc_selector(JSCCBAnimationWrapper::animationCompleteCallback)); return true; } return false; }
bool js_PluginFacebookJS_PluginFacebook_inviteFriends(JSContext *cx, uint32_t argc, JS::Value *vp) { JS::CallArgs args = JS::CallArgsFromVp(argc, vp); bool ok = true; if (argc == 2) { std::string app_link_url; ok &= jsval_to_std_string(cx, args.get(0), &app_link_url); JSB_PRECONDITION2(ok, cx, false, "Error processing arguments js_PluginFacebookJS_PluginFacebook_inviteFriends"); std::string preview_image_url; ok &= jsval_to_std_string(cx, args.get(1), &preview_image_url); JSB_PRECONDITION2(ok, cx, false, "Error processing arguments js_PluginFacebookJS_PluginFacebook_inviteFriends"); sdkbox::PluginFacebook::inviteFriends( app_link_url, preview_image_url ); args.rval().setUndefined(); return true; } JS_ReportErrorUTF8(cx, "js_PluginFacebookJS_PluginFacebook_inviteFriends : wrong number of arguments"); return false; }