| 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()
|
|---|