%insert(init) %{ SWIGRUNTIME void SWIG_JSC_SetModule(JSGlobalContextRef context, swig_module_info *swig_module) { JSObjectRef globalObject; JSStringRef moduleName; JSClassDefinition classDef; JSClassRef classRef; JSObjectRef object; if(context == 0){ return; } globalObject = JSContextGetGlobalObject(context); moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); classDef = kJSClassDefinitionEmpty; classRef = JSClassCreate(&classDef); object = JSObjectMake(context, classRef, NULL); JSObjectSetPrivate(object, (void*)swig_module); JSObjectSetProperty(context, globalObject, moduleName, object, kJSPropertyAttributeNone, NULL); JSClassRelease(classRef); JSStringRelease(moduleName); } SWIGRUNTIME swig_module_info * SWIG_JSC_GetModule(JSGlobalContextRef context) { JSObjectRef globalObject; JSStringRef moduleName; JSValueRef value; JSObjectRef object; if(context == 0){ return 0; } globalObject = JSContextGetGlobalObject(context); moduleName = JSStringCreateWithUTF8CString("swig_module_info_data"); if(JSObjectHasProperty(context, globalObject, moduleName) == false) { JSStringRelease(moduleName); return 0; } value = JSObjectGetProperty(context, globalObject, moduleName, NULL); object = JSValueToObject(context, value, NULL); JSStringRelease(moduleName); return (swig_module_info*)JSObjectGetPrivate(object); } #define SWIG_GetModule(clientdata) SWIG_JSC_GetModule(clientdata) #define SWIG_SetModule(clientdata, pointer) SWIG_JSC_SetModule(clientdata, pointer) #define SWIG_INIT_CLIENT_DATA_TYPE JSGlobalContextRef %} %insert(init) "swiginit.swg" %fragment ("js_initializer_define", "templates") %{ #define SWIGJSC_INIT $jsname_initialize %} // Open the initializer function %insert(init) %{ #ifdef __cplusplus extern "C" { #endif bool SWIGJSC_INIT (JSGlobalContextRef context, JSObjectRef *exports) { SWIG_InitializeModule(context); %} /* ----------------------------------------------------------------------------- * js_initializer: template for the module initializer function * - $jsname: module name * - $jscreatenamespaces: part with code for creating namespace objects * - $jscreateclasses: part with code for creating classes * - $jsregisternamespaces: part with code for registration of namespaces * ----------------------------------------------------------------------------- */ %fragment ("js_initializer", "templates") %{ /* Initialize the base swig type object */ _SwigObject_objectDefinition.staticFunctions = _SwigObject_functions; _SwigObject_objectDefinition.staticValues = _SwigObject_values; _SwigObject_classRef = JSClassCreate(&_SwigObject_objectDefinition); /* Initialize the PackedData class */ _SwigPackedData_objectDefinition.staticFunctions = _SwigPackedData_functions; _SwigPackedData_objectDefinition.staticValues = _SwigPackedData_values; _SwigPackedData_objectDefinition.finalize = _wrap_SwigPackedData_delete; _SwigPackedData_classRef = JSClassCreate(&_SwigPackedData_objectDefinition); /* Create objects for namespaces */ $jscreatenamespaces /* Register classes */ $jsregisterclasses /* Register namespaces */ $jsregisternamespaces *exports = exports_object; return true; } #ifdef __cplusplus } #endif %}