1#include <Python.h> 2#include "pyobjc-api.h" 3 4#import <Foundation/Foundation.h> 5 6/* We include the source code here instead of 7 * using the linker due to limitations in pyobjc-api.h 8 */ 9 10#include "_Foundation_NSDecimal.m" 11#include "_Foundation_NSInvocation.m" 12#include "_Foundation_data.m" 13#include "_Foundation_netservice.m" 14#include "_Foundation_nscoder.m" 15#include "_Foundation_string.m" 16#include "_Foundation_typecode.m" 17 18static PyMethodDef mod_methods[] = { 19 FOUNDATION_TYPECODE_METHODS 20 { 0, 0, 0, 0 } /* sentinel */ 21}; 22 23 24/* Python glue */ 25PyObjC_MODULE_INIT(_Foundation) 26{ 27 PyObject* m; 28 m = PyObjC_MODULE_CREATE(_Foundation) 29 if (!m) { 30 PyObjC_INITERROR(); 31 } 32 33 if (PyObjC_ImportAPI(m) == -1) PyObjC_INITERROR(); 34 35 if (setup_nsdecimal(m) == -1) PyObjC_INITERROR(); 36 if (setup_nsinvocation(m) == -1) PyObjC_INITERROR(); 37 if (setup_nsdata(m) == -1) PyObjC_INITERROR(); 38 if (setup_nsnetservice(m) == -1) PyObjC_INITERROR(); 39 if (setup_nscoder(m) == -1) PyObjC_INITERROR(); 40 if (setup_nssstring(m) == -1) PyObjC_INITERROR(); 41 42 PyObjC_INITDONE(); 43} 44