|
1 # IBCarbonsupport.py |
|
2 |
|
3 from macsupport import * |
|
4 |
|
5 IBNibRef = OpaqueByValueType('IBNibRef', 'IBNibRefObj') |
|
6 #CFBundleRef = OpaqueByValueType('CFBundleRef') |
|
7 |
|
8 IBCarbonFunction = OSErrFunctionGenerator |
|
9 IBCarbonMethod = OSErrMethodGenerator |
|
10 |
|
11 includestuff = """ |
|
12 #include <Carbon/Carbon.h> |
|
13 #include "pymactoolbox.h" |
|
14 |
|
15 #ifdef USE_TOOLBOX_OBJECT_GLUE |
|
16 extern int _CFStringRefObj_Convert(PyObject *, CFStringRef *); |
|
17 #endif |
|
18 |
|
19 """ |
|
20 |
|
21 initstuff = """ |
|
22 |
|
23 """ |
|
24 |
|
25 module = MacModule('_IBCarbon', 'IBCarbon', includestuff, finalstuff, initstuff) |
|
26 |
|
27 class CFReleaserObject(PEP253Mixin, GlobalObjectDefinition): |
|
28 def outputFreeIt(self, name): |
|
29 Output("CFRelease(%s);" % name) |
|
30 |
|
31 class CFNibDesc(PEP253Mixin, GlobalObjectDefinition): |
|
32 def outputFreeIt(self, name): |
|
33 Output("DisposeNibReference(%s);" % name) |
|
34 |
|
35 #cfstringobject = CFReleaserObject("CFStringRef") |
|
36 #module.addobject(cfstringobject) |
|
37 #cfbundleobject = CFReleaserObject("CFBundleRef") |
|
38 #module.addobject(cfbundleobject) |
|
39 ibnibobject = CFNibDesc("IBNibRef", "IBNibRefObj") |
|
40 module.addobject(ibnibobject) |
|
41 |
|
42 functions = [] |
|
43 methods = [] |
|
44 |
|
45 execfile('IBCarbongen.py') |
|
46 |
|
47 for f in functions: module.add(f) |
|
48 for m in methods: ibnibobject.add(m) |
|
49 |
|
50 SetOutputFileName('_IBCarbon.c') |
|
51 module.generate() |