Handle<Value> TiProxy::createProxy(TiProxy *proxy, void* userContext, const Arguments& args) { TiProxy *module = static_cast<TiProxy*>(userContext); HandleScope handleScope; Handle<ObjectTemplate> global = getObjectTemplateFromJsObject(args.Holder()); Handle<Object> result = global->NewInstance(); proxy->setNativeObjectFactory(module->getNativeObjectFactory()); proxy->initializeTiObject(NULL); proxy->setValue(result); proxy->setAttachedObject(module); if ((args.Length() > 0) && (args[0]->IsObject())) { Local<Object> settingsObj = Local<Object>::Cast(args[0]); proxy->setParametersFromObject(proxy, settingsObj); } setTiObjectToJsObject(result, proxy); return handleScope.Close(result); }