Kaydet (Commit) 8ed81303 authored tarafından Jack Jansen's avatar Jack Jansen

Use new multi-input-file feature of bgen in stead of @-file hack to parse…

Use new multi-input-file feature of bgen in stead of @-file hack to parse multiple header files. A side effect is that the ObjectSupportLib routines are now also available in Python.
üst 6fe608c8
...@@ -70,89 +70,6 @@ static void AEDesc_dealloc(self) ...@@ -70,89 +70,6 @@ static void AEDesc_dealloc(self)
PyMem_DEL(self); PyMem_DEL(self);
} }
static PyObject *AEDesc_AEResetTimer(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
AppleEvent reply;
AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler;
PyObject *dispatcher;
if (!PyArg_ParseTuple(_args, "O&O",
AEDesc_Convert, &reply,
&dispatcher))
return NULL;
_err = AEResumeTheCurrentEvent(&_self->ob_itself,
&reply,
dispatcher__proc__, (long)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(_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;
return _res;
}
static PyObject *AEDesc_AESetTheCurrentEvent(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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_AECoerceDesc(_self, _args) static PyObject *AEDesc_AECoerceDesc(_self, _args)
AEDescObject *_self; AEDescObject *_self;
PyObject *_args; PyObject *_args;
...@@ -662,17 +579,138 @@ static PyObject *AEDesc_AEGetDescDataSize(_self, _args) ...@@ -662,17 +579,138 @@ static PyObject *AEDesc_AEGetDescDataSize(_self, _args)
} }
#endif #endif
static PyObject *AEDesc_AESend(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
AppleEvent reply;
AESendMode sendMode;
AESendPriority sendPriority;
long timeOutInTicks;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
AppleEvent reply;
AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler;
PyObject *dispatcher;
if (!PyArg_ParseTuple(_args, "O&O",
AEDesc_Convert, &reply,
&dispatcher))
return NULL;
_err = AEResumeTheCurrentEvent(&_self->ob_itself,
&reply,
dispatcher__proc__, (long)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(_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;
return _res;
}
static PyObject *AEDesc_AESetTheCurrentEvent(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
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(_self, _args)
AEDescObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
short callbackFlags;
AEDesc theToken;
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 PyMethodDef AEDesc_methods[] = { static PyMethodDef AEDesc_methods[] = {
{"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1,
"() -> None"},
{"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1,
"() -> None"},
{"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1,
"(AppleEvent reply, EventHandler dispatcher) -> None"},
{"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1,
"() -> None"},
{"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1,
"() -> None"},
{"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1, {"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1,
"(DescType toType) -> (AEDesc result)"}, "(DescType toType) -> (AEDesc result)"},
{"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1, {"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1,
...@@ -718,6 +756,20 @@ static PyMethodDef AEDesc_methods[] = { ...@@ -718,6 +756,20 @@ static PyMethodDef AEDesc_methods[] = {
{"AEGetDescDataSize", (PyCFunction)AEDesc_AEGetDescDataSize, 1, {"AEGetDescDataSize", (PyCFunction)AEDesc_AEGetDescDataSize, 1,
"() -> (Size _rv)"}, "() -> (Size _rv)"},
#endif #endif
{"AESend", (PyCFunction)AEDesc_AESend, 1,
"(AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks) -> (AppleEvent reply)"},
{"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1,
"() -> None"},
{"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1,
"() -> None"},
{"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1,
"(AppleEvent reply, EventHandler dispatcher) -> None"},
{"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1,
"() -> None"},
{"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1,
"() -> None"},
{"AEResolve", (PyCFunction)AEDesc_AEResolve, 1,
"(short callbackFlags) -> (AEDesc theToken)"},
{NULL, NULL, 0} {NULL, NULL, 0}
}; };
...@@ -792,6 +844,147 @@ PyTypeObject AEDesc_Type = { ...@@ -792,6 +844,147 @@ PyTypeObject AEDesc_Type = {
/* --------------------- End object type AEDesc --------------------- */ /* --------------------- End object type AEDesc --------------------- */
static PyObject *AE_AECoercePtr(_self, _args)
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;
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);
dataPtr__error__: ;
return _res;
}
static PyObject *AE_AECreateDesc(_self, _args)
PyObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
DescType typeCode;
char *dataPtr__in__;
long dataPtr__len__;
int dataPtr__in_len__;
AEDesc result;
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);
dataPtr__error__: ;
return _res;
}
static PyObject *AE_AECreateList(_self, _args)
PyObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
char *factoringPtr__in__;
long factoringPtr__len__;
int factoringPtr__in_len__;
Boolean isRecord;
AEDescList resultList;
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);
factoringPtr__error__: ;
return _res;
}
static PyObject *AE_AECreateAppleEvent(_self, _args)
PyObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
AEEventClass theAEEventClass;
AEEventID theAEEventID;
AEAddressDesc target;
AEReturnID returnID;
AETransactionID transactionID;
AppleEvent result;
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 TARGET_API_MAC_CARBON
static PyObject *AE_AEReplaceDescData(_self, _args)
PyObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
DescType typeCode;
char *dataPtr__in__;
long dataPtr__len__;
int dataPtr__in_len__;
AEDesc theAEDesc;
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);
dataPtr__error__: ;
return _res;
}
#endif
static PyObject *AE_AEProcessAppleEvent(_self, _args) static PyObject *AE_AEProcessAppleEvent(_self, _args)
PyObject *_self; PyObject *_self;
PyObject *_args; PyObject *_args;
...@@ -991,148 +1184,82 @@ static PyObject *AE_AEManagerInfo(_self, _args) ...@@ -991,148 +1184,82 @@ static PyObject *AE_AEManagerInfo(_self, _args)
return _res; return _res;
} }
static PyObject *AE_AECoercePtr(_self, _args) static PyObject *AE_AEObjectInit(_self, _args)
PyObject *_self; PyObject *_self;
PyObject *_args; PyObject *_args;
{ {
PyObject *_res = NULL; PyObject *_res = NULL;
OSErr _err; OSErr _err;
DescType typeCode; if (!PyArg_ParseTuple(_args, ""))
char *dataPtr__in__;
long dataPtr__len__;
int dataPtr__in_len__;
DescType toType;
AEDesc result;
if (!PyArg_ParseTuple(_args, "O&s#O&",
PyMac_GetOSType, &typeCode,
&dataPtr__in__, &dataPtr__in_len__,
PyMac_GetOSType, &toType))
return NULL; return NULL;
dataPtr__len__ = dataPtr__in_len__; _err = AEObjectInit();
_err = AECoercePtr(typeCode,
dataPtr__in__, dataPtr__len__,
toType,
&result);
if (_err != noErr) return PyMac_Error(_err); if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&", Py_INCREF(Py_None);
AEDesc_New, &result); _res = Py_None;
dataPtr__error__: ;
return _res; return _res;
} }
static PyObject *AE_AECreateDesc(_self, _args) static PyObject *AE_AEDisposeToken(_self, _args)
PyObject *_self; PyObject *_self;
PyObject *_args; PyObject *_args;
{ {
PyObject *_res = NULL; PyObject *_res = NULL;
OSErr _err; OSErr _err;
DescType typeCode; AEDesc theToken;
char *dataPtr__in__; if (!PyArg_ParseTuple(_args, ""))
long dataPtr__len__;
int dataPtr__in_len__;
AEDesc result;
if (!PyArg_ParseTuple(_args, "O&s#",
PyMac_GetOSType, &typeCode,
&dataPtr__in__, &dataPtr__in_len__))
return NULL; return NULL;
dataPtr__len__ = dataPtr__in_len__; _err = AEDisposeToken(&theToken);
_err = AECreateDesc(typeCode,
dataPtr__in__, dataPtr__len__,
&result);
if (_err != noErr) return PyMac_Error(_err); if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&", _res = Py_BuildValue("O&",
AEDesc_New, &result); AEDesc_New, &theToken);
dataPtr__error__: ;
return _res; return _res;
} }
static PyObject *AE_AECreateList(_self, _args) static PyObject *AE_AECallObjectAccessor(_self, _args)
PyObject *_self; PyObject *_self;
PyObject *_args; PyObject *_args;
{ {
PyObject *_res = NULL; PyObject *_res = NULL;
OSErr _err; OSErr _err;
char *factoringPtr__in__; DescType desiredClass;
long factoringPtr__len__; AEDesc containerToken;
int factoringPtr__in_len__; DescType containerClass;
Boolean isRecord; DescType keyForm;
AEDescList resultList; AEDesc keyData;
if (!PyArg_ParseTuple(_args, "s#b", AEDesc token;
&factoringPtr__in__, &factoringPtr__in_len__, if (!PyArg_ParseTuple(_args, "O&O&O&O&O&",
&isRecord)) PyMac_GetOSType, &desiredClass,
AEDesc_Convert, &containerToken,
PyMac_GetOSType, &containerClass,
PyMac_GetOSType, &keyForm,
AEDesc_Convert, &keyData))
return NULL; return NULL;
factoringPtr__len__ = factoringPtr__in_len__; _err = AECallObjectAccessor(desiredClass,
_err = AECreateList(factoringPtr__in__, factoringPtr__len__, &containerToken,
isRecord, containerClass,
&resultList); keyForm,
&keyData,
&token);
if (_err != noErr) return PyMac_Error(_err); if (_err != noErr) return PyMac_Error(_err);
_res = Py_BuildValue("O&", _res = Py_BuildValue("O&",
AEDesc_New, &resultList); AEDesc_New, &token);
factoringPtr__error__: ;
return _res; return _res;
} }
static PyObject *AE_AECreateAppleEvent(_self, _args) static PyMethodDef AE_methods[] = {
PyObject *_self; {"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1,
PyObject *_args; "(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)"},
{ {"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1,
PyObject *_res = NULL; "(DescType typeCode, Buffer dataPtr) -> (AEDesc result)"},
OSErr _err; {"AECreateList", (PyCFunction)AE_AECreateList, 1,
AEEventClass theAEEventClass; "(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)"},
AEEventID theAEEventID; {"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1,
AEAddressDesc target; "(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, AEReturnID returnID, AETransactionID transactionID) -> (AppleEvent result)"},
AEReturnID returnID;
AETransactionID transactionID;
AppleEvent result;
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 TARGET_API_MAC_CARBON #if TARGET_API_MAC_CARBON
{"AEReplaceDescData", (PyCFunction)AE_AEReplaceDescData, 1,
static PyObject *AE_AEReplaceDescData(_self, _args) "(DescType typeCode, Buffer dataPtr) -> (AEDesc theAEDesc)"},
PyObject *_self;
PyObject *_args;
{
PyObject *_res = NULL;
OSErr _err;
DescType typeCode;
char *dataPtr__in__;
long dataPtr__len__;
int dataPtr__in_len__;
AEDesc theAEDesc;
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);
dataPtr__error__: ;
return _res;
}
#endif #endif
static PyMethodDef AE_methods[] = {
{"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1, {"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1,
"(EventRecord theEventRecord) -> None"}, "(EventRecord theEventRecord) -> None"},
{"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1, {"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1,
...@@ -1153,19 +1280,12 @@ static PyMethodDef AE_methods[] = { ...@@ -1153,19 +1280,12 @@ static PyMethodDef AE_methods[] = {
"(AEKeyword functionClass) -> None"}, "(AEKeyword functionClass) -> None"},
{"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1, {"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1,
"(AEKeyword keyWord) -> (long result)"}, "(AEKeyword keyWord) -> (long result)"},
{"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1, {"AEObjectInit", (PyCFunction)AE_AEObjectInit, 1,
"(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)"}, "() -> None"},
{"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1, {"AEDisposeToken", (PyCFunction)AE_AEDisposeToken, 1,
"(DescType typeCode, Buffer dataPtr) -> (AEDesc result)"}, "() -> (AEDesc theToken)"},
{"AECreateList", (PyCFunction)AE_AECreateList, 1, {"AECallObjectAccessor", (PyCFunction)AE_AECallObjectAccessor, 1,
"(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)"}, "(DescType desiredClass, AEDesc containerToken, DescType containerClass, DescType keyForm, AEDesc keyData) -> (AEDesc token)"},
{"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1,
"(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, AEReturnID returnID, AETransactionID transactionID) -> (AppleEvent result)"},
#if TARGET_API_MAC_CARBON
{"AEReplaceDescData", (PyCFunction)AE_AEReplaceDescData, 1,
"(DescType typeCode, Buffer dataPtr) -> (AEDesc theAEDesc)"},
#endif
{NULL, NULL, 0} {NULL, NULL, 0}
}; };
......
...@@ -16,36 +16,11 @@ from bgenlocations import TOOLBOXDIR ...@@ -16,36 +16,11 @@ from bgenlocations import TOOLBOXDIR
from scantools import Scanner from scantools import Scanner
def main(): def main():
print "=== Scanning AERegistry.h for defines ===" print "=== Scanning AEDataModel.h, AppleEvents.h, AERegistry.h, AEObjects.h ==="
input = "AERegistry.h" input = ["AEDataModel.h", "AppleEvents.h", "AERegistry.h", "AEObjects.h"]
output = "@dummy-registry.py"
defsoutput = TOOLBOXDIR + "AERegistry.py"
scanner = AppleEventsRegScanner(input, output, defsoutput)
scanner.scan()
scanner.close()
print "=== Scanning AEObjects.h for defines ==="
# XXXX This isn't correct. We only scan AEObjects.h for defines, but there
# are some functions in there that are probably useful (the accessor stuff)
# once we start writing servers in python.
input = "AEObjects.h"
output = "@dummy-objects.py"
defsoutput = TOOLBOXDIR + "AEObjects.py"
scanner = AppleEventsScanner(input, output, defsoutput)
scanner.scan()
scanner.close()
print "=== Scanning AEDataModel.h ==="
input = "AEDataModel.h"
output = "aedatamodelgen.py"
defsoutput = TOOLBOXDIR + "AEDataModel.py"
scanner = AppleEventsScanner(input, output, defsoutput)
scanner.scan()
scanner.close()
print "=== Scanning AppleEvents.h ==="
input = "AppleEvents.h"
output = "aegen.py" output = "aegen.py"
defsoutput = TOOLBOXDIR + "AppleEvents.py" defsoutput = TOOLBOXDIR + "AppleEvents.py"
scanner = AppleEventsRegScanner(input, output, defsoutput) scanner = AppleEventsScanner(input, output, defsoutput)
scanner.scan() scanner.scan()
scanner.close() scanner.close()
print "=== Done Scanning and Generating, now doing 'import aesupport' ===" print "=== Done Scanning and Generating, now doing 'import aesupport' ==="
...@@ -89,6 +64,8 @@ class AppleEventsScanner(Scanner): ...@@ -89,6 +64,8 @@ class AppleEventsScanner(Scanner):
"AEArrayType", "AEArrayType",
"AECoercionHandlerUPP", "AECoercionHandlerUPP",
"UniversalProcPtr", "UniversalProcPtr",
"OSLCompareUPP",
"OSLAccessorUPP",
] ]
def makerepairinstructions(self): def makerepairinstructions(self):
...@@ -125,10 +102,5 @@ class AppleEventsScanner(Scanner): ...@@ -125,10 +102,5 @@ class AppleEventsScanner(Scanner):
def writeinitialdefs(self): def writeinitialdefs(self):
self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n") self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
class AppleEventsRegScanner(AppleEventsScanner):
def writeinitialdefs(self):
self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
self.defsfile.write("from AEDataModel import *\n")
if __name__ == "__main__": if __name__ == "__main__":
main() main()
...@@ -193,7 +193,7 @@ functions = [] ...@@ -193,7 +193,7 @@ functions = []
aedescmethods = [] aedescmethods = []
execfile('aegen.py') execfile('aegen.py')
execfile('aedatamodelgen.py') ##execfile('aedatamodelgen.py')
for f in functions: module.add(f) for f in functions: module.add(f)
for f in aedescmethods: aedescobject.add(f) for f in aedescmethods: aedescobject.add(f)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment