| %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 |
| %} |