diff options
Diffstat (limited to 'Mac/Modules/ae/aescan.py')
-rw-r--r-- | Mac/Modules/ae/aescan.py | 158 |
1 files changed, 79 insertions, 79 deletions
diff --git a/Mac/Modules/ae/aescan.py b/Mac/Modules/ae/aescan.py index 80c198c38a..1283c1dcd2 100644 --- a/Mac/Modules/ae/aescan.py +++ b/Mac/Modules/ae/aescan.py @@ -13,87 +13,87 @@ sys.path.append(BGENDIR) from scantools import Scanner def main(): - print "=== Scanning AEDataModel.h, AppleEvents.h, AERegistry.h, AEObjects.h ===" - input = ["AEDataModel.h", "AEInteraction.h", "AppleEvents.h", "AERegistry.h", "AEObjects.h"] - output = "aegen.py" - defsoutput = TOOLBOXDIR + "AppleEvents.py" - scanner = AppleEventsScanner(input, output, defsoutput) - scanner.scan() - scanner.close() - print "=== Testing definitions output code ===" - execfile(defsoutput, {}, {}) - print "=== Done Scanning and Generating, now doing 'import aesupport' ===" - import aesupport - print "=== Done 'import aesupport'. It's up to you to compile AEmodule.c ===" + print "=== Scanning AEDataModel.h, AppleEvents.h, AERegistry.h, AEObjects.h ===" + input = ["AEDataModel.h", "AEInteraction.h", "AppleEvents.h", "AERegistry.h", "AEObjects.h"] + output = "aegen.py" + defsoutput = TOOLBOXDIR + "AppleEvents.py" + scanner = AppleEventsScanner(input, output, defsoutput) + scanner.scan() + scanner.close() + print "=== Testing definitions output code ===" + execfile(defsoutput, {}, {}) + print "=== Done Scanning and Generating, now doing 'import aesupport' ===" + import aesupport + print "=== Done 'import aesupport'. It's up to you to compile AEmodule.c ===" class AppleEventsScanner(Scanner): - def destination(self, type, name, arglist): - classname = "AEFunction" - listname = "functions" - if arglist: - t, n, m = arglist[0] - if t[-4:] == "_ptr" and m == "InMode" and \ - t[:-4] in ("AEDesc", "AEAddressDesc", "AEDescList", - "AERecord", "AppleEvent"): - classname = "AEMethod" - listname = "aedescmethods" - return classname, listname - - def makeblacklistnames(self): - return [ - "AEDisposeDesc", -# "AEGetEventHandler", - "AEGetDescData", # Use object.data - "AEGetSpecialHandler", - # Constants with funny definitions - "kAEDontDisposeOnResume", - "kAEUseStandardDispatch", - ] - - def makeblacklisttypes(self): - return [ - "ProcPtr", - "AEArrayType", - "AECoercionHandlerUPP", - "UniversalProcPtr", - "OSLCompareUPP", - "OSLAccessorUPP", - ] - - def makerepairinstructions(self): - return [ - ([("Boolean", "isSysHandler", "InMode")], - [("AlwaysFalse", "*", "*")]), - - ([("void_ptr", "*", "InMode"), ("Size", "*", "InMode")], - [("InBuffer", "*", "*")]), - - ([("EventHandlerProcPtr", "*", "InMode"), ("long", "*", "InMode")], - [("EventHandler", "*", "*")]), - - ([("EventHandlerProcPtr", "*", "OutMode"), ("long", "*", "OutMode")], - [("EventHandler", "*", "*")]), - - ([("AEEventHandlerUPP", "*", "InMode"), ("long", "*", "InMode")], - [("EventHandler", "*", "*")]), - - ([("AEEventHandlerUPP", "*", "OutMode"), ("long", "*", "OutMode")], - [("EventHandler", "*", "*")]), - - ([("void", "*", "OutMode"), ("Size", "*", "InMode"), - ("Size", "*", "OutMode")], - [("VarVarOutBuffer", "*", "InOutMode")]), - - ([("AppleEvent", "theAppleEvent", "OutMode")], - [("AppleEvent_ptr", "*", "InMode")]), - - ([("AEDescList", "theAEDescList", "OutMode")], - [("AEDescList_ptr", "*", "InMode")]), - ] - - def writeinitialdefs(self): - self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n") + def destination(self, type, name, arglist): + classname = "AEFunction" + listname = "functions" + if arglist: + t, n, m = arglist[0] + if t[-4:] == "_ptr" and m == "InMode" and \ + t[:-4] in ("AEDesc", "AEAddressDesc", "AEDescList", + "AERecord", "AppleEvent"): + classname = "AEMethod" + listname = "aedescmethods" + return classname, listname + + def makeblacklistnames(self): + return [ + "AEDisposeDesc", +# "AEGetEventHandler", + "AEGetDescData", # Use object.data + "AEGetSpecialHandler", + # Constants with funny definitions + "kAEDontDisposeOnResume", + "kAEUseStandardDispatch", + ] + + def makeblacklisttypes(self): + return [ + "ProcPtr", + "AEArrayType", + "AECoercionHandlerUPP", + "UniversalProcPtr", + "OSLCompareUPP", + "OSLAccessorUPP", + ] + + def makerepairinstructions(self): + return [ + ([("Boolean", "isSysHandler", "InMode")], + [("AlwaysFalse", "*", "*")]), + + ([("void_ptr", "*", "InMode"), ("Size", "*", "InMode")], + [("InBuffer", "*", "*")]), + + ([("EventHandlerProcPtr", "*", "InMode"), ("long", "*", "InMode")], + [("EventHandler", "*", "*")]), + + ([("EventHandlerProcPtr", "*", "OutMode"), ("long", "*", "OutMode")], + [("EventHandler", "*", "*")]), + + ([("AEEventHandlerUPP", "*", "InMode"), ("long", "*", "InMode")], + [("EventHandler", "*", "*")]), + + ([("AEEventHandlerUPP", "*", "OutMode"), ("long", "*", "OutMode")], + [("EventHandler", "*", "*")]), + + ([("void", "*", "OutMode"), ("Size", "*", "InMode"), + ("Size", "*", "OutMode")], + [("VarVarOutBuffer", "*", "InOutMode")]), + + ([("AppleEvent", "theAppleEvent", "OutMode")], + [("AppleEvent_ptr", "*", "InMode")]), + + ([("AEDescList", "theAEDescList", "OutMode")], + [("AEDescList_ptr", "*", "InMode")]), + ] + + def writeinitialdefs(self): + self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n") if __name__ == "__main__": - main() + main() |