mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Rather massive changes:
- Make the stuff run on Jack's machine (and hopefully all machines) in stead of Guido's only (addpack stuff) - Use the Universal Headers in stead of the Think headers - Fixed the test programs to use the new routine names
This commit is contained in:
parent
f301dcac73
commit
c7cfb95559
7 changed files with 165 additions and 359 deletions
|
@ -62,7 +62,7 @@ AEEventHandlerUPP upp_GenericEventHandler;
|
|||
|
||||
static pascal Boolean AEIdleProc(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn)
|
||||
{
|
||||
(void) PyMac_Idle();
|
||||
PyMac_Yield();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -164,55 +164,6 @@ static PyObject *AEDesc_AECountItems(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEPutPtr(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
long index;
|
||||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
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;
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEPutDesc(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
long index;
|
||||
AEDesc theAEDesc;
|
||||
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(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -302,174 +253,6 @@ static PyObject *AEDesc_AESizeOfNthItem(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEDeleteItem(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
long index;
|
||||
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_AEPutKeyPtr(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEKeyword theAEKeyword;
|
||||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
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 = AEPutKeyPtr(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
typeCode,
|
||||
dataPtr__in__, dataPtr__len__);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEPutKeyDesc(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEKeyword theAEKeyword;
|
||||
AEDesc theAEDesc;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
AEDesc_Convert, &theAEDesc))
|
||||
return NULL;
|
||||
_err = AEPutKeyDesc(&_self->ob_itself,
|
||||
theAEKeyword,
|
||||
&theAEDesc);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEGetKeyPtr(_self, _args)
|
||||
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__;
|
||||
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 = AEGetKeyPtr(&_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;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEGetKeyDesc(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEKeyword theAEKeyword;
|
||||
DescType desiredType;
|
||||
AEDesc result;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
PyMac_GetOSType, &theAEKeyword,
|
||||
PyMac_GetOSType, &desiredType))
|
||||
return NULL;
|
||||
_err = AEGetKeyDesc(&_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_AESizeOfKeyDesc(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEKeyword theAEKeyword;
|
||||
DescType typeCode;
|
||||
Size dataSize;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
PyMac_GetOSType, &theAEKeyword))
|
||||
return NULL;
|
||||
_err = AESizeOfKeyDesc(&_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_AEDeleteKeyDesc(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEKeyword theAEKeyword;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
PyMac_GetOSType, &theAEKeyword))
|
||||
return NULL;
|
||||
_err = AEDeleteKeyDesc(&_self->ob_itself,
|
||||
theAEKeyword);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEPutParamPtr(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -817,19 +600,33 @@ static PyObject *AEDesc_AEResumeTheCurrentEvent(_self, _args)
|
|||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AppleEvent reply;
|
||||
AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler;
|
||||
PyObject *dispatcher;
|
||||
if (!PyArg_ParseTuple(_args, "O&O",
|
||||
long handlerRefcon;
|
||||
if (!PyArg_ParseTuple(_args, "O&l",
|
||||
AEDesc_Convert, &reply,
|
||||
&dispatcher))
|
||||
&handlerRefcon))
|
||||
return NULL;
|
||||
_err = AEResumeTheCurrentEvent(&_self->ob_itself,
|
||||
&reply,
|
||||
dispatcher__proc__, (long)dispatcher);
|
||||
upp_GenericEventHandler,
|
||||
handlerRefcon);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AEDesc_AEGetTheCurrentEvent(_self, _args)
|
||||
AEDescObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
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;
|
||||
Py_INCREF(dispatcher); /* XXX leak, but needed */
|
||||
return _res;
|
||||
}
|
||||
|
||||
|
@ -855,30 +652,12 @@ static PyMethodDef AEDesc_methods[] = {
|
|||
"() -> (AEDesc result)"},
|
||||
{"AECountItems", (PyCFunction)AEDesc_AECountItems, 1,
|
||||
"() -> (long theCount)"},
|
||||
{"AEPutPtr", (PyCFunction)AEDesc_AEPutPtr, 1,
|
||||
"(long index, DescType typeCode, Buffer dataPtr) -> None"},
|
||||
{"AEPutDesc", (PyCFunction)AEDesc_AEPutDesc, 1,
|
||||
"(long index, AEDesc theAEDesc) -> None"},
|
||||
{"AEGetNthPtr", (PyCFunction)AEDesc_AEGetNthPtr, 1,
|
||||
"(long index, DescType desiredType, Buffer dataPtr) -> (AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr)"},
|
||||
{"AEGetNthDesc", (PyCFunction)AEDesc_AEGetNthDesc, 1,
|
||||
"(long index, DescType desiredType) -> (AEKeyword theAEKeyword, AEDesc result)"},
|
||||
{"AESizeOfNthItem", (PyCFunction)AEDesc_AESizeOfNthItem, 1,
|
||||
"(long index) -> (DescType typeCode, Size dataSize)"},
|
||||
{"AEDeleteItem", (PyCFunction)AEDesc_AEDeleteItem, 1,
|
||||
"(long index) -> None"},
|
||||
{"AEPutKeyPtr", (PyCFunction)AEDesc_AEPutKeyPtr, 1,
|
||||
"(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"},
|
||||
{"AEPutKeyDesc", (PyCFunction)AEDesc_AEPutKeyDesc, 1,
|
||||
"(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None"},
|
||||
{"AEGetKeyPtr", (PyCFunction)AEDesc_AEGetKeyPtr, 1,
|
||||
"(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)"},
|
||||
{"AEGetKeyDesc", (PyCFunction)AEDesc_AEGetKeyDesc, 1,
|
||||
"(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)"},
|
||||
{"AESizeOfKeyDesc", (PyCFunction)AEDesc_AESizeOfKeyDesc, 1,
|
||||
"(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)"},
|
||||
{"AEDeleteKeyDesc", (PyCFunction)AEDesc_AEDeleteKeyDesc, 1,
|
||||
"(AEKeyword theAEKeyword) -> None"},
|
||||
{"AEPutParamPtr", (PyCFunction)AEDesc_AEPutParamPtr, 1,
|
||||
"(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"},
|
||||
{"AEPutParamDesc", (PyCFunction)AEDesc_AEPutParamDesc, 1,
|
||||
|
@ -908,7 +687,9 @@ static PyMethodDef AEDesc_methods[] = {
|
|||
{"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1,
|
||||
"() -> None"},
|
||||
{"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1,
|
||||
"(AppleEvent reply, EventHandler dispatcher) -> None"},
|
||||
"(AppleEvent reply, long handlerRefcon) -> None"},
|
||||
{"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1,
|
||||
"() -> None"},
|
||||
{"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1,
|
||||
"() -> None"},
|
||||
{NULL, NULL, 0}
|
||||
|
@ -1040,6 +821,76 @@ static PyObject *AE_AECreateList(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AEPutPtr(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEDescList theAEDescList;
|
||||
long index;
|
||||
DescType typeCode;
|
||||
char *dataPtr__in__;
|
||||
long dataPtr__len__;
|
||||
int dataPtr__in_len__;
|
||||
if (!PyArg_ParseTuple(_args, "lO&s#",
|
||||
&index,
|
||||
PyMac_GetOSType, &typeCode,
|
||||
&dataPtr__in__, &dataPtr__in_len__))
|
||||
return NULL;
|
||||
dataPtr__len__ = dataPtr__in_len__;
|
||||
_err = AEPutPtr(&theAEDescList,
|
||||
index,
|
||||
typeCode,
|
||||
dataPtr__in__, dataPtr__len__);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&",
|
||||
AEDesc_New, &theAEDescList);
|
||||
dataPtr__error__: ;
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AEPutDesc(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEDescList theAEDescList;
|
||||
long index;
|
||||
AEDesc theAEDesc;
|
||||
if (!PyArg_ParseTuple(_args, "lO&",
|
||||
&index,
|
||||
AEDesc_Convert, &theAEDesc))
|
||||
return NULL;
|
||||
_err = AEPutDesc(&theAEDescList,
|
||||
index,
|
||||
&theAEDesc);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&",
|
||||
AEDesc_New, &theAEDescList);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AEDeleteItem(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AEDescList theAEDescList;
|
||||
long index;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&index))
|
||||
return NULL;
|
||||
_err = AEDeleteItem(&theAEDescList,
|
||||
index);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&",
|
||||
AEDesc_New, &theAEDescList);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AECreateAppleEvent(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -1088,22 +939,6 @@ static PyObject *AE_AEProcessAppleEvent(_self, _args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AEGetTheCurrentEvent(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
OSErr _err;
|
||||
AppleEvent theAppleEvent;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_err = AEGetTheCurrentEvent(&theAppleEvent);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
_res = Py_BuildValue("O&",
|
||||
AEDesc_New, &theAppleEvent);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *AE_AEGetInteractionAllowed(_self, _args)
|
||||
PyObject *_self;
|
||||
PyObject *_args;
|
||||
|
@ -1164,21 +999,20 @@ static PyObject *AE_AEInstallEventHandler(_self, _args)
|
|||
OSErr _err;
|
||||
AEEventClass theAEEventClass;
|
||||
AEEventID theAEEventID;
|
||||
AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler;
|
||||
PyObject *handler;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&O",
|
||||
long handlerRefcon;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&l",
|
||||
PyMac_GetOSType, &theAEEventClass,
|
||||
PyMac_GetOSType, &theAEEventID,
|
||||
&handler))
|
||||
&handlerRefcon))
|
||||
return NULL;
|
||||
_err = AEInstallEventHandler(theAEEventClass,
|
||||
theAEEventID,
|
||||
handler__proc__, (long)handler,
|
||||
upp_GenericEventHandler,
|
||||
handlerRefcon,
|
||||
0);
|
||||
if (_err != noErr) return PyMac_Error(_err);
|
||||
Py_INCREF(Py_None);
|
||||
_res = Py_None;
|
||||
Py_INCREF(handler); /* XXX leak, but needed */
|
||||
return _res;
|
||||
}
|
||||
|
||||
|
@ -1230,12 +1064,16 @@ static PyMethodDef AE_methods[] = {
|
|||
"(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)"},
|
||||
{"AECreateList", (PyCFunction)AE_AECreateList, 1,
|
||||
"(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)"},
|
||||
{"AEPutPtr", (PyCFunction)AE_AEPutPtr, 1,
|
||||
"(long index, DescType typeCode, Buffer dataPtr) -> (AEDescList theAEDescList)"},
|
||||
{"AEPutDesc", (PyCFunction)AE_AEPutDesc, 1,
|
||||
"(long index, AEDesc theAEDesc) -> (AEDescList theAEDescList)"},
|
||||
{"AEDeleteItem", (PyCFunction)AE_AEDeleteItem, 1,
|
||||
"(long index) -> (AEDescList theAEDescList)"},
|
||||
{"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1,
|
||||
"(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, short returnID, long transactionID) -> (AppleEvent result)"},
|
||||
{"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1,
|
||||
"(EventRecord theEventRecord) -> None"},
|
||||
{"AEGetTheCurrentEvent", (PyCFunction)AE_AEGetTheCurrentEvent, 1,
|
||||
"() -> (AppleEvent theAppleEvent)"},
|
||||
{"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1,
|
||||
"() -> (AEInteractAllowed level)"},
|
||||
{"AESetInteractionAllowed", (PyCFunction)AE_AESetInteractionAllowed, 1,
|
||||
|
@ -1243,7 +1081,7 @@ static PyMethodDef AE_methods[] = {
|
|||
{"AEInteractWithUser", (PyCFunction)AE_AEInteractWithUser, 1,
|
||||
"(long timeOutInTicks) -> None"},
|
||||
{"AEInstallEventHandler", (PyCFunction)AE_AEInstallEventHandler, 1,
|
||||
"(AEEventClass theAEEventClass, AEEventID theAEEventID, EventHandler handler) -> None"},
|
||||
"(AEEventClass theAEEventClass, AEEventID theAEEventID, long handlerRefcon) -> None"},
|
||||
{"AERemoveEventHandler", (PyCFunction)AE_AERemoveEventHandler, 1,
|
||||
"(AEEventClass theAEEventClass, AEEventID theAEEventID) -> None"},
|
||||
{"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue