| %insert(wrapper) %{ | |
| SWIGINTERN bool JS_registerClass(JSGlobalContextRef context, JSObjectRef parentObject, | |
| const char* className, | |
| JSClassDefinition* definition) { | |
| JSStringRef js_className = JSStringCreateWithUTF8CString(className); | |
| JSObjectRef classObject = JSObjectMake(context, JSClassCreate(definition), NULL); | |
| JSObjectSetProperty(context, parentObject, | |
| js_className, classObject, | |
| kJSPropertyAttributeNone, NULL); | |
| JSStringRelease(js_className); | |
| return true; | |
| } | |
| SWIGINTERN bool JS_registerNamespace(JSGlobalContextRef context, | |
| JSObjectRef namespaceObj, JSObjectRef parentNamespace, | |
| const char* name) | |
| { | |
| JSStringRef js_name = JSStringCreateWithUTF8CString(name); | |
| JSObjectSetProperty(context, parentNamespace, | |
| js_name, namespaceObj, | |
| kJSPropertyAttributeNone, NULL); | |
| JSStringRelease(js_name); | |
| return true; | |
| } | |
| SWIGINTERN bool JS_registerFunction(JSGlobalContextRef context, JSObjectRef object, | |
| const char* functionName, JSObjectCallAsFunctionCallback callback) | |
| { | |
| JSStringRef js_functionName = JSStringCreateWithUTF8CString(functionName); | |
| JSObjectSetProperty(context, object, js_functionName, | |
| JSObjectMakeFunctionWithCallback(context, js_functionName, callback), | |
| kJSPropertyAttributeNone, NULL); | |
| JSStringRelease(js_functionName); | |
| return true; | |
| } | |
| SWIGINTERN bool JS_veto_set_variable(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef value, JSValueRef* exception) | |
| { | |
| char buffer[256]; | |
| char msg[512]; | |
| int res; | |
| JSStringGetUTF8CString(propertyName, buffer, 256); | |
| res = SWIG_snprintf(msg, sizeof(msg), "Tried to write read-only variable: %s.", buffer); | |
| if(res<0) { | |
| SWIG_exception(SWIG_ERROR, "Tried to write read-only variable."); | |
| } else { | |
| SWIG_exception(SWIG_ERROR, msg); | |
| } | |
| fail: | |
| return false; | |
| } | |
| SWIGINTERN JSValueRef JS_CharPtrToJSValue(JSContextRef context, char* cstr) { | |
| JSValueRef val; | |
| JSStringRef jsstring = JSStringCreateWithUTF8CString((char*) cstr); | |
| val = JSValueMakeString(context, jsstring); | |
| JSStringRelease(jsstring); | |
| return val; | |
| } | |
| %} |