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