diff options
Diffstat (limited to 'Mac/Modules/ae/_AEmodule.c')
-rw-r--r-- | Mac/Modules/ae/_AEmodule.c | 2092 |
1 files changed, 1046 insertions, 1046 deletions
diff --git a/Mac/Modules/ae/_AEmodule.c b/Mac/Modules/ae/_AEmodule.c index 09105a5..21a2d40 100644 --- a/Mac/Modules/ae/_AEmodule.c +++ b/Mac/Modules/ae/_AEmodule.c @@ -13,9 +13,9 @@ typedef SInt32 SRefCon; /* Macro to test whether a weak-loaded CFM function exists */ #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ - PyErr_SetString(PyExc_NotImplementedError, \ - "Not available in this shared library/OS version"); \ - return NULL; \ + PyErr_SetString(PyExc_NotImplementedError, \ + "Not available in this shared library/OS version"); \ + return NULL; \ }} while(0) @@ -38,9 +38,9 @@ AEEventHandlerUPP upp_GenericEventHandler; static pascal Boolean AEIdleProc(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn) { - if ( PyOS_InterruptOccurred() ) - return 1; - return 0; + if ( PyOS_InterruptOccurred() ) + return 1; + return 0; } AEIdleUPP upp_AEIdleProc; @@ -54,807 +54,807 @@ PyTypeObject AEDesc_Type; #define AEDesc_Check(x) ((x)->ob_type == &AEDesc_Type || PyObject_TypeCheck((x), &AEDesc_Type)) typedef struct AEDescObject { - PyObject_HEAD - AEDesc ob_itself; - int ob_owned; + PyObject_HEAD + AEDesc ob_itself; + int ob_owned; } AEDescObject; PyObject *AEDesc_New(AEDesc *itself) { - AEDescObject *it; - it = PyObject_NEW(AEDescObject, &AEDesc_Type); - if (it == NULL) return NULL; - it->ob_itself = *itself; - it->ob_owned = 1; - return (PyObject *)it; + AEDescObject *it; + it = PyObject_NEW(AEDescObject, &AEDesc_Type); + if (it == NULL) return NULL; + it->ob_itself = *itself; + it->ob_owned = 1; + return (PyObject *)it; } int AEDesc_Convert(PyObject *v, AEDesc *p_itself) { - if (!AEDesc_Check(v)) - { - PyErr_SetString(PyExc_TypeError, "AEDesc required"); - return 0; - } - *p_itself = ((AEDescObject *)v)->ob_itself; - return 1; + if (!AEDesc_Check(v)) + { + PyErr_SetString(PyExc_TypeError, "AEDesc required"); + return 0; + } + *p_itself = ((AEDescObject *)v)->ob_itself; + return 1; } static void AEDesc_dealloc(AEDescObject *self) { - if (self->ob_owned) AEDisposeDesc(&self->ob_itself); - self->ob_type->tp_free((PyObject *)self); + if (self->ob_owned) AEDisposeDesc(&self->ob_itself); + self->ob_type->tp_free((PyObject *)self); } static PyObject *AEDesc_AECoerceDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - DescType toType; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + DescType toType; + AEDesc result; #ifndef AECoerceDesc - PyMac_PRECHECK(AECoerceDesc); + PyMac_PRECHECK(AECoerceDesc); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &toType)) - return NULL; - _err = AECoerceDesc(&_self->ob_itself, - toType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &toType)) + return NULL; + _err = AECoerceDesc(&_self->ob_itself, + toType, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AEDesc_AEDuplicateDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + AEDesc result; #ifndef AEDuplicateDesc - PyMac_PRECHECK(AEDuplicateDesc); + PyMac_PRECHECK(AEDuplicateDesc); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEDuplicateDesc(&_self->ob_itself, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEDuplicateDesc(&_self->ob_itself, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AEDesc_AECountItems(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long theCount; + PyObject *_res = NULL; + OSErr _err; + long theCount; #ifndef AECountItems - PyMac_PRECHECK(AECountItems); + PyMac_PRECHECK(AECountItems); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AECountItems(&_self->ob_itself, - &theCount); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - theCount); - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AECountItems(&_self->ob_itself, + &theCount); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("l", + theCount); + return _res; } static PyObject *AEDesc_AEPutPtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + long index; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEPutPtr - PyMac_PRECHECK(AEPutPtr); + PyMac_PRECHECK(AEPutPtr); #endif - if (!PyArg_ParseTuple(_args, "lO&s#", - &index, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutPtr(&_self->ob_itself, - index, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "lO&s#", + &index, + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AEPutPtr(&_self->ob_itself, + index, + typeCode, + dataPtr__in__, dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEPutDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; - AEDesc theAEDesc; + PyObject *_res = NULL; + OSErr _err; + long index; + AEDesc theAEDesc; #ifndef AEPutDesc - PyMac_PRECHECK(AEPutDesc); + PyMac_PRECHECK(AEPutDesc); #endif - if (!PyArg_ParseTuple(_args, "lO&", - &index, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutDesc(&_self->ob_itself, - index, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "lO&", + &index, + AEDesc_Convert, &theAEDesc)) + return NULL; + _err = AEPutDesc(&_self->ob_itself, + index, + &theAEDesc); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEGetNthPtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; - DescType desiredType; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + long index; + DescType desiredType; + AEKeyword theAEKeyword; + DescType typeCode; + char *dataPtr__out__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEGetNthPtr - PyMac_PRECHECK(AEGetNthPtr); + PyMac_PRECHECK(AEGetNthPtr); #endif - if (!PyArg_ParseTuple(_args, "lO&i", - &index, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetNthPtr(&_self->ob_itself, - index, - desiredType, - &theAEKeyword, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&s#", - PyMac_BuildOSType, theAEKeyword, - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); + if (!PyArg_ParseTuple(_args, "lO&i", + &index, + PyMac_GetOSType, &desiredType, + &dataPtr__in_len__)) + return NULL; + if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) + { + PyErr_NoMemory(); + goto dataPtr__error__; + } + dataPtr__len__ = dataPtr__in_len__; + _err = AEGetNthPtr(&_self->ob_itself, + index, + desiredType, + &theAEKeyword, + &typeCode, + dataPtr__out__, dataPtr__len__, &dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&O&s#", + PyMac_BuildOSType, theAEKeyword, + PyMac_BuildOSType, typeCode, + dataPtr__out__, (int)dataPtr__len__); + free(dataPtr__out__); dataPtr__error__: ; - return _res; + return _res; } static PyObject *AEDesc_AEGetNthDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; - DescType desiredType; - AEKeyword theAEKeyword; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + long index; + DescType desiredType; + AEKeyword theAEKeyword; + AEDesc result; #ifndef AEGetNthDesc - PyMac_PRECHECK(AEGetNthDesc); + PyMac_PRECHECK(AEGetNthDesc); #endif - if (!PyArg_ParseTuple(_args, "lO&", - &index, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetNthDesc(&_self->ob_itself, - index, - desiredType, - &theAEKeyword, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&O&", - PyMac_BuildOSType, theAEKeyword, - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "lO&", + &index, + PyMac_GetOSType, &desiredType)) + return NULL; + _err = AEGetNthDesc(&_self->ob_itself, + index, + desiredType, + &theAEKeyword, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&O&", + PyMac_BuildOSType, theAEKeyword, + AEDesc_New, &result); + return _res; } static PyObject *AEDesc_AESizeOfNthItem(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; - DescType typeCode; - Size dataSize; + PyObject *_res = NULL; + OSErr _err; + long index; + DescType typeCode; + Size dataSize; #ifndef AESizeOfNthItem - PyMac_PRECHECK(AESizeOfNthItem); + PyMac_PRECHECK(AESizeOfNthItem); #endif - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - _err = AESizeOfNthItem(&_self->ob_itself, - index, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; + if (!PyArg_ParseTuple(_args, "l", + &index)) + return NULL; + _err = AESizeOfNthItem(&_self->ob_itself, + index, + &typeCode, + &dataSize); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&l", + PyMac_BuildOSType, typeCode, + dataSize); + return _res; } static PyObject *AEDesc_AEDeleteItem(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long index; + PyObject *_res = NULL; + OSErr _err; + long index; #ifndef AEDeleteItem - PyMac_PRECHECK(AEDeleteItem); + PyMac_PRECHECK(AEDeleteItem); #endif - if (!PyArg_ParseTuple(_args, "l", - &index)) - return NULL; - _err = AEDeleteItem(&_self->ob_itself, - index); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "l", + &index)) + return NULL; + _err = AEDeleteItem(&_self->ob_itself, + index); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEPutParamPtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEPutParamPtr - PyMac_PRECHECK(AEPutParamPtr); + PyMac_PRECHECK(AEPutParamPtr); #endif - if (!PyArg_ParseTuple(_args, "O&O&s#", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutParamPtr(&_self->ob_itself, - theAEKeyword, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&O&s#", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AEPutParamPtr(&_self->ob_itself, + theAEKeyword, + typeCode, + dataPtr__in__, dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEPutParamDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - AEDesc theAEDesc; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + AEDesc theAEDesc; #ifndef AEPutParamDesc - PyMac_PRECHECK(AEPutParamDesc); + PyMac_PRECHECK(AEPutParamDesc); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutParamDesc(&_self->ob_itself, - theAEKeyword, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEKeyword, + AEDesc_Convert, &theAEDesc)) + return NULL; + _err = AEPutParamDesc(&_self->ob_itself, + theAEKeyword, + &theAEDesc); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEGetParamPtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType desiredType; + DescType typeCode; + char *dataPtr__out__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEGetParamPtr - PyMac_PRECHECK(AEGetParamPtr); + PyMac_PRECHECK(AEGetParamPtr); #endif - if (!PyArg_ParseTuple(_args, "O&O&i", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetParamPtr(&_self->ob_itself, - theAEKeyword, - desiredType, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&s#", - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); + if (!PyArg_ParseTuple(_args, "O&O&i", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &desiredType, + &dataPtr__in_len__)) + return NULL; + if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) + { + PyErr_NoMemory(); + goto dataPtr__error__; + } + dataPtr__len__ = dataPtr__in_len__; + _err = AEGetParamPtr(&_self->ob_itself, + theAEKeyword, + desiredType, + &typeCode, + dataPtr__out__, dataPtr__len__, &dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&s#", + PyMac_BuildOSType, typeCode, + dataPtr__out__, (int)dataPtr__len__); + free(dataPtr__out__); dataPtr__error__: ; - return _res; + return _res; } static PyObject *AEDesc_AEGetParamDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType desiredType; + AEDesc result; #ifndef AEGetParamDesc - PyMac_PRECHECK(AEGetParamDesc); + PyMac_PRECHECK(AEGetParamDesc); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetParamDesc(&_self->ob_itself, - theAEKeyword, - desiredType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &desiredType)) + return NULL; + _err = AEGetParamDesc(&_self->ob_itself, + theAEKeyword, + desiredType, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AEDesc_AESizeOfParam(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - Size dataSize; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType typeCode; + Size dataSize; #ifndef AESizeOfParam - PyMac_PRECHECK(AESizeOfParam); + PyMac_PRECHECK(AESizeOfParam); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AESizeOfParam(&_self->ob_itself, - theAEKeyword, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &theAEKeyword)) + return NULL; + _err = AESizeOfParam(&_self->ob_itself, + theAEKeyword, + &typeCode, + &dataSize); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&l", + PyMac_BuildOSType, typeCode, + dataSize); + return _res; } static PyObject *AEDesc_AEDeleteParam(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; #ifndef AEDeleteParam - PyMac_PRECHECK(AEDeleteParam); + PyMac_PRECHECK(AEDeleteParam); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AEDeleteParam(&_self->ob_itself, - theAEKeyword); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &theAEKeyword)) + return NULL; + _err = AEDeleteParam(&_self->ob_itself, + theAEKeyword); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEGetAttributePtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - DescType typeCode; - char *dataPtr__out__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType desiredType; + DescType typeCode; + char *dataPtr__out__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEGetAttributePtr - PyMac_PRECHECK(AEGetAttributePtr); + PyMac_PRECHECK(AEGetAttributePtr); #endif - if (!PyArg_ParseTuple(_args, "O&O&i", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType, - &dataPtr__in_len__)) - return NULL; - if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) - { - PyErr_NoMemory(); - goto dataPtr__error__; - } - dataPtr__len__ = dataPtr__in_len__; - _err = AEGetAttributePtr(&_self->ob_itself, - theAEKeyword, - desiredType, - &typeCode, - dataPtr__out__, dataPtr__len__, &dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&s#", - PyMac_BuildOSType, typeCode, - dataPtr__out__, (int)dataPtr__len__); - free(dataPtr__out__); + if (!PyArg_ParseTuple(_args, "O&O&i", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &desiredType, + &dataPtr__in_len__)) + return NULL; + if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL) + { + PyErr_NoMemory(); + goto dataPtr__error__; + } + dataPtr__len__ = dataPtr__in_len__; + _err = AEGetAttributePtr(&_self->ob_itself, + theAEKeyword, + desiredType, + &typeCode, + dataPtr__out__, dataPtr__len__, &dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&s#", + PyMac_BuildOSType, typeCode, + dataPtr__out__, (int)dataPtr__len__); + free(dataPtr__out__); dataPtr__error__: ; - return _res; + return _res; } static PyObject *AEDesc_AEGetAttributeDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType desiredType; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType desiredType; + AEDesc result; #ifndef AEGetAttributeDesc - PyMac_PRECHECK(AEGetAttributeDesc); + PyMac_PRECHECK(AEGetAttributeDesc); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &desiredType)) - return NULL; - _err = AEGetAttributeDesc(&_self->ob_itself, - theAEKeyword, - desiredType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &desiredType)) + return NULL; + _err = AEGetAttributeDesc(&_self->ob_itself, + theAEKeyword, + desiredType, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AEDesc_AESizeOfAttribute(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - Size dataSize; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType typeCode; + Size dataSize; #ifndef AESizeOfAttribute - PyMac_PRECHECK(AESizeOfAttribute); + PyMac_PRECHECK(AESizeOfAttribute); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &theAEKeyword)) - return NULL; - _err = AESizeOfAttribute(&_self->ob_itself, - theAEKeyword, - &typeCode, - &dataSize); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&l", - PyMac_BuildOSType, typeCode, - dataSize); - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &theAEKeyword)) + return NULL; + _err = AESizeOfAttribute(&_self->ob_itself, + theAEKeyword, + &typeCode, + &dataSize); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&l", + PyMac_BuildOSType, typeCode, + dataSize); + return _res; } static PyObject *AEDesc_AEPutAttributePtr(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; #ifndef AEPutAttributePtr - PyMac_PRECHECK(AEPutAttributePtr); + PyMac_PRECHECK(AEPutAttributePtr); #endif - if (!PyArg_ParseTuple(_args, "O&O&s#", - PyMac_GetOSType, &theAEKeyword, - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEPutAttributePtr(&_self->ob_itself, - theAEKeyword, - typeCode, - dataPtr__in__, dataPtr__len__); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&O&s#", + PyMac_GetOSType, &theAEKeyword, + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AEPutAttributePtr(&_self->ob_itself, + theAEKeyword, + typeCode, + dataPtr__in__, dataPtr__len__); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEPutAttributeDesc(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword theAEKeyword; - AEDesc theAEDesc; + PyObject *_res = NULL; + OSErr _err; + AEKeyword theAEKeyword; + AEDesc theAEDesc; #ifndef AEPutAttributeDesc - PyMac_PRECHECK(AEPutAttributeDesc); + PyMac_PRECHECK(AEPutAttributeDesc); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEKeyword, - AEDesc_Convert, &theAEDesc)) - return NULL; - _err = AEPutAttributeDesc(&_self->ob_itself, - theAEKeyword, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEKeyword, + AEDesc_Convert, &theAEDesc)) + return NULL; + _err = AEPutAttributeDesc(&_self->ob_itself, + theAEKeyword, + &theAEDesc); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEGetDescDataSize(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - Size _rv; + PyObject *_res = NULL; + Size _rv; #ifndef AEGetDescDataSize - PyMac_PRECHECK(AEGetDescDataSize); + PyMac_PRECHECK(AEGetDescDataSize); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = AEGetDescDataSize(&_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = AEGetDescDataSize(&_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; } static PyObject *AEDesc_AESend(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AppleEvent reply; - AESendMode sendMode; - AESendPriority sendPriority; - long timeOutInTicks; + PyObject *_res = NULL; + OSErr _err; + AppleEvent reply; + AESendMode sendMode; + AESendPriority sendPriority; + long timeOutInTicks; #ifndef AESend - PyMac_PRECHECK(AESend); + PyMac_PRECHECK(AESend); #endif - if (!PyArg_ParseTuple(_args, "lhl", - &sendMode, - &sendPriority, - &timeOutInTicks)) - return NULL; - _err = AESend(&_self->ob_itself, - &reply, - sendMode, - sendPriority, - timeOutInTicks, - upp_AEIdleProc, - (AEFilterUPP)0); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &reply); - return _res; + if (!PyArg_ParseTuple(_args, "lhl", + &sendMode, + &sendPriority, + &timeOutInTicks)) + return NULL; + _err = AESend(&_self->ob_itself, + &reply, + sendMode, + sendPriority, + timeOutInTicks, + upp_AEIdleProc, + (AEFilterUPP)0); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &reply); + return _res; } static PyObject *AEDesc_AEResetTimer(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; + PyObject *_res = NULL; + OSErr _err; #ifndef AEResetTimer - PyMac_PRECHECK(AEResetTimer); + PyMac_PRECHECK(AEResetTimer); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEResetTimer(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEResetTimer(&_self->ob_itself); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AESuspendTheCurrentEvent(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; + PyObject *_res = NULL; + OSErr _err; #ifndef AESuspendTheCurrentEvent - PyMac_PRECHECK(AESuspendTheCurrentEvent); + PyMac_PRECHECK(AESuspendTheCurrentEvent); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AESuspendTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AESuspendTheCurrentEvent(&_self->ob_itself); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEResumeTheCurrentEvent(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AppleEvent reply; - AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler; - PyObject *dispatcher; + PyObject *_res = NULL; + OSErr _err; + AppleEvent reply; + AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler; + PyObject *dispatcher; #ifndef AEResumeTheCurrentEvent - PyMac_PRECHECK(AEResumeTheCurrentEvent); + PyMac_PRECHECK(AEResumeTheCurrentEvent); #endif - if (!PyArg_ParseTuple(_args, "O&O", - AEDesc_Convert, &reply, - &dispatcher)) - return NULL; - _err = AEResumeTheCurrentEvent(&_self->ob_itself, - &reply, - dispatcher__proc__, - (SRefCon)dispatcher); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - Py_INCREF(dispatcher); /* XXX leak, but needed */ - return _res; + if (!PyArg_ParseTuple(_args, "O&O", + AEDesc_Convert, &reply, + &dispatcher)) + return NULL; + _err = AEResumeTheCurrentEvent(&_self->ob_itself, + &reply, + dispatcher__proc__, + (SRefCon)dispatcher); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + Py_INCREF(dispatcher); /* XXX leak, but needed */ + return _res; } static PyObject *AEDesc_AEGetTheCurrentEvent(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; + PyObject *_res = NULL; + OSErr _err; #ifndef AEGetTheCurrentEvent - PyMac_PRECHECK(AEGetTheCurrentEvent); + PyMac_PRECHECK(AEGetTheCurrentEvent); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEGetTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEGetTheCurrentEvent(&_self->ob_itself); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AESetTheCurrentEvent(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; + PyObject *_res = NULL; + OSErr _err; #ifndef AESetTheCurrentEvent - PyMac_PRECHECK(AESetTheCurrentEvent); + PyMac_PRECHECK(AESetTheCurrentEvent); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AESetTheCurrentEvent(&_self->ob_itself); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AESetTheCurrentEvent(&_self->ob_itself); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AEDesc_AEResolve(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - short callbackFlags; - AEDesc theToken; + PyObject *_res = NULL; + OSErr _err; + short callbackFlags; + AEDesc theToken; #ifndef AEResolve - PyMac_PRECHECK(AEResolve); + PyMac_PRECHECK(AEResolve); #endif - if (!PyArg_ParseTuple(_args, "h", - &callbackFlags)) - return NULL; - _err = AEResolve(&_self->ob_itself, - callbackFlags, - &theToken); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theToken); - return _res; + if (!PyArg_ParseTuple(_args, "h", + &callbackFlags)) + return NULL; + _err = AEResolve(&_self->ob_itself, + callbackFlags, + &theToken); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &theToken); + return _res; } static PyObject *AEDesc_AutoDispose(AEDescObject *_self, PyObject *_args) { - PyObject *_res = NULL; + PyObject *_res = NULL; - int onoff, old; - if (!PyArg_ParseTuple(_args, "i", &onoff)) - return NULL; - old = _self->ob_owned; - _self->ob_owned = onoff; - _res = Py_BuildValue("i", old); - return _res; + int onoff, old; + if (!PyArg_ParseTuple(_args, "i", &onoff)) + return NULL; + old = _self->ob_owned; + _self->ob_owned = onoff; + _res = Py_BuildValue("i", old); + return _res; } static PyMethodDef AEDesc_methods[] = { - {"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1, - PyDoc_STR("(DescType toType) -> (AEDesc result)")}, - {"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1, - PyDoc_STR("() -> (AEDesc result)")}, - {"AECountItems", (PyCFunction)AEDesc_AECountItems, 1, - PyDoc_STR("() -> (long theCount)")}, - {"AEPutPtr", (PyCFunction)AEDesc_AEPutPtr, 1, - PyDoc_STR("(long index, DescType typeCode, Buffer dataPtr) -> None")}, - {"AEPutDesc", (PyCFunction)AEDesc_AEPutDesc, 1, - PyDoc_STR("(long index, AEDesc theAEDesc) -> None")}, - {"AEGetNthPtr", (PyCFunction)AEDesc_AEGetNthPtr, 1, - PyDoc_STR("(long index, DescType desiredType, Buffer dataPtr) -> (AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr)")}, - {"AEGetNthDesc", (PyCFunction)AEDesc_AEGetNthDesc, 1, - PyDoc_STR("(long index, DescType desiredType) -> (AEKeyword theAEKeyword, AEDesc result)")}, - {"AESizeOfNthItem", (PyCFunction)AEDesc_AESizeOfNthItem, 1, - PyDoc_STR("(long index) -> (DescType typeCode, Size dataSize)")}, - {"AEDeleteItem", (PyCFunction)AEDesc_AEDeleteItem, 1, - PyDoc_STR("(long index) -> None")}, - {"AEPutParamPtr", (PyCFunction)AEDesc_AEPutParamPtr, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None")}, - {"AEPutParamDesc", (PyCFunction)AEDesc_AEPutParamDesc, 1, - PyDoc_STR("(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None")}, - {"AEGetParamPtr", (PyCFunction)AEDesc_AEGetParamPtr, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)")}, - {"AEGetParamDesc", (PyCFunction)AEDesc_AEGetParamDesc, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)")}, - {"AESizeOfParam", (PyCFunction)AEDesc_AESizeOfParam, 1, - PyDoc_STR("(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)")}, - {"AEDeleteParam", (PyCFunction)AEDesc_AEDeleteParam, 1, - PyDoc_STR("(AEKeyword theAEKeyword) -> None")}, - {"AEGetAttributePtr", (PyCFunction)AEDesc_AEGetAttributePtr, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)")}, - {"AEGetAttributeDesc", (PyCFunction)AEDesc_AEGetAttributeDesc, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)")}, - {"AESizeOfAttribute", (PyCFunction)AEDesc_AESizeOfAttribute, 1, - PyDoc_STR("(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)")}, - {"AEPutAttributePtr", (PyCFunction)AEDesc_AEPutAttributePtr, 1, - PyDoc_STR("(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None")}, - {"AEPutAttributeDesc", (PyCFunction)AEDesc_AEPutAttributeDesc, 1, - PyDoc_STR("(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None")}, - {"AEGetDescDataSize", (PyCFunction)AEDesc_AEGetDescDataSize, 1, - PyDoc_STR("() -> (Size _rv)")}, - {"AESend", (PyCFunction)AEDesc_AESend, 1, - PyDoc_STR("(AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks) -> (AppleEvent reply)")}, - {"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1, - PyDoc_STR("() -> None")}, - {"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1, - PyDoc_STR("() -> None")}, - {"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1, - PyDoc_STR("(AppleEvent reply, EventHandler dispatcher) -> None")}, - {"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1, - PyDoc_STR("() -> None")}, - {"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1, - PyDoc_STR("() -> None")}, - {"AEResolve", (PyCFunction)AEDesc_AEResolve, 1, - PyDoc_STR("(short callbackFlags) -> (AEDesc theToken)")}, - {"AutoDispose", (PyCFunction)AEDesc_AutoDispose, 1, - PyDoc_STR("(int)->int. Automatically AEDisposeDesc the object on Python object cleanup")}, - {NULL, NULL, 0} + {"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1, + PyDoc_STR("(DescType toType) -> (AEDesc result)")}, + {"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1, + PyDoc_STR("() -> (AEDesc result)")}, + {"AECountItems", (PyCFunction)AEDesc_AECountItems, 1, + PyDoc_STR("() -> (long theCount)")}, + {"AEPutPtr", (PyCFunction)AEDesc_AEPutPtr, 1, + PyDoc_STR("(long index, DescType typeCode, Buffer dataPtr) -> None")}, + {"AEPutDesc", (PyCFunction)AEDesc_AEPutDesc, 1, + PyDoc_STR("(long index, AEDesc theAEDesc) -> None")}, + {"AEGetNthPtr", (PyCFunction)AEDesc_AEGetNthPtr, 1, + PyDoc_STR("(long index, DescType desiredType, Buffer dataPtr) -> (AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr)")}, + {"AEGetNthDesc", (PyCFunction)AEDesc_AEGetNthDesc, 1, + PyDoc_STR("(long index, DescType desiredType) -> (AEKeyword theAEKeyword, AEDesc result)")}, + {"AESizeOfNthItem", (PyCFunction)AEDesc_AESizeOfNthItem, 1, + PyDoc_STR("(long index) -> (DescType typeCode, Size dataSize)")}, + {"AEDeleteItem", (PyCFunction)AEDesc_AEDeleteItem, 1, + PyDoc_STR("(long index) -> None")}, + {"AEPutParamPtr", (PyCFunction)AEDesc_AEPutParamPtr, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None")}, + {"AEPutParamDesc", (PyCFunction)AEDesc_AEPutParamDesc, 1, + PyDoc_STR("(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None")}, + {"AEGetParamPtr", (PyCFunction)AEDesc_AEGetParamPtr, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)")}, + {"AEGetParamDesc", (PyCFunction)AEDesc_AEGetParamDesc, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)")}, + {"AESizeOfParam", (PyCFunction)AEDesc_AESizeOfParam, 1, + PyDoc_STR("(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)")}, + {"AEDeleteParam", (PyCFunction)AEDesc_AEDeleteParam, 1, + PyDoc_STR("(AEKeyword theAEKeyword) -> None")}, + {"AEGetAttributePtr", (PyCFunction)AEDesc_AEGetAttributePtr, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)")}, + {"AEGetAttributeDesc", (PyCFunction)AEDesc_AEGetAttributeDesc, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)")}, + {"AESizeOfAttribute", (PyCFunction)AEDesc_AESizeOfAttribute, 1, + PyDoc_STR("(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)")}, + {"AEPutAttributePtr", (PyCFunction)AEDesc_AEPutAttributePtr, 1, + PyDoc_STR("(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None")}, + {"AEPutAttributeDesc", (PyCFunction)AEDesc_AEPutAttributeDesc, 1, + PyDoc_STR("(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None")}, + {"AEGetDescDataSize", (PyCFunction)AEDesc_AEGetDescDataSize, 1, + PyDoc_STR("() -> (Size _rv)")}, + {"AESend", (PyCFunction)AEDesc_AESend, 1, + PyDoc_STR("(AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks) -> (AppleEvent reply)")}, + {"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1, + PyDoc_STR("() -> None")}, + {"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1, + PyDoc_STR("() -> None")}, + {"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1, + PyDoc_STR("(AppleEvent reply, EventHandler dispatcher) -> None")}, + {"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1, + PyDoc_STR("() -> None")}, + {"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1, + PyDoc_STR("() -> None")}, + {"AEResolve", (PyCFunction)AEDesc_AEResolve, 1, + PyDoc_STR("(short callbackFlags) -> (AEDesc theToken)")}, + {"AutoDispose", (PyCFunction)AEDesc_AutoDispose, 1, + PyDoc_STR("(int)->int. Automatically AEDisposeDesc the object on Python object cleanup")}, + {NULL, NULL, 0} }; static PyObject *AEDesc_get_type(AEDescObject *self, void *closure) { - return PyMac_BuildOSType(self->ob_itself.descriptorType); + return PyMac_BuildOSType(self->ob_itself.descriptorType); } #define AEDesc_set_type NULL static PyObject *AEDesc_get_data(AEDescObject *self, void *closure) { - PyObject *res; - Size size; - char *ptr; - OSErr err; - - size = AEGetDescDataSize(&self->ob_itself); - if ( (res = PyString_FromStringAndSize(NULL, size)) == NULL ) - return NULL; - if ( (ptr = PyString_AsString(res)) == NULL ) - return NULL; - if ( (err=AEGetDescData(&self->ob_itself, ptr, size)) < 0 ) - return PyMac_Error(err); - return res; + PyObject *res; + Size size; + char *ptr; + OSErr err; + + size = AEGetDescDataSize(&self->ob_itself); + if ( (res = PyString_FromStringAndSize(NULL, size)) == NULL ) + return NULL; + if ( (ptr = PyString_AsString(res)) == NULL ) + return NULL; + if ( (err=AEGetDescData(&self->ob_itself, ptr, size)) < 0 ) + return PyMac_Error(err); + return res; } #define AEDesc_set_data NULL static PyGetSetDef AEDesc_getsetlist[] = { - {"type", (getter)AEDesc_get_type, (setter)AEDesc_set_type, "Type of this AEDesc"}, - {"data", (getter)AEDesc_get_data, (setter)AEDesc_set_data, "The raw data in this AEDesc"}, - {NULL, NULL, NULL, NULL}, + {"type", (getter)AEDesc_get_type, (setter)AEDesc_set_type, "Type of this AEDesc"}, + {"data", (getter)AEDesc_get_data, (setter)AEDesc_set_data, "The raw data in this AEDesc"}, + {NULL, NULL, NULL, NULL}, }; @@ -869,61 +869,61 @@ static PyGetSetDef AEDesc_getsetlist[] = { static PyObject *AEDesc_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) { - PyObject *_self; - AEDesc itself; - char *kw[] = {"itself", 0}; - - if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, AEDesc_Convert, &itself)) return NULL; - if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL; - ((AEDescObject *)_self)->ob_itself = itself; - return _self; + PyObject *_self; + AEDesc itself; + char *kw[] = {"itself", 0}; + + if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, AEDesc_Convert, &itself)) return NULL; + if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL; + ((AEDescObject *)_self)->ob_itself = itself; + return _self; } #define AEDesc_tp_free PyObject_Del PyTypeObject AEDesc_Type = { - PyObject_HEAD_INIT(NULL) - 0, /*ob_size*/ - "_AE.AEDesc", /*tp_name*/ - sizeof(AEDescObject), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - /* methods */ - (destructor) AEDesc_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - (getattrfunc)0, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc) AEDesc_compare, /*tp_compare*/ - (reprfunc) AEDesc_repr, /*tp_repr*/ - (PyNumberMethods *)0, /* tp_as_number */ - (PySequenceMethods *)0, /* tp_as_sequence */ - (PyMappingMethods *)0, /* tp_as_mapping */ - (hashfunc) AEDesc_hash, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - PyObject_GenericGetAttr, /*tp_getattro*/ - PyObject_GenericSetAttr, /*tp_setattro */ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ - 0, /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - AEDesc_methods, /* tp_methods */ - 0, /*tp_members*/ - AEDesc_getsetlist, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - AEDesc_tp_init, /* tp_init */ - AEDesc_tp_alloc, /* tp_alloc */ - AEDesc_tp_new, /* tp_new */ - AEDesc_tp_free, /* tp_free */ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "_AE.AEDesc", /*tp_name*/ + sizeof(AEDescObject), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + /* methods */ + (destructor) AEDesc_dealloc, /*tp_dealloc*/ + 0, /*tp_print*/ + (getattrfunc)0, /*tp_getattr*/ + (setattrfunc)0, /*tp_setattr*/ + (cmpfunc) AEDesc_compare, /*tp_compare*/ + (reprfunc) AEDesc_repr, /*tp_repr*/ + (PyNumberMethods *)0, /* tp_as_number */ + (PySequenceMethods *)0, /* tp_as_sequence */ + (PyMappingMethods *)0, /* tp_as_mapping */ + (hashfunc) AEDesc_hash, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + PyObject_GenericGetAttr, /*tp_getattro*/ + PyObject_GenericSetAttr, /*tp_setattro */ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ + 0, /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + AEDesc_methods, /* tp_methods */ + 0, /*tp_members*/ + AEDesc_getsetlist, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + AEDesc_tp_init, /* tp_init */ + AEDesc_tp_alloc, /* tp_alloc */ + AEDesc_tp_new, /* tp_new */ + AEDesc_tp_free, /* tp_free */ }; /* --------------------- End object type AEDesc --------------------- */ @@ -931,455 +931,455 @@ PyTypeObject AEDesc_Type = { static PyObject *AE_AECoercePtr(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - DescType toType; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; + DescType toType; + AEDesc result; #ifndef AECoercePtr - PyMac_PRECHECK(AECoercePtr); + PyMac_PRECHECK(AECoercePtr); #endif - if (!PyArg_ParseTuple(_args, "O&s#O&", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__, - PyMac_GetOSType, &toType)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AECoercePtr(typeCode, - dataPtr__in__, dataPtr__len__, - toType, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&s#O&", + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__, + PyMac_GetOSType, &toType)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AECoercePtr(typeCode, + dataPtr__in__, dataPtr__len__, + toType, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AE_AECreateDesc(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - AEDesc result; + PyObject *_res = NULL; + OSErr _err; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; + AEDesc result; #ifndef AECreateDesc - PyMac_PRECHECK(AECreateDesc); + PyMac_PRECHECK(AECreateDesc); #endif - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AECreateDesc(typeCode, - dataPtr__in__, dataPtr__len__, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&s#", + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AECreateDesc(typeCode, + dataPtr__in__, dataPtr__len__, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AE_AECreateList(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - char *factoringPtr__in__; - long factoringPtr__len__; - int factoringPtr__in_len__; - Boolean isRecord; - AEDescList resultList; + PyObject *_res = NULL; + OSErr _err; + char *factoringPtr__in__; + long factoringPtr__len__; + int factoringPtr__in_len__; + Boolean isRecord; + AEDescList resultList; #ifndef AECreateList - PyMac_PRECHECK(AECreateList); + PyMac_PRECHECK(AECreateList); #endif - if (!PyArg_ParseTuple(_args, "s#b", - &factoringPtr__in__, &factoringPtr__in_len__, - &isRecord)) - return NULL; - factoringPtr__len__ = factoringPtr__in_len__; - _err = AECreateList(factoringPtr__in__, factoringPtr__len__, - isRecord, - &resultList); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &resultList); - return _res; + if (!PyArg_ParseTuple(_args, "s#b", + &factoringPtr__in__, &factoringPtr__in_len__, + &isRecord)) + return NULL; + factoringPtr__len__ = factoringPtr__in_len__; + _err = AECreateList(factoringPtr__in__, factoringPtr__len__, + isRecord, + &resultList); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &resultList); + return _res; } static PyObject *AE_AECreateAppleEvent(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEAddressDesc target; - AEReturnID returnID; - AETransactionID transactionID; - AppleEvent result; + PyObject *_res = NULL; + OSErr _err; + AEEventClass theAEEventClass; + AEEventID theAEEventID; + AEAddressDesc target; + AEReturnID returnID; + AETransactionID transactionID; + AppleEvent result; #ifndef AECreateAppleEvent - PyMac_PRECHECK(AECreateAppleEvent); + PyMac_PRECHECK(AECreateAppleEvent); #endif - if (!PyArg_ParseTuple(_args, "O&O&O&hl", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID, - AEDesc_Convert, &target, - &returnID, - &transactionID)) - return NULL; - _err = AECreateAppleEvent(theAEEventClass, - theAEEventID, - &target, - returnID, - transactionID, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &result); - return _res; + if (!PyArg_ParseTuple(_args, "O&O&O&hl", + PyMac_GetOSType, &theAEEventClass, + PyMac_GetOSType, &theAEEventID, + AEDesc_Convert, &target, + &returnID, + &transactionID)) + return NULL; + _err = AECreateAppleEvent(theAEEventClass, + theAEEventID, + &target, + returnID, + transactionID, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &result); + return _res; } static PyObject *AE_AEReplaceDescData(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - DescType typeCode; - char *dataPtr__in__; - long dataPtr__len__; - int dataPtr__in_len__; - AEDesc theAEDesc; + PyObject *_res = NULL; + OSErr _err; + DescType typeCode; + char *dataPtr__in__; + long dataPtr__len__; + int dataPtr__in_len__; + AEDesc theAEDesc; #ifndef AEReplaceDescData - PyMac_PRECHECK(AEReplaceDescData); + PyMac_PRECHECK(AEReplaceDescData); #endif - if (!PyArg_ParseTuple(_args, "O&s#", - PyMac_GetOSType, &typeCode, - &dataPtr__in__, &dataPtr__in_len__)) - return NULL; - dataPtr__len__ = dataPtr__in_len__; - _err = AEReplaceDescData(typeCode, - dataPtr__in__, dataPtr__len__, - &theAEDesc); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theAEDesc); - return _res; + if (!PyArg_ParseTuple(_args, "O&s#", + PyMac_GetOSType, &typeCode, + &dataPtr__in__, &dataPtr__in_len__)) + return NULL; + dataPtr__len__ = dataPtr__in_len__; + _err = AEReplaceDescData(typeCode, + dataPtr__in__, dataPtr__len__, + &theAEDesc); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &theAEDesc); + return _res; } static PyObject *AE_AEProcessAppleEvent(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - EventRecord theEventRecord; + PyObject *_res = NULL; + OSErr _err; + EventRecord theEventRecord; #ifndef AEProcessAppleEvent - PyMac_PRECHECK(AEProcessAppleEvent); + PyMac_PRECHECK(AEProcessAppleEvent); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetEventRecord, &theEventRecord)) - return NULL; - _err = AEProcessAppleEvent(&theEventRecord); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetEventRecord, &theEventRecord)) + return NULL; + _err = AEProcessAppleEvent(&theEventRecord); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEGetInteractionAllowed(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEInteractAllowed level; + PyObject *_res = NULL; + OSErr _err; + AEInteractAllowed level; #ifndef AEGetInteractionAllowed - PyMac_PRECHECK(AEGetInteractionAllowed); + PyMac_PRECHECK(AEGetInteractionAllowed); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEGetInteractionAllowed(&level); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("b", - level); - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEGetInteractionAllowed(&level); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("b", + level); + return _res; } static PyObject *AE_AESetInteractionAllowed(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEInteractAllowed level; + PyObject *_res = NULL; + OSErr _err; + AEInteractAllowed level; #ifndef AESetInteractionAllowed - PyMac_PRECHECK(AESetInteractionAllowed); + PyMac_PRECHECK(AESetInteractionAllowed); #endif - if (!PyArg_ParseTuple(_args, "b", - &level)) - return NULL; - _err = AESetInteractionAllowed(level); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "b", + &level)) + return NULL; + _err = AESetInteractionAllowed(level); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEInteractWithUser(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - long timeOutInTicks; + PyObject *_res = NULL; + OSErr _err; + long timeOutInTicks; #ifndef AEInteractWithUser - PyMac_PRECHECK(AEInteractWithUser); + PyMac_PRECHECK(AEInteractWithUser); #endif - if (!PyArg_ParseTuple(_args, "l", - &timeOutInTicks)) - return NULL; - _err = AEInteractWithUser(timeOutInTicks, - (NMRecPtr)0, - upp_AEIdleProc); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "l", + &timeOutInTicks)) + return NULL; + _err = AEInteractWithUser(timeOutInTicks, + (NMRecPtr)0, + upp_AEIdleProc); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEInstallEventHandler(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; - PyObject *handler; + PyObject *_res = NULL; + OSErr _err; + AEEventClass theAEEventClass; + AEEventID theAEEventID; + AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; + PyObject *handler; #ifndef AEInstallEventHandler - PyMac_PRECHECK(AEInstallEventHandler); + PyMac_PRECHECK(AEInstallEventHandler); #endif - if (!PyArg_ParseTuple(_args, "O&O&O", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID, - &handler)) - return NULL; - _err = AEInstallEventHandler(theAEEventClass, - theAEEventID, - handler__proc__, (SRefCon)handler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - Py_INCREF(handler); /* XXX leak, but needed */ - return _res; + if (!PyArg_ParseTuple(_args, "O&O&O", + PyMac_GetOSType, &theAEEventClass, + PyMac_GetOSType, &theAEEventID, + &handler)) + return NULL; + _err = AEInstallEventHandler(theAEEventClass, + theAEEventID, + handler__proc__, (SRefCon)handler, + 0); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + Py_INCREF(handler); /* XXX leak, but needed */ + return _res; } static PyObject *AE_AERemoveEventHandler(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; + PyObject *_res = NULL; + OSErr _err; + AEEventClass theAEEventClass; + AEEventID theAEEventID; #ifndef AERemoveEventHandler - PyMac_PRECHECK(AERemoveEventHandler); + PyMac_PRECHECK(AERemoveEventHandler); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID)) - return NULL; - _err = AERemoveEventHandler(theAEEventClass, - theAEEventID, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEEventClass, + PyMac_GetOSType, &theAEEventID)) + return NULL; + _err = AERemoveEventHandler(theAEEventClass, + theAEEventID, + upp_GenericEventHandler, + 0); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEGetEventHandler(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEEventClass theAEEventClass; - AEEventID theAEEventID; - AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; - PyObject *handler; + PyObject *_res = NULL; + OSErr _err; + AEEventClass theAEEventClass; + AEEventID theAEEventID; + AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler; + PyObject *handler; #ifndef AEGetEventHandler - PyMac_PRECHECK(AEGetEventHandler); + PyMac_PRECHECK(AEGetEventHandler); #endif - if (!PyArg_ParseTuple(_args, "O&O&", - PyMac_GetOSType, &theAEEventClass, - PyMac_GetOSType, &theAEEventID)) - return NULL; - _err = AEGetEventHandler(theAEEventClass, - theAEEventID, - &handler__proc__, (SRefCon *)&handler, - 0); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O", - handler); - Py_INCREF(handler); /* XXX leak, but needed */ - return _res; + if (!PyArg_ParseTuple(_args, "O&O&", + PyMac_GetOSType, &theAEEventClass, + PyMac_GetOSType, &theAEEventID)) + return NULL; + _err = AEGetEventHandler(theAEEventClass, + theAEEventID, + &handler__proc__, (SRefCon *)&handler, + 0); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O", + handler); + Py_INCREF(handler); /* XXX leak, but needed */ + return _res; } static PyObject *AE_AEInstallSpecialHandler(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword functionClass; + PyObject *_res = NULL; + OSErr _err; + AEKeyword functionClass; #ifndef AEInstallSpecialHandler - PyMac_PRECHECK(AEInstallSpecialHandler); + PyMac_PRECHECK(AEInstallSpecialHandler); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &functionClass)) - return NULL; - _err = AEInstallSpecialHandler(functionClass, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &functionClass)) + return NULL; + _err = AEInstallSpecialHandler(functionClass, + upp_GenericEventHandler, + 0); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AERemoveSpecialHandler(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword functionClass; + PyObject *_res = NULL; + OSErr _err; + AEKeyword functionClass; #ifndef AERemoveSpecialHandler - PyMac_PRECHECK(AERemoveSpecialHandler); + PyMac_PRECHECK(AERemoveSpecialHandler); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &functionClass)) - return NULL; - _err = AERemoveSpecialHandler(functionClass, - upp_GenericEventHandler, - 0); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &functionClass)) + return NULL; + _err = AERemoveSpecialHandler(functionClass, + upp_GenericEventHandler, + 0); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEManagerInfo(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEKeyword keyWord; - long result; + PyObject *_res = NULL; + OSErr _err; + AEKeyword keyWord; + long result; #ifndef AEManagerInfo - PyMac_PRECHECK(AEManagerInfo); + PyMac_PRECHECK(AEManagerInfo); #endif - if (!PyArg_ParseTuple(_args, "O&", - PyMac_GetOSType, &keyWord)) - return NULL; - _err = AEManagerInfo(keyWord, - &result); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("l", - result); - return _res; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetOSType, &keyWord)) + return NULL; + _err = AEManagerInfo(keyWord, + &result); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("l", + result); + return _res; } static PyObject *AE_AEObjectInit(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; + PyObject *_res = NULL; + OSErr _err; #ifndef AEObjectInit - PyMac_PRECHECK(AEObjectInit); + PyMac_PRECHECK(AEObjectInit); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEObjectInit(); - if (_err != noErr) return PyMac_Error(_err); - Py_INCREF(Py_None); - _res = Py_None; - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEObjectInit(); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; } static PyObject *AE_AEDisposeToken(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - AEDesc theToken; + PyObject *_res = NULL; + OSErr _err; + AEDesc theToken; #ifndef AEDisposeToken - PyMac_PRECHECK(AEDisposeToken); + PyMac_PRECHECK(AEDisposeToken); #endif - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _err = AEDisposeToken(&theToken); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &theToken); - return _res; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _err = AEDisposeToken(&theToken); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &theToken); + return _res; } static PyObject *AE_AECallObjectAccessor(PyObject *_self, PyObject *_args) { - PyObject *_res = NULL; - OSErr _err; - DescType desiredClass; - AEDesc containerToken; - DescType containerClass; - DescType keyForm; - AEDesc keyData; - AEDesc token; + PyObject *_res = NULL; + OSErr _err; + DescType desiredClass; + AEDesc containerToken; + DescType containerClass; + DescType keyForm; + AEDesc keyData; + AEDesc token; #ifndef AECallObjectAccessor - PyMac_PRECHECK(AECallObjectAccessor); + PyMac_PRECHECK(AECallObjectAccessor); #endif - if (!PyArg_ParseTuple(_args, "O&O&O&O&O&", - PyMac_GetOSType, &desiredClass, - AEDesc_Convert, &containerToken, - PyMac_GetOSType, &containerClass, - PyMac_GetOSType, &keyForm, - AEDesc_Convert, &keyData)) - return NULL; - _err = AECallObjectAccessor(desiredClass, - &containerToken, - containerClass, - keyForm, - &keyData, - &token); - if (_err != noErr) return PyMac_Error(_err); - _res = Py_BuildValue("O&", - AEDesc_New, &token); - return _res; + if (!PyArg_ParseTuple(_args, "O&O&O&O&O&", + PyMac_GetOSType, &desiredClass, + AEDesc_Convert, &containerToken, + PyMac_GetOSType, &containerClass, + PyMac_GetOSType, &keyForm, + AEDesc_Convert, &keyData)) + return NULL; + _err = AECallObjectAccessor(desiredClass, + &containerToken, + containerClass, + keyForm, + &keyData, + &token); + if (_err != noErr) return PyMac_Error(_err); + _res = Py_BuildValue("O&", + AEDesc_New, &token); + return _res; } static PyMethodDef AE_methods[] = { - {"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1, - PyDoc_STR("(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)")}, - {"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1, - PyDoc_STR("(DescType typeCode, Buffer dataPtr) -> (AEDesc result)")}, - {"AECreateList", (PyCFunction)AE_AECreateList, 1, - PyDoc_STR("(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)")}, - {"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1, - PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, AEReturnID returnID, AETransactionID transactionID) -> (AppleEvent result)")}, - {"AEReplaceDescData", (PyCFunction)AE_AEReplaceDescData, 1, - PyDoc_STR("(DescType typeCode, Buffer dataPtr) -> (AEDesc theAEDesc)")}, - {"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1, - PyDoc_STR("(EventRecord theEventRecord) -> None")}, - {"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1, - PyDoc_STR("() -> (AEInteractAllowed level)")}, - {"AESetInteractionAllowed", (PyCFunction)AE_AESetInteractionAllowed, 1, - PyDoc_STR("(AEInteractAllowed level) -> None")}, - {"AEInteractWithUser", (PyCFunction)AE_AEInteractWithUser, 1, - PyDoc_STR("(long timeOutInTicks) -> None")}, - {"AEInstallEventHandler", (PyCFunction)AE_AEInstallEventHandler, 1, - PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID, EventHandler handler) -> None")}, - {"AERemoveEventHandler", (PyCFunction)AE_AERemoveEventHandler, 1, - PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID) -> None")}, - {"AEGetEventHandler", (PyCFunction)AE_AEGetEventHandler, 1, - PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID) -> (EventHandler handler)")}, - {"AEInstallSpecialHandler", (PyCFunction)AE_AEInstallSpecialHandler, 1, - PyDoc_STR("(AEKeyword functionClass) -> None")}, - {"AERemoveSpecialHandler", (PyCFunction)AE_AERemoveSpecialHandler, 1, - PyDoc_STR("(AEKeyword functionClass) -> None")}, - {"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1, - PyDoc_STR("(AEKeyword keyWord) -> (long result)")}, - {"AEObjectInit", (PyCFunction)AE_AEObjectInit, 1, - PyDoc_STR("() -> None")}, - {"AEDisposeToken", (PyCFunction)AE_AEDisposeToken, 1, - PyDoc_STR("() -> (AEDesc theToken)")}, - {"AECallObjectAccessor", (PyCFunction)AE_AECallObjectAccessor, 1, - PyDoc_STR("(DescType desiredClass, AEDesc containerToken, DescType containerClass, DescType keyForm, AEDesc keyData) -> (AEDesc token)")}, - {NULL, NULL, 0} + {"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1, + PyDoc_STR("(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)")}, + {"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1, + PyDoc_STR("(DescType typeCode, Buffer dataPtr) -> (AEDesc result)")}, + {"AECreateList", (PyCFunction)AE_AECreateList, 1, + PyDoc_STR("(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)")}, + {"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1, + PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, AEReturnID returnID, AETransactionID transactionID) -> (AppleEvent result)")}, + {"AEReplaceDescData", (PyCFunction)AE_AEReplaceDescData, 1, + PyDoc_STR("(DescType typeCode, Buffer dataPtr) -> (AEDesc theAEDesc)")}, + {"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1, + PyDoc_STR("(EventRecord theEventRecord) -> None")}, + {"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1, + PyDoc_STR("() -> (AEInteractAllowed level)")}, + {"AESetInteractionAllowed", (PyCFunction)AE_AESetInteractionAllowed, 1, + PyDoc_STR("(AEInteractAllowed level) -> None")}, + {"AEInteractWithUser", (PyCFunction)AE_AEInteractWithUser, 1, + PyDoc_STR("(long timeOutInTicks) -> None")}, + {"AEInstallEventHandler", (PyCFunction)AE_AEInstallEventHandler, 1, + PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID, EventHandler handler) -> None")}, + {"AERemoveEventHandler", (PyCFunction)AE_AERemoveEventHandler, 1, + PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID) -> None")}, + {"AEGetEventHandler", (PyCFunction)AE_AEGetEventHandler, 1, + PyDoc_STR("(AEEventClass theAEEventClass, AEEventID theAEEventID) -> (EventHandler handler)")}, + {"AEInstallSpecialHandler", (PyCFunction)AE_AEInstallSpecialHandler, 1, + PyDoc_STR("(AEKeyword functionClass) -> None")}, + {"AERemoveSpecialHandler", (PyCFunction)AE_AERemoveSpecialHandler, 1, + PyDoc_STR("(AEKeyword functionClass) -> None")}, + {"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1, + PyDoc_STR("(AEKeyword keyWord) -> (long result)")}, + {"AEObjectInit", (PyCFunction)AE_AEObjectInit, 1, + PyDoc_STR("() -> None")}, + {"AEDisposeToken", (PyCFunction)AE_AEDisposeToken, 1, + PyDoc_STR("() -> (AEDesc theToken)")}, + {"AECallObjectAccessor", (PyCFunction)AE_AECallObjectAccessor, 1, + PyDoc_STR("(DescType desiredClass, AEDesc containerToken, DescType containerClass, DescType keyForm, AEDesc keyData) -> (AEDesc token)")}, + {NULL, NULL, 0} }; @@ -1387,72 +1387,72 @@ static PyMethodDef AE_methods[] = { static pascal OSErr GenericEventHandler(const AppleEvent *request, AppleEvent *reply, refcontype refcon) { - PyObject *handler = (PyObject *)refcon; - AEDescObject *requestObject, *replyObject; - PyObject *args, *res; - if ((requestObject = (AEDescObject *)AEDesc_New((AppleEvent *)request)) == NULL) { - return -1; - } - if ((replyObject = (AEDescObject *)AEDesc_New(reply)) == NULL) { - Py_DECREF(requestObject); - return -1; - } - if ((args = Py_BuildValue("OO", requestObject, replyObject)) == NULL) { - Py_DECREF(requestObject); - Py_DECREF(replyObject); - return -1; - } - res = PyEval_CallObject(handler, args); - requestObject->ob_itself.descriptorType = 'null'; - requestObject->ob_itself.dataHandle = NULL; - replyObject->ob_itself.descriptorType = 'null'; - replyObject->ob_itself.dataHandle = NULL; - Py_DECREF(args); - if (res == NULL) { - PySys_WriteStderr("Exception in AE event handler function\n"); - PyErr_Print(); - return -1; - } - Py_DECREF(res); - return noErr; + PyObject *handler = (PyObject *)refcon; + AEDescObject *requestObject, *replyObject; + PyObject *args, *res; + if ((requestObject = (AEDescObject *)AEDesc_New((AppleEvent *)request)) == NULL) { + return -1; + } + if ((replyObject = (AEDescObject *)AEDesc_New(reply)) == NULL) { + Py_DECREF(requestObject); + return -1; + } + if ((args = Py_BuildValue("OO", requestObject, replyObject)) == NULL) { + Py_DECREF(requestObject); + Py_DECREF(replyObject); + return -1; + } + res = PyEval_CallObject(handler, args); + requestObject->ob_itself.descriptorType = 'null'; + requestObject->ob_itself.dataHandle = NULL; + replyObject->ob_itself.descriptorType = 'null'; + replyObject->ob_itself.dataHandle = NULL; + Py_DECREF(args); + if (res == NULL) { + PySys_WriteStderr("Exception in AE event handler function\n"); + PyErr_Print(); + return -1; + } + Py_DECREF(res); + return noErr; } PyObject *AEDesc_NewBorrowed(AEDesc *itself) { - PyObject *it; + PyObject *it; - it = AEDesc_New(itself); - if (it) - ((AEDescObject *)it)->ob_owned = 0; - return (PyObject *)it; + it = AEDesc_New(itself); + if (it) + ((AEDescObject *)it)->ob_owned = 0; + return (PyObject *)it; } void init_AE(void) { - PyObject *m; - PyObject *d; - - upp_AEIdleProc = NewAEIdleUPP(AEIdleProc); - upp_GenericEventHandler = NewAEEventHandlerUPP(GenericEventHandler); - PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_New); - PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_NewBorrowed); - PyMac_INIT_TOOLBOX_OBJECT_CONVERT(AEDesc, AEDesc_Convert); - - m = Py_InitModule("_AE", AE_methods); - d = PyModule_GetDict(m); - AE_Error = PyMac_GetOSErrException(); - if (AE_Error == NULL || - PyDict_SetItemString(d, "Error", AE_Error) != 0) - return; - AEDesc_Type.ob_type = &PyType_Type; - if (PyType_Ready(&AEDesc_Type) < 0) return; - Py_INCREF(&AEDesc_Type); - PyModule_AddObject(m, "AEDesc", (PyObject *)&AEDesc_Type); - /* Backward-compatible name */ - Py_INCREF(&AEDesc_Type); - PyModule_AddObject(m, "AEDescType", (PyObject *)&AEDesc_Type); + PyObject *m; + PyObject *d; + + upp_AEIdleProc = NewAEIdleUPP(AEIdleProc); + upp_GenericEventHandler = NewAEEventHandlerUPP(GenericEventHandler); + PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_New); + PyMac_INIT_TOOLBOX_OBJECT_NEW(AEDesc *, AEDesc_NewBorrowed); + PyMac_INIT_TOOLBOX_OBJECT_CONVERT(AEDesc, AEDesc_Convert); + + m = Py_InitModule("_AE", AE_methods); + d = PyModule_GetDict(m); + AE_Error = PyMac_GetOSErrException(); + if (AE_Error == NULL || + PyDict_SetItemString(d, "Error", AE_Error) != 0) + return; + AEDesc_Type.ob_type = &PyType_Type; + if (PyType_Ready(&AEDesc_Type) < 0) return; + Py_INCREF(&AEDesc_Type); + PyModule_AddObject(m, "AEDesc", (PyObject *)&AEDesc_Type); + /* Backward-compatible name */ + Py_INCREF(&AEDesc_Type); + PyModule_AddObject(m, "AEDescType", (PyObject *)&AEDesc_Type); } /* ========================= End module _AE ========================= */ |