|
[Pyobjc-checkins] [PyObjC-svn] r2397 - in
trunk/pyobjc/pyobjc-framework-Cocoa: . Lib/Foundation Modules
From: <ronaldoussoren@re...> - 2010-02-02 15:10
|
Author: ronaldoussoren
Date: Tue Feb 2 09:09:59 2010
New Revision: 2397
Log:
* Bump version to 2.3a0
* use 'namedSelector' instead of 'namedselector' in Foundation._nsobject
* enabled py3k compilation for the C extensions
(This doesn't mean these wrappers actually work with python 3,
hopefully later tonight...)
Removed:
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/pyobjc-api.h
Modified:
trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/_nsobject.py
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_appmain.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_carbon.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_inlines.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbezierpath.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsfont.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsquickdrawview.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsview.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nswindow.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBag.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBitVector.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFCalendar.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFDictionary.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFFileDescriptor.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMachPort.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMessagePort.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFNumber.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFReadStream.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopObserver.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopSource.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopTimer.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSet.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSocket.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFTree.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFWriteStream.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_inlines.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSDecimal.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSInvocation.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_data.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_netservice.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_nscoder.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_string.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_typecode.m
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/testhelper.m
trunk/pyobjc/pyobjc-framework-Cocoa/pyobjc_setup.py
trunk/pyobjc/pyobjc-framework-Cocoa/setup.py
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/_nsobject.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/_nsobject.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/_nsobject.py Tue Feb 2 09:09:59 2010
@@ -2,7 +2,7 @@
Define a category on NSObject with some useful methods.
FIXME:
-- add signature information (namedselector) to all methods
+- add signature information (namedSelector) to all methods
(not strictly needed)
- add docstrings everywhere
- create unittests
@@ -14,7 +14,7 @@
class NSObject (objc.Category(NSObject)):
- @objc.namedselector("_pyobjc_performOnThread:")
+ @objc.namedSelector("_pyobjc_performOnThread:")
def _pyobjc_performOnThread_(self, callinfo):
try:
sel, arg = callinfo
@@ -24,7 +24,7 @@
import traceback
traceback.print_exc(fp=sys.stderr)
- @objc.namedselector("_pyobjc_performOnThreadWithResult:")
+ @objc.namedSelector("_pyobjc_performOnThreadWithResult:")
def _pyobjc_performOnThreadWithResult_(self, callinfo):
try:
sel, arg, result = callinfo
@@ -36,7 +36,7 @@
if hasattr(NSObject, "performSelector_onThread_withObject_waitUntilDone_"):
- @objc.namedselector("pyobjc_performSelector:onThread:withObject:waitUntilDone:")
+ @objc.namedSelector("pyobjc_performSelector:onThread:withObject:waitUntilDone:")
def pyobjc_performSelector_onThread_withObject_waitUntilDone_(
self, aSelector, thread, arg, wait):
"""
@@ -47,7 +47,7 @@
self.performSelector_onThread_withObject_waitUntilDone_(
'pyobjc_performOnThread:', thread, (aSelector, arg), wait)
- @objc.namedselector("pyobjc_performSelector:onThread:withObject:waitUntilDone:modes:")
+ @objc.namedSelector("pyobjc_performSelector:onThread:withObject:waitUntilDone:modes:")
def pyobjc_performSelector_onThread_withObject_waitUntilDone_modes_(
self, aSelector, thread, arg, wait, modes):
"""
@@ -58,7 +58,7 @@
self.performSelector_onThread_withObject_waitUntilDone_modes_(
'pyobjc_performOnThread:', thread, (aSelector, arg), wait, modes)
- @objc.namedselector("pyobjc_performSelector:withObject:afterDelay:")
+ @objc.namedSelector("pyobjc_performSelector:withObject:afterDelay:")
def pyobjc_performSelector_withObject_afterDelay_(
self, aSelector, arg, delay):
"""
@@ -69,7 +69,7 @@
self.performSelector_withObject_afterDelay_(
'pyobjc_performOnThread:', (aSelector, arg), delay)
- @objc.namedselector("pyobjc_performSelector:withObject:afterDelay:inModes:")
+ @objc.namedSelector("pyobjc_performSelector:withObject:afterDelay:inModes:")
def pyobjc_performSelector_withObject_afterDelay_inModes_(
self, aSelector, arg, delay, modes):
"""
@@ -81,7 +81,7 @@
'pyobjc_performOnThread:', (aSelector, arg), delay, modes)
if hasattr(NSObject, "performSelectorInBackground_withObject_waitUntilDone_"):
- @objc.namedselector("pyobjc_performSelectorInBackground:withObject:")
+ @objc.namedSelector("pyobjc_performSelectorInBackground:withObject:")
def pyobjc_performSelectorInBackground_withObject_(
self, aSelector, arg):
"""
@@ -93,7 +93,7 @@
'pyobjc_performOnThread:', (aSelector, arg))
- @objc.namedselector("pyobjc_performSelectorInBackground:withObject:waitUntilDone:")
+ @objc.namedSelector("pyobjc_performSelectorInBackground:withObject:waitUntilDone:")
def pyobjc_performSelectorOnMainThread_withObject_waitUntilDone_(
self, aSelector, arg, wait):
"""
@@ -104,7 +104,7 @@
self.performSelectorOnMainThread_withObject_waitUntilDone_(
'pyobjc_performOnThread:', (aSelector, arg), wait)
- @objc.namedselector("pyobjc_performSelectorOnMainThread:withObject:waitUntilDone:modes:")
+ @objc.namedSelector("pyobjc_performSelectorOnMainThread:withObject:waitUntilDone:modes:")
def pyobjc_performSelectorOnMainThread_withObject_waitUntilDone_modes_(
self, aSelector, arg, wait, modes):
"""
@@ -118,7 +118,7 @@
# And some a some versions that return results
- @objc.namedselector("pyobjc_performSelectorOnMainThread:withObject:modes:")
+ @objc.namedSelector("pyobjc_performSelectorOnMainThread:withObject:modes:")
def pyobjc_performSelectorOnMainThread_withObject_modes_(
self, aSelector, arg, modes):
"""
@@ -142,7 +142,7 @@
exc_type, exc_value, exc_trace = result
raise exc_type, exc_value, exc_trace
- @objc.namedselector("pyobjc_performSelectorOnMainThread:withObject:")
+ @objc.namedSelector("pyobjc_performSelectorOnMainThread:withObject:")
def pyobjc_performSelectorOnMainThread_withObject_(
self, aSelector, arg):
result = []
@@ -161,7 +161,7 @@
# These methods require Leopard, don't define them if the
# platform functionality isn't present.
- @objc.namedselector("pyobjc_performSelector:onThread:withObject:modes:")
+ @objc.namedSelector("pyobjc_performSelector:onThread:withObject:modes:")
def pyobjc_performSelector_onThread_withObject_modes_(
self, aSelector, thread, arg, modes):
result = []
@@ -176,7 +176,7 @@
exc_type, exc_value, exc_trace = result
raise exc_type, exc_value, exc_trace
- @objc.namedselector("pyobjc_performSelector:onThread:withObject:")
+ @objc.namedSelector("pyobjc_performSelector:onThread:withObject:")
def pyobjc_performSelector_onThread_withObject_(
self, aSelector, thread, arg):
result = []
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_appmain.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_appmain.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_appmain.m Tue Feb 2 09:09:59 2010
@@ -139,11 +139,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_appmain",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__appmain(void);
+
+PyObject*
+PyInit__appmain(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_appmain(void);
-void init_appmain(void)
+
+void
+init_appmain(void)
+#endif
{
- PyObject* m = Py_InitModule4("_appmain", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_appmain", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_carbon.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_carbon.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_carbon.m Tue Feb 2 09:09:59 2010
@@ -40,15 +40,57 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_carbon",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__carbon(void);
+
+PyObject*
+PyInit__carbon(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_carbon(void);
-void init_carbon(void)
+
+void
+init_carbon(void)
+#endif
{
- PyObject* m = Py_InitModule4("_carbon", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_carbon", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- if (PyObjC_ImportAPI(m) < 0) return;
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
if (PyObjCPointerWrapper_Register(@encode(WindowRef),
&window2py, &py2window) < 0)
- return;
+ INITERROR();
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_inlines.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_inlines.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_inlines.m Tue Feb 2 09:09:59 2010
@@ -15,10 +15,56 @@
{ 0, 0, 0, 0 } /* sentinel */
};
-void init_inlines(void)
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_inlines",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__inlines(void);
+
+PyObject*
+PyInit__inlines(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_inlines(void);
+
+void
+init_inlines(void)
+#endif
{
- PyObject* m = Py_InitModule4("_inlines", mod_methods, NULL, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_inlines", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyModule_AddObject(m, "_inline_list_",
+ PyCObject_FromVoidPtr(function_map, NULL)) < 0) {
+ INITERROR();
+ }
- PyModule_AddObject(m, "_inline_list_",
- PyCObject_FromVoidPtr(function_map, NULL));
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbezierpath.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbezierpath.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbezierpath.m Tue Feb 2 09:09:59 2010
@@ -264,23 +264,63 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsbezierpath",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsbezierpath(void);
+
+PyObject*
+PyInit__nsbezierpath(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsbezierpath(void);
-void init_nsbezierpath(void)
+
+void
+init_nsbezierpath(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsbezierpath", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsbezierpath", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class cls = objc_lookUpClass("NSBezierPath");
- if (!cls) return;
+ if (!cls) INITDONE();
if (PyObjC_RegisterMethodMapping(cls,
@selector(elementAtIndex:associatedPoints:),
call_NSBezierPath_elementAtIndex_associatedPoints_,
imp_NSBezierPath_elementAtIndex_associatedPoints_) < 0 ) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(cls,
@@ -288,8 +328,8 @@
call_NSBezierPath_setAssociatedPoints_atIndex_,
PyObjCUnsupportedMethod_IMP) < 0 ) {
- return;
+ INITERROR();
}
- return;
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m Tue Feb 2 09:09:59 2010
@@ -353,22 +353,64 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsbitmap",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsbitmap(void);
+
+PyObject*
+PyInit__nsbitmap(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsbitmap(void);
-void init_nsbitmap(void)
+
+void
+init_nsbitmap(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsbitmap", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsbitmap", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class class_NSBitmapImageRep = objc_lookUpClass("NSBitmapImageRep");
+ if (class_NSBitmapImageRep == NULL) {
+ INITDONE();
+ }
if (PyObjC_RegisterMethodMapping(class_NSBitmapImageRep,
@selector(getTIFFCompressionTypes:count:),
call_NSBitmapImageRep_getTIFFCompressionTypes_count_,
PyObjCUnsupportedMethod_IMP) < 0 ) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -377,7 +419,7 @@
call_NSBitmapImageRep_initWithBitmap,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -386,7 +428,7 @@
call_NSBitmapImageRep_getBitmapDataPlanes_,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -395,6 +437,8 @@
call_NSBitmapImageRep_bitmapData,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsfont.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsfont.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsfont.m Tue Feb 2 09:09:59 2010
@@ -101,13 +101,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsfont",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsfont(void);
+
+PyObject*
+PyInit__nsfont(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsfont(void);
-void init_nsfont(void)
+
+void
+init_nsfont(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsfont", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsfont", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- return;
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsquickdrawview.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsquickdrawview.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsquickdrawview.m Tue Feb 2 09:09:59 2010
@@ -105,19 +105,59 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsquickdrawview",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsquickdrawview(void);
+
+PyObject*
+PyInit__nsquickdrawview(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsquickdrawview(void);
-void init_nsquickdrawview(void)
+
+void
+init_nsquickdrawview(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsquickdrawview", mod_methods, "", NULL,
- PYTHON_API_VERSION);
- if (!m) {
- return;
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsquickdrawview", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
}
+
#ifndef __LP64__
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSQuickDrawView = objc_lookUpClass("NSQuickDrawView");
+ if (classNSQuickDrawView == NULL) {
+ INITDONE();
+ }
if (PyObjC_RegisterMethodMapping(
classNSQuickDrawView,
@@ -125,7 +165,9 @@
call_NSQuickDrawView_qdport,
imp_NSQuickDrawView_qdport) < 0) {
- return;
+ INITERROR();
}
#endif
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsview.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsview.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsview.m Tue Feb 2 09:09:59 2010
@@ -58,15 +58,58 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsview",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsview(void);
+
+PyObject*
+PyInit__nsview(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsview(void);
-void init_nsview(void)
+
+void
+init_nsview(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsview", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsview", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSView = objc_lookUpClass("NSView");
+ if (classNSView == NULL) {
+ INITDONE();
+ }
if (PyObjC_RegisterMethodMapping(
classNSView,
@@ -74,6 +117,8 @@
call_NSView_getRectsBeingDrawn_count_,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nswindow.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nswindow.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nswindow.m Tue Feb 2 09:09:59 2010
@@ -197,15 +197,57 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nswindow",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nswindow(void);
+
+PyObject*
+PyInit__nswindow(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nswindow(void);
-void init_nswindow(void)
+
+void
+init_nswindow(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nswindow", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nswindow", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- PyObjC_ImportAPI(m);
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSWindow = objc_lookUpClass("NSWindow");
+ if (classNSWindow == NULL) {
+ INITDONE();
+ }
if (PyObjC_RegisterMethodMapping(
classNSWindow,
@@ -213,7 +255,7 @@
call_NSWindow_initWithWindowRef_,
imp_NSWindow_initWithWindowRef_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -222,6 +264,8 @@
call_NSWindow_windowRef,
imp_NSWindow_windowRef) < 0) {
- return;
+ INITERROR();
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBag.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBag.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBag.m Tue Feb 2 09:09:59 2010
@@ -126,12 +126,54 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFBag",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFBag(void);
+
+PyObject*
+PyInit__CFBag(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFBag(void);
-void init_CFBag(void)
+
+void
+init_CFBag(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFBag", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFBag", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBinaryHeap.m Tue Feb 2 09:09:59 2010
@@ -128,11 +128,52 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFBinaryHeap",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFBinaryHeap(void);
+
+PyObject*
+PyInit__CFBinaryHeap(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFBinaryHeap(void);
-void init_CFBinaryHeap(void)
+
+void
+init_CFBinaryHeap(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFBinaryHeap", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFBinaryHeap", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBitVector.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBitVector.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFBitVector.m Tue Feb 2 09:09:59 2010
@@ -115,11 +115,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFBitVector",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFBitVector(void);
+
+PyObject*
+PyInit__CFBitVector(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFBitVector(void);
-void init_CFBitVector(void)
+
+void
+init_CFBitVector(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFBitVector", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFBitVector", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFCalendar.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFCalendar.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFCalendar.m Tue Feb 2 09:09:59 2010
@@ -453,11 +453,54 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFCalendar",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFCalendar(void);
+
+PyObject*
+PyInit__CFCalendar(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFCalendar(void);
-void init_CFCalendar(void)
+
+void
+init_CFCalendar(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFCalendar", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFCalendar", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFDictionary.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFDictionary.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFDictionary.m Tue Feb 2 09:09:59 2010
@@ -110,11 +110,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFDictionary",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFDictionary(void);
+
+PyObject*
+PyInit__CFDictionary(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFDictionary(void);
-void init_CFDictionary(void)
+
+void
+init_CFDictionary(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFDictionary", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFDictionary", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFFileDescriptor.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFFileDescriptor.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFFileDescriptor.m Tue Feb 2 09:09:59 2010
@@ -185,11 +185,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFFileDescriptor",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFFileDescriptor(void);
+
+PyObject*
+PyInit__CFFileDescriptor(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFFileDescriptor(void);
-void init_CFFileDescriptor(void)
+
+void
+init_CFFileDescriptor(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFFileDescriptor", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFFileDescriptor", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMachPort.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMachPort.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMachPort.m Tue Feb 2 09:09:59 2010
@@ -416,11 +416,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFMachPort",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFMachPort(void);
+
+PyObject*
+PyInit__CFMachPort(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFMachPort(void);
-void init_CFMachPort(void)
+
+void
+init_CFMachPort(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFMachPort", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFMachPort", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMessagePort.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMessagePort.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFMessagePort.m Tue Feb 2 09:09:59 2010
@@ -199,11 +199,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFMessagePort",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFMessagePort(void);
+
+PyObject*
+PyInit__CFMessagePort(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFMessagePort(void);
-void init_CFMessagePort(void)
+
+void
+init_CFMessagePort(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFMessagePort", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFMessagePort", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFNumber.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFNumber.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFNumber.m Tue Feb 2 09:09:59 2010
@@ -262,11 +262,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFNumber",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFNumber(void);
+
+PyObject*
+PyInit__CFNumber(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFNumber(void);
-void init_CFNumber(void)
+
+void
+init_CFNumber(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFNumber", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFNumber", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFReadStream.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFReadStream.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFReadStream.m Tue Feb 2 09:09:59 2010
@@ -124,11 +124,52 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFReadStream",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFReadStream(void);
+
+PyObject*
+PyInit__CFReadStream(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFReadStream(void);
-void init_CFReadStream(void)
+
+void
+init_CFReadStream(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFReadStream", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFReadStream", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopObserver.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopObserver.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopObserver.m Tue Feb 2 09:09:59 2010
@@ -191,11 +191,52 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFRunLoopObserver",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFRunLoopObserver(void);
+
+PyObject*
+PyInit__CFRunLoopObserver(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFRunLoopObserver(void);
-void init_CFRunLoopObserver(void)
+
+void
+init_CFRunLoopObserver(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFRunLoopObserver", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFRunLoopObserver", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopSource.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopSource.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopSource.m Tue Feb 2 09:09:59 2010
@@ -245,11 +245,51 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFRunLoopSource",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFRunLoopSource(void);
+
+PyObject*
+PyInit__CFRunLoopSource(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFRunLoopSource(void);
-void init_CFRunLoopSource(void)
+
+void
+init_CFRunLoopSource(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFRunLoopSource", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFRunLoopSource", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopTimer.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopTimer.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFRunLoopTimer.m Tue Feb 2 09:09:59 2010
@@ -192,11 +192,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFRunLoopTimer",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFRunLoopTimer(void);
+
+PyObject*
+PyInit__CFRunLoopTimer(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFRunLoopTimer(void);
-void init_CFRunLoopTimer(void)
+
+void
+init_CFRunLoopTimer(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFRunLoopTimer", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFRunLoopTimer", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSet.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSet.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSet.m Tue Feb 2 09:09:59 2010
@@ -75,11 +75,51 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFSet",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFSet(void);
+
+PyObject*
+PyInit__CFSet(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFSet(void);
-void init_CFSet(void)
+
+void
+init_CFSet(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFSet", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFSet", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSocket.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSocket.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFSocket.m Tue Feb 2 09:09:59 2010
@@ -412,11 +412,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFSocket",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFSocket(void);
+
+PyObject*
+PyInit__CFSocket(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFSocket(void);
-void init_CFSocket(void)
+
+void
+init_CFSocket(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFSocket", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFSocket", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFTree.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFTree.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFTree.m Tue Feb 2 09:09:59 2010
@@ -262,11 +262,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFTree",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFTree(void);
+
+PyObject*
+PyInit__CFTree(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFTree(void);
-void init_CFTree(void)
+
+void
+init_CFTree(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFTree", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFTree", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFWriteStream.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFWriteStream.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_CFWriteStream.m Tue Feb 2 09:09:59 2010
@@ -118,11 +118,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_CFWriteStream",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__CFWriteStream(void);
+
+PyObject*
+PyInit__CFWriteStream(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_CFWriteStream(void);
-void init_CFWriteStream(void)
+
+void
+init_CFWriteStream(void)
+#endif
{
- PyObject* m = Py_InitModule4("_CFWriteStream", mod_methods, "", NULL,
- PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_CFWriteStream", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- PyObjC_ImportAPI(m);
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_inlines.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_inlines.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_CoreFoundation_inlines.m Tue Feb 2 09:09:59 2010
@@ -52,10 +52,54 @@
{ 0, 0, 0, 0 } /* sentinel */
};
-void init_inlines(void)
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_inlines",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__inlines(void);
+
+PyObject*
+PyInit__inlines(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_inlines(void);
+
+void
+init_inlines(void)
+#endif
{
- PyObject* m = Py_InitModule4("_inlines", mod_methods, NULL, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_inlines", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+
+
+ if (PyModule_AddObject(m, "_inline_list_",
+ PyCObject_FromVoidPtr(function_map, NULL)) < 0) {
+ INITERROR();
+ }
- PyModule_AddObject(m, "_inline_list_",
- PyCObject_FromVoidPtr(function_map, NULL));
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSDecimal.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSDecimal.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSDecimal.m Tue Feb 2 09:09:59 2010
@@ -859,10 +859,6 @@
-static PyMethodDef _methods[] = {
- { 0, 0, 0, 0 } /* sentinel */
-};
-
static PyObject*
pythonify_nsdecimal(void* value)
{
@@ -1073,27 +1069,66 @@
}
-PyDoc_STRVAR(_NSDecimal_doc, "_NSDecimal provides a wrapper for NSDecimal");
+PyDoc_STRVAR(mod_doc, "_NSDecimal provides a wrapper for NSDecimal");
+
+static PyMethodDef mod_methods[] = {
+ {
+ NULL,
+ NULL,
+ 0,
+ NULL
+ }
+};
+
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_NSDecimal",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__NSDecimal(void);
+
+PyObject*
+PyInit__NSDecimal(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
void init_NSDecimal(void);
-void init_NSDecimal(void)
+void
+init_NSDecimal(void)
+#endif
{
PyObject* m;
PyType_Ready(&Decimal_Type);
- m = Py_InitModule4("_NSDecimal", _methods, _NSDecimal_doc,
- NULL, PYTHON_API_VERSION);
-
-
- if (m == NULL) {
- return;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_NSDecimal", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
}
- if (PyObjC_ImportAPI(m) < 0) {
- printf("Importing objc failed\n");
- return;
- }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
PyModule_AddObject(m, "NSDecimal", (PyObject*)&Decimal_Type);
@@ -1139,7 +1174,7 @@
@selector(initWithDecimal:),
call_NSDecimalNumber_initWithDecimal_,
imp_NSDecimalNumber_initWithDecimal_) < 0) {
- return;
+ INITERROR();
}
Class classNSDecimalNumberPlaceholder = objc_lookUpClass("NSDecimalNumberPlaceholder");
@@ -1150,7 +1185,7 @@
call_NSDecimalNumber_initWithDecimal_,
imp_NSDecimalNumber_initWithDecimal_) < 0) {
- return;
+ INITERROR();
}
}
@@ -1159,7 +1194,7 @@
@selector(decimalNumberWithDecimal:),
call_NSDecimalNumber_decimalWithDecimal_,
imp_NSDecimalNumber_initWithDecimal_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1167,6 +1202,8 @@
@selector(decimalValue),
call_NSDecimalNumber_decimalValue,
imp_NSDecimalNumber_decimalValue) < 0) {
- return;
+ INITERROR();
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSInvocation.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSInvocation.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_NSInvocation.m Tue Feb 2 09:09:59 2010
@@ -334,15 +334,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nsinvocation",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nsinvocation(void);
+
+PyObject*
+PyInit__nsinvocation(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nsinvocation(void);
void
init_nsinvocation(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nsinvocation", mod_methods,
- mod_doc, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nsinvocation", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- if (PyObjC_ImportAPI(m) < 0) { return; }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSInvocation = objc_lookUpClass("NSInvocation");
@@ -377,4 +415,6 @@
PyObjCUnsupportedMethod_IMP) < 0) {
return;
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_data.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_data.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_data.m Tue Feb 2 09:09:59 2010
@@ -220,16 +220,56 @@
PyObjCErr_ToObjCWithGILState(&state);
}
-static PyMethodDef _methods[] = {
+static PyMethodDef mod_methods[] = {
{ 0, 0, 0, 0 } /* sentinel */
};
-void
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_data",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__data(void);
+
+PyObject*
+PyInit__data(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_data(void);
+
+void
init_data(void)
+#endif
{
- PyObject* m = Py_InitModule4("_data", _methods, "", NULL, PYTHON_API_VERSION);
- if (m == NULL) return;
- if (PyObjC_ImportAPI(m) < 0) return;
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_data", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSData = objc_lookUpClass("NSData");
Class classNSMutableData = objc_lookUpClass("NSMutableData");
@@ -240,7 +280,7 @@
@selector(bytes),
call_NSData_bytes,
imp_NSData_bytes) < 0 ) {
- return;
+ INITERROR();
}
}
@@ -251,10 +291,10 @@
@selector(mutableBytes),
call_NSMutableData_mutableBytes,
imp_NSMutableData_mutableBytes) < 0 ) {
- return;
+ INITERROR();
}
}
- return;
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_inlines.m Tue Feb 2 09:09:59 2010
@@ -85,10 +85,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
-void init_inlines(void)
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_inlines",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__inlines(void);
+
+PyObject*
+PyInit__inlines(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_inlines(void);
+
+void
+init_inlines(void)
+#endif
{
- PyObject* m = Py_InitModule4("_inlines", mod_methods, NULL, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_inlines", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+
+
+ if (PyModule_AddObject(m, "_inline_list_",
+ PyCObject_FromVoidPtr(function_map, NULL)) < 0)
+
+ INITERROR();
- PyModule_AddObject(m, "_inline_list_",
- PyCObject_FromVoidPtr(function_map, NULL));
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_netservice.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_netservice.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_netservice.m Tue Feb 2 09:09:59 2010
@@ -149,22 +149,61 @@
}
-static PyMethodDef _methods[] = {
+static PyMethodDef mod_methods[] = {
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_netservice",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__netservice(void);
+
+PyObject*
+PyInit__netservice(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_netservice(void);
+
void
init_netservice(void)
+#endif
{
- PyObject* m = Py_InitModule4("_netservice", _methods, "", NULL,
- PYTHON_API_VERSION);
- if (m == NULL) return;
- if (PyObjC_ImportAPI(m) < 0) return;
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_netservice", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSNetService = objc_lookUpClass("NSNetService");
if (classNSNetService == NULL) {
- return;
+ INITDONE();
}
if (PyObjC_RegisterMethodMapping(
@@ -173,8 +212,8 @@
call_NSNetService_addresses,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
- return;
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_nscoder.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_nscoder.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_nscoder.m Tue Feb 2 09:09:59 2010
@@ -1099,15 +1099,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_nscoder",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__nscoder(void);
+
+PyObject*
+PyInit__nscoder(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_nscoder(void);
void
init_nscoder(void)
+#endif
{
- PyObject* m = Py_InitModule4("_nscoder", mod_methods,
- mod_doc, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_nscoder", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- if (PyObjC_ImportAPI(m) < 0) { return; }
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
Class classNSCoder = objc_lookUpClass("NSCoder");
@@ -1116,7 +1154,7 @@
@selector(encodeArrayOfObjCType:count:at:),
call_NSCoder_encodeArrayOfObjCType_count_at_,
imp_NSCoder_encodeArrayOfObjCType_count_at_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1124,7 +1162,7 @@
@selector(encodeValueOfObjCType:at:),
call_NSCoder_encodeValueOfObjCType_at_,
imp_NSCoder_encodeValueOfObjCType_at_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1132,7 +1170,7 @@
@selector(decodeArrayOfObjCType:count:at:),
call_NSCoder_decodeArrayOfObjCType_count_at_,
imp_NSCoder_decodeArrayOfObjCType_count_at_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1140,7 +1178,7 @@
@selector(decodeValueOfObjCType:at:),
call_NSCoder_decodeValueOfObjCType_at_,
imp_NSCoder_decodeValueOfObjCType_at_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1148,7 +1186,7 @@
@selector(encodeBytes:length:),
call_NSCoder_encodeBytes_length_,
imp_NSCoder_encodeBytes_length_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1156,7 +1194,7 @@
@selector(encodeBytes:length:forKey:),
call_NSCoder_encodeBytes_length_forKey_,
imp_NSCoder_encodeBytes_length_forKey_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1164,7 +1202,7 @@
@selector(decodeBytesWithReturnedLength:),
call_NSCoder_decodeBytesWithReturnedLength_,
imp_NSCoder_decodeBytesWithReturnedLength_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1172,7 +1210,7 @@
@selector(decodeBytesForKey:returnedLength::),
call_NSCoder_decodeBytesForKey_returnedLength_,
imp_NSCoder_decodeBytesForKey_returnedLength_) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1180,7 +1218,7 @@
@selector(decodeBytesWithoutReturnedLength),
PyObjCUnsupportedMethod_Caller,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1188,7 +1226,7 @@
@selector(encodeValuesOfObjCTypes:),
PyObjCUnsupportedMethod_Caller,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -1196,6 +1234,8 @@
@selector(decodeValuesOfObjCTypes:),
PyObjCUnsupportedMethod_Caller,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_string.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_string.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_string.m Tue Feb 2 09:09:59 2010
@@ -123,19 +123,58 @@
return res;
}
-static PyMethodDef _methods[] = {
+static PyMethodDef mod_methods[] = {
{ 0, 0, 0, 0 } /* sentinel */
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_string",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__string(void);
+
+PyObject*
+PyInit__string(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+void init_string(void);
+
void
init_string(void)
+#endif
{
- PyObject* m = Py_InitModule4("_string", _methods, "", NULL, PYTHON_API_VERSION);
- if (m == NULL) return;
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_string", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
Class classNSString = objc_lookUpClass("NSString");
- if (classNSString == NULL) return;
- if (PyObjC_ImportAPI(m) < 0) return;
+ if (classNSString == NULL) INITDONE();
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
if (PyObjC_RegisterMethodMapping(
@@ -144,7 +183,7 @@
call_NSString_getCString_maxLength_range_remainingRange_,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
if (PyObjC_RegisterMethodMapping(
@@ -153,9 +192,8 @@
call_NSString_getCString_maxLength_,
PyObjCUnsupportedMethod_IMP) < 0) {
- return;
+ INITERROR();
}
-
- return;
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_typecode.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_typecode.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_Foundation_typecode.m Tue Feb 2 09:09:59 2010
@@ -103,13 +103,53 @@
{ 0, 0, 0, 0 } /* sentinel */
};
+
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_typecode",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__typecode(void);
+
+PyObject*
+PyInit__typecode(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void init_typecode(void);
void
init_typecode(void)
+#endif
{
- PyObject* m = Py_InitModule4("_typecode", mod_methods,
- mod_doc, NULL, PYTHON_API_VERSION);
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_typecode", mod_methods,
+ NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
+
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
- if (PyObjC_ImportAPI(m) < 0) { return; }
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/testhelper.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/testhelper.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/testhelper.m Tue Feb 2 09:09:59 2010
@@ -231,26 +231,63 @@
@end
-static PyMethodDef no_methods[] = {
+static PyMethodDef mod_methods[] = {
{ 0, 0, 0, 0 }
};
+/* Python glue */
+#if PY_VERSION_HEX >= 0x03000000
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "testhelper",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit_testhelper(void);
+
+PyObject*
+PyInit_testhelper(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
void inittesthelper(void);
-void inittesthelper(void)
+void
+inittesthelper(void)
+#endif
{
- PyObject* m;
-
- m = Py_InitModule4("testhelper", no_methods,
+ PyObject* m;
+#if PY_VERSION_HEX >= 0x03000000
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("testhelper", mod_methods,
NULL, NULL, PYTHON_API_VERSION);
- if (!m) return;
+#endif
+ if (!m) {
+ INITERROR();
+ }
- if (PyObjC_ImportAPI(m) < 0) return;
+ if (PyObjC_ImportAPI(m) == -1) INITERROR();
PyModule_AddObject(m, "PyObjC_TestClass3",
PyObjCClass_New([PyObjC_TestClass3 class]));
PyModule_AddObject(m, "PyObjC_TestClass4",
PyObjCClass_New([PyObjC_TestClass4 class]));
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/pyobjc_setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/pyobjc_setup.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/pyobjc_setup.py Tue Feb 2 09:09:59 2010
@@ -14,6 +14,9 @@
from distutils.errors import DistutilsPlatformError
from distutils.command import build, install, install_lib
from setuptools.command import develop, test, build_ext
+import pkg_resources
+import shutil
+import os
import plistlib
import sys
import __main__
@@ -34,7 +37,35 @@
class pyobjc_build_ext (build_ext.build_ext):
def run(self):
+
+ # Ensure that the PyObjC header files are available
+ # in 2.3 and later the headers are in the egg,
+ # before that we ship a copy.
+ dist, = pkg_resources.require('pyobjc-core')
+
+ include_root = os.path.join(self.build_temp, 'pyobjc-include')
+ if os.path.exists(include_root):
+ shutil.rmtree(include_root)
+
+ os.makedirs(include_root)
+ if dist.has_metadata('include'):
+ for fn in dist.metadata_listdir('include'):
+ data = dist.get_metadata('include/%s'%(fn,))
+ open(os.path.join(include_root, fn), 'w').write(data)
+
+ else:
+ data = gPyObjCAPI_H
+ open(os.path.join(include_rot, 'pyobjc-api.h'), 'w').write(data)
+
+ for e in self.extensions:
+ if include_root not in e.include_dirs:
+ e.include_dirs.append(include_root)
+
+ # Run the actual build
build_ext.build_ext.run(self)
+
+ # Then tweak the copy_extensions bit to ensure PyObjCTest gets
+ # copied to the right place.
extensions = self.extensions
self.extensions = [
e for e in extensions if e.name.startswith('PyObjCTest') ]
@@ -135,3 +166,493 @@
zip_safe = True,
**kwds
)
+
+
+gPyObjCAPI_H="""\
+#ifndef PyObjC_API_H
+#define PyObjC_API_H
+
+/*
+ * Use this in helper modules for the objc package, and in wrappers
+ * for functions that deal with objective-C objects/classes
+ *
+ * This header defines some utility wrappers for importing and using
+ * the core bridge.
+ *
+ * This is the *only* header file that should be used to access
+ * functionality in the core bridge.
+ *
+ * WARNING: this file is not part of the public interface of PyObjC and
+ * might change or be removed without warning or regard for backward
+ * compatibility.
+ */
+
+#include "Python.h"
+#include <objc/objc.h>
+
+#import <Foundation/Foundation.h>
+
+#ifndef CGFLOAT_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no CFFloat available???"
+#endif
+
+typedef float CGFloat;
+#define CGFLOAT_MIN FLT_MIN
+#define CGFLOAT_MAX FLT_MAX
+#define CGFLOAT_IS_DOUBLE 0
+#define CGFLOAT_DEFINED
+
+#endif /* CGFLOAT_DEFINED */
+
+
+#ifndef NSINTEGER_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no NSINTEGER available???"
+#endif
+
+typedef int NSInteger;
+typedef unsigned int NSUInteger;
+
+#define NSIntegerMax LONG_MAX
+#define NSIntegerMin LONG_MIN
+#define NSUIntegerMax ULONG_MAX
+
+#define NSINTEGER_DEFINED
+
+#endif
+
+
+#ifndef PyObjC_COMPAT_H
+#if (PY_VERSION_HEX < 0x02050000)
+typedef int Py_ssize_t;
+#define PY_FORMAT_SIZE_T ""
+#define Py_ARG_SIZE_T "n"
+#define PY_SSIZE_T_MAX INT_MAX
+
+#else
+
+#define Py_ARG_SIZE_T "i"
+#endif
+#endif
+
+#import <Foundation/NSException.h>
+
+struct PyObjC_WeakLink {
+ const char* name;
+ void (*func)(void);
+};
+
+
+/* threading support */
+#ifdef NO_OBJC2_RUNTIME
+#define PyObjC_DURING \
+ Py_BEGIN_ALLOW_THREADS \
+ NS_DURING
+
+#define PyObjC_HANDLER NS_HANDLER
+
+#define PyObjC_ENDHANDLER \
+ NS_ENDHANDLER \
+ Py_END_ALLOW_THREADS
+#else
+
+#define PyObjC_DURING \
+ Py_BEGIN_ALLOW_THREADS \
+ @try {
+
+#define PyObjC_HANDLER } @catch(volatile NSObject* _localException) { \
+ NSException* localException __attribute__((__unused__))= (NSException*)_localException;
+
+#define PyObjC_ENDHANDLER \
+ } \
+ Py_END_ALLOW_THREADS
+
+#endif
+
+#define PyObjC_BEGIN_WITH_GIL \
+ { \
+ PyGILState_STATE _GILState; \
+ _GILState = PyGILState_Ensure();
+
+#define PyObjC_GIL_FORWARD_EXC() \
+ do { \
+ PyObjCErr_ToObjCWithGILState(&_GILState); \
+ } while (0)
+
+
+#define PyObjC_GIL_RETURN(val) \
+ do { \
+ PyGILState_Release(_GILState); \
+ return (val); \
+ } while (0)
+
+#define PyObjC_GIL_RETURNVOID \
+ do { \
+ PyGILState_Release(_GILState); \
+ return; \
+ } while (0)
+
+
+#define PyObjC_END_WITH_GIL \
+ PyGILState_Release(_GILState); \
+ }
+
+
+
+#include <objc/objc-runtime.h>
+
+/* On 10.1 there are no defines for the OS version. */
+#ifndef MAC_OS_X_VERSION_10_1
+#define MAC_OS_X_VERSION_10_1 1010
+#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_1
+
+#error "MAC_OS_X_VERSION_10_1 not defined. You aren't running 10.1 are you?"
+
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_2
+#define MAC_OS_X_VERSION_10_2 1020
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_3
+#define MAC_OS_X_VERSION_10_3 1030
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_4
+#define MAC_OS_X_VERSION_10_4 1040
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_5
+#define MAC_OS_X_VERSION_10_5 1050
+#endif
+
+/* Current API version, increase whenever:
+ * - Semantics of current functions change
+ * - Functions are removed
+ * Do not increase when adding a new function, the struct_len field
+ * can be used for detecting if a function has been added.
+ *
+ * HISTORY:
+ * - Version 2.2 adds PyObjCUnsupportedMethod_IMP
+ * and PyObjCUnsupportedMethod_Caller
+ * - Version 2.1 adds PyObjCPointerWrapper_Register
+ * - Version 2 adds an argument to PyObjC_InitSuper
+ * - Version 3 adds another argument to PyObjC_CallPython
+ * - Version 4 adds PyObjCErr_ToObjCGILState
+ * - Version 4.1 adds PyObjCRT_AlignOfType and PyObjCRT_SizeOfType
+ * (PyObjC_SizeOfType is now deprecated)
+ * - Version 4.2 adds PyObjCRT_SELName
+ * - Version 4.3 adds PyObjCRT_SimplifySignature
+ * - Version 4.4 adds PyObjC_FreeCArray, PyObjC_PythonToCArray and
+ * PyObjC_CArrayToPython
+ * - Version 5 modifies the signature for PyObjC_RegisterMethodMapping,
+ * PyObjC_RegisterSignatureMapping and PyObjCUnsupportedMethod_IMP,
+ * adds PyObjC_RegisterStructType and removes PyObjC_CallPython
+ * - Version 6 adds PyObjCIMP_Type, PyObjCIMP_GetIMP and PyObjCIMP_GetSelector
+ * - Version 7 adds PyObjCErr_AsExc, PyGILState_Ensure
+ * - Version 8 adds PyObjCObject_IsUninitialized,
+ removes PyObjCSelector_IsInitializer
+ * - Version 9 (???)
+ * - Version 10 changes the signature of PyObjCRT_SimplifySignature
+ * - Version 11 adds PyObjCObject_Convert, PyObjCSelector_Convert,
+ PyObjCClass_Convert, PyObjC_ConvertBOOL, and PyObjC_ConvertChar
+ * - Version 12 adds PyObjCObject_New
+ * - Version 13 adds PyObjCCreateOpaquePointerType
+ * - Version 14 adds PyObjCObject_NewTransient, PyObjCObject_ReleaseTransient
+ * - Version 15 changes the interface of PyObjCObject_New
+ * - Version 16 adds PyObjC_PerformWeaklinking
+ * - Version 17 introduces Py_ssize_t support
+ * - Version 18 introduces several API incompatibilities
+ */
+#define PYOBJC_API_VERSION 18
+
+#define PYOBJC_API_NAME "__C_API__"
+
+/*
+ * Only add items to the end of this list!
+ */
+typedef int (RegisterMethodMappingFunctionType)(
+ Class,
+ SEL,
+ PyObject *(*)(PyObject*, PyObject*, PyObject*),
+ void (*)(void*, void*, void**, void*));
+
+struct pyobjc_api {
+ int api_version; /* API version */
+ size_t struct_len; /* Length of this struct */
+ PyTypeObject* class_type; /* PyObjCClass_Type */
+ PyTypeObject* object_type; /* PyObjCObject_Type */
+ PyTypeObject* select_type; /* PyObjCSelector_Type */
+
+ /* PyObjC_RegisterMethodMapping */
+ RegisterMethodMappingFunctionType *register_method_mapping;
+
+ /* PyObjC_RegisterSignatureMapping */
+ int (*register_signature_mapping)(
+ char*,
+ PyObject *(*)(PyObject*, PyObject*, PyObject*),
+ void (*)(void*, void*, void**, void*));
+
+ /* PyObjCObject_GetObject */
+ id (*obj_get_object)(PyObject*);
+
+ /* PyObjCObject_ClearObject */
+ void (*obj_clear_object)(PyObject*);
+
+ /* PyObjCClass_GetClass */
+ Class (*cls_get_class)(PyObject*);
+
+ /* PyObjCClass_New */
+ PyObject* (*cls_to_python)(Class cls);
+
+ /* PyObjC_PythonToId */
+ id (*python_to_id)(PyObject*);
+
+ /* PyObjC_IdToPython */
+ PyObject* (*id_to_python)(id);
+
+ /* PyObjCErr_FromObjC */
+ void (*err_objc_to_python)(NSException*);
+
+ /* PyObjCErr_ToObjC */
+ void (*err_python_to_objc)(void);
+
+ /* PyObjC_PythonToObjC */
+ int (*py_to_objc)(const char*, PyObject*, void*);
+
+ /* PyObjC_ObjCToPython */
+ PyObject* (*objc_to_py)(const char*, void*);
+
+ /* PyObjC_SizeOfType */
+ Py_ssize_t (*sizeof_type)(const char*);
+
+ /* PyObjCSelector_GetClass */
+ Class (*sel_get_class)(PyObject* sel);
+
+ /* PyObjCSelector_GetSelector */
+ SEL (*sel_get_sel)(PyObject* sel);
+
+ /* PyObjC_InitSuper */
+ void (*fill_super)(struct objc_super*, Class, id);
+
+ /* PyObjC_InitSuperCls */
+ void (*fill_super_cls)(struct objc_super*, Class, Class);
+
+ /* PyObjCPointerWrapper_Register */
+ int (*register_pointer_wrapper)(
+ const char*, PyObject* (*pythonify)(void*),
+ int (*depythonify)(PyObject*, void*)
+ );
+
+ void (*unsupported_method_imp)(void*, void*, void**, void*);
+ PyObject* (*unsupported_method_caller)(PyObject*, PyObject*, PyObject*);
+
+ /* PyObjCErr_ToObjCWithGILState */
+ void (*err_python_to_objc_gil)(PyGILState_STATE* state);
+
+ /* PyObjCRT_AlignOfType */
+ Py_ssize_t (*alignof_type)(const char* typestr);
+
+ /* PyObjCRT_SELName */
+ const char* (*selname)(SEL sel);
+
+ /* PyObjCRT_SimplifySignature */
+ int (*simplify_sig)(char* signature, char* buf, size_t buflen);
+
+ /* PyObjC_FreeCArray */
+ void (*free_c_array)(int,void*);
+
+ /* PyObjC_PythonToCArray */
+ int (*py_to_c_array)(BOOL, BOOL, const char*, PyObject*, void**, Py_ssize_t*, PyObject**);
+
+ /* PyObjC_CArrayToPython */
+ PyObject* (*c_array_to_py)(const char*, void*, Py_ssize_t);
+
+ /* PyObjC_RegisterStructType */
+ PyObject* (*register_struct)(const char*, const char*, const char*, initproc, Py_ssize_t, const char**);
+
+ /* PyObjCIMP_Type */
+ PyTypeObject* imp_type;
+
+ /* PyObjCIMP_GetIMP */
+ IMP (*imp_get_imp)(PyObject*);
+
+ /* PyObjCIMP_GetSelector */
+ SEL (*imp_get_sel)(PyObject*);
+
+ /* PyObjCErr_AsExc */
+ NSException* (*err_python_to_nsexception)(void);
+
+ /* PyGILState_Ensure */
+ PyGILState_STATE (*gilstate_ensure)(void);
+
+ /* PyObjCObject_IsUninitialized */
+ int (*obj_is_uninitialized)(PyObject*);
+
+ /* PyObjCObject_Convert */
+ int (*pyobjcobject_convert)(PyObject*,void*);
+
+ /* PyObjCSelector_Convert */
+ int (*pyobjcselector_convert)(PyObject*,void*);
+
+ /* PyObjCClass_Convert */
+ int (*pyobjcclass_convert)(PyObject*,void*);
+
+ /* PyObjC_ConvertBOOL */
+ int (*pyobjc_convertbool)(PyObject*,void*);
+
+ /* PyObjC_ConvertChar */
+ int (*pyobjc_convertchar)(PyObject*,void*);
+
+ /* PyObjCObject_New */
+ PyObject* (*pyobjc_object_new)(id, int , int);
+
+ /* PyObjCCreateOpaquePointerType */
+ PyObject* (*pointer_type_new)(const char*, const char*, const char*);
+
+ /* PyObject* PyObjCObject_NewTransient(id objc_object, int* cookie); */
+ PyObject* (*newtransient)(id objc_object, int* cookie);
+
+ /* void PyObjCObject_ReleaseTransient(PyObject* proxy, int cookie); */
+ void (*releasetransient)(PyObject* proxy, int cookie);
+
+ void (*doweaklink)(PyObject*, struct PyObjC_WeakLink*);
+
+ const char* (*removefields)(char*, const char*);
+
+ PyObject** pyobjc_null;
+
+ int (*dep_c_array_count)(const char* type, Py_ssize_t count, BOOL strict, PyObject* value, void* datum);
+
+ PyObject* (*varlistnew)(const char* tp, void* array);
+};
+
+#ifndef PYOBJC_BUILD
+
+#ifndef PYOBJC_METHOD_STUB_IMPL
+static struct pyobjc_api* PyObjC_API;
+#endif /* PYOBJC_METHOD_STUB_IMPL */
+
+#define PyObjCObject_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->object_type)
+#define PyObjCClass_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->class_type)
+#define PyObjCSelector_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->select_type)
+#define PyObjCIMP_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->imp_type)
+#define PyObjCObject_GetObject (PyObjC_API->obj_get_object)
+#define PyObjCObject_ClearObject (PyObjC_API->obj_clear_object)
+#define PyObjCClass_GetClass (PyObjC_API->cls_get_class)
+#define PyObjCClass_New (PyObjC_API->cls_to_python)
+#define PyObjCSelector_GetClass (PyObjC_API->sel_get_class)
+#define PyObjCSelector_GetSelector (PyObjC_API->sel_get_sel)
+#define PyObjC_PythonToId (PyObjC_API->python_to_id)
+#define PyObjC_IdToPython (PyObjC_API->id_to_python)
+#define PyObjCErr_FromObjC (PyObjC_API->err_objc_to_python)
+#define PyObjCErr_ToObjC (PyObjC_API->err_python_to_objc)
+#define PyObjCErr_ToObjCWithGILState (PyObjC_API->err_python_to_objc_gil)
+#define PyObjCErr_AsExc (PyObjC_API->err_python_to_nsexception)
+#define PyObjC_PythonToObjC (PyObjC_API->py_to_objc)
+#define PyObjC_ObjCToPython (PyObjC_API->objc_to_py)
+#define PyObjC_RegisterMethodMapping (PyObjC_API->register_method_mapping)
+#define PyObjC_RegisterSignatureMapping (PyObjC_API->register_signature_mapping)
+#define PyObjC_SizeOfType (PyObjC_API->sizeof_type)
+#define PyObjC_PythonToObjC (PyObjC_API->py_to_objc)
+#define PyObjC_ObjCToPython (PyObjC_API->objc_to_py)
+#define PyObjC_InitSuper (PyObjC_API->fill_super)
+#define PyObjC_InitSuperCls (PyObjC_API->fill_super_cls)
+#define PyObjCPointerWrapper_Register (PyObjC_API->register_pointer_wrapper)
+#define PyObjCUnsupportedMethod_IMP (PyObjC_API->unsupported_method_imp)
+#define PyObjCUnsupportedMethod_Caller (PyObjC_API->unsupported_method_caller)
+#define PyObjCRT_SizeOfType (PyObjC_API->sizeof_type)
+#define PyObjCRT_AlignOfType (PyObjC_API->alignof_type)
+#define PyObjCRT_SELName (PyObjC_API->selname)
+#define PyObjCRT_SimplifySignature (PyObjC_API->simplify_sig)
+#define PyObjC_FreeCArray (PyObjC_API->free_c_array)
+#define PyObjC_PythonToCArray (PyObjC_API->py_to_c_array)
+#define PyObjC_CArrayToPython (PyObjC_API->c_array_to_py)
+#define PyObjC_RegisterStructType (PyObjC_API->register_struct)
+#define PyObjCIMP_GetIMP (PyObjC_API->imp_get_imp)
+#define PyObjCIMP_GetSelector (PyObjC_API->imp_get_sel)
+#define PyObjCObject_IsUninitialized (PyObjC_API->obj_is_uninitialized)
+#define PyObjCObject_Convert (PyObjC_API->pyobjcobject_convert)
+#define PyObjCSelector_Convert (PyObjC_API->pyobjcselector_convert)
+#define PyObjCClass_Convert (PyObjC_API->pyobjcselector_convert)
+#define PyObjC_ConvertBOOL (PyObjC_API->pyobjc_convertbool)
+#define PyObjC_ConvertChar (PyObjC_API->pyobjc_convertchar)
+#define PyObjCObject_New (PyObjC_API->pyobjc_object_new)
+#define PyObjCCreateOpaquePointerType (PyObjC_API->pointer_type_new)
+#define PyObjCObject_NewTransient (PyObjC_API->newtransient)
+#define PyObjCObject_ReleaseTransient (PyObjC_API->releasetransient)
+#define PyObjC_PerformWeaklinking (PyObjC_API->doweaklink)
+#define PyObjCRT_RemoveFieldNames (PyObjC_API->removefields)
+#define PyObjC_NULL (*(PyObjC_API->pyobjc_null))
+#define PyObjC_DepythonifyCArray (PyObjC_API->dep_c_array_count)
+#define PyObjC_VarList_New (PyObjC_API->varlistnew)
+
+
+#ifndef PYOBJC_METHOD_STUB_IMPL
+
+static int
+PyObjC_ImportAPI(PyObject* calling_module)
+{
+ PyObject* m;
+ PyObject* d;
+ PyObject* api_obj;
+ PyObject* name = PyString_FromString("objc");
+
+ m = PyImport_Import(name);
+ Py_DECREF(name);
+ if (m == NULL) {
+ return -1;
+ }
+
+ d = PyModule_GetDict(m);
+ if (d == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "No dict in objc module");
+ return -1;
+ }
+
+ api_obj = PyDict_GetItemString(d, PYOBJC_API_NAME);
+ if (api_obj == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "No C_API in objc module");
+ return -1;
+ }
+ PyObjC_API = PyCObject_AsVoidPtr(api_obj);
+ if (PyObjC_API == NULL) {
+ return 0;
+ }
+ if (PyObjC_API->api_version != PYOBJC_API_VERSION) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Wrong version of PyObjC C API");
+ return -1;
+ }
+
+ if (PyObjC_API->struct_len < sizeof(struct pyobjc_api)) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Wrong struct-size of PyObjC C API");
+ return -1;
+ }
+
+ Py_INCREF(api_obj);
+
+ /* Current pyobjc implementation doesn't allow deregistering
+ * information, avoid unloading of users of the C-API.
+ * (Yes this is ugle, patches to fix this situation are apriciated)
+ */
+ Py_INCREF(calling_module);
+
+ return 0;
+}
+#endif /* PYOBJC_METHOD_STUB_IMPL */
+
+#else /* PyObjC_BUILD */
+
+extern struct pyobjc_api objc_api;
+
+#endif /* !PYOBJC_BUILD */
+
+#endif /* PyObjC_API_H */
+"""
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/setup.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/setup.py Tue Feb 2 09:09:59 2010
@@ -11,12 +11,12 @@
setup(
name='pyobjc-framework-Cocoa',
- version='2.2',
+ version='2.3a0',
description = "Wrappers for the Cocoa frameworks on Mac OS X",
packages = [ "Cocoa", "CoreFoundation", "Foundation", "AppKit", "PyObjCTools" ],
namespace_packages = ['PyObjCTools'],
install_requires = [
- 'pyobjc-core>=2.2',
+ 'pyobjc-core>=2.3a0',
],
ext_modules = [
# CoreFoundation
|
| Thread | Author | Date |
|---|---|---|
| [Pyobjc-checkins] [PyObjC-svn] r2397 - in trunk/pyobjc/pyobjc-framework-Cocoa: . Lib/Foundation Modules | <ronaldoussoren@re...> |