typo: use one instead instead of two
[python.git] / Mac / Modules / carbonevt / CarbonEvtscan.py
blob31e2336b1d48709e91172c0287486d453692507a
1 # IBCarbonscan.py
3 import sys
4 import MacOS
5 import sys
7 from bgenlocations import TOOLBOXDIR, BGENDIR
8 sys.path.append(BGENDIR)
10 from scantools import Scanner, Scanner_OSX
12 def main():
13 print "---Scanning CarbonEvents.h---"
14 input = ["CarbonEvents.h"]
15 output = "CarbonEventsgen.py"
16 defsoutput = TOOLBOXDIR + "CarbonEvents.py"
17 scanner = CarbonEvents_Scanner(input, output, defsoutput)
18 scanner.scan()
19 scanner.close()
20 print "=== Testing definitions output code ==="
21 execfile(defsoutput, {}, {})
22 print "--done scanning, importing--"
23 import CarbonEvtsupport
24 print "done"
26 RefObjectTypes = ["EventRef",
27 "EventQueueRef",
28 "EventLoopRef",
29 "EventLoopTimerRef",
30 "EventHandlerRef",
31 "EventHandlerCallRef",
32 "EventTargetRef",
33 "EventHotKeyRef",
36 class CarbonEvents_Scanner(Scanner_OSX):
37 def destination(self, type, name, arglist):
38 classname = "CarbonEventsFunction"
39 listname = "functions"
40 if arglist:
41 t, n, m = arglist[0]
42 if t in RefObjectTypes and m == "InMode":
43 if t == "EventHandlerRef":
44 classname = "EventHandlerRefMethod"
45 else:
46 classname = "CarbonEventsMethod"
47 listname = t + "methods"
48 #else:
49 # print "not method"
50 return classname, listname
52 def writeinitialdefs(self):
53 self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
54 self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
55 self.defsfile.write("false = 0\n")
56 self.defsfile.write("true = 1\n")
57 self.defsfile.write("keyAEEventClass = FOUR_CHAR_CODE('evcl')\n")
58 self.defsfile.write("keyAEEventID = FOUR_CHAR_CODE('evti')\n")
60 def makeblacklistnames(self):
61 return [
62 "sHandler",
63 "MacCreateEvent",
64 # "TrackMouseLocationWithOptions",
65 # "TrackMouseLocation",
66 # "TrackMouseRegion",
67 "RegisterToolboxObjectClass",
68 "UnregisterToolboxObjectClass",
69 "ProcessHICommand",
70 "GetCFRunLoopFromEventLoop",
72 "InvokeEventHandlerUPP",
73 "InvokeEventComparatorUPP",
74 "InvokeEventLoopTimerUPP",
75 "NewEventComparatorUPP",
76 "NewEventLoopTimerUPP",
77 "NewEventHandlerUPP",
78 "DisposeEventComparatorUPP",
79 "DisposeEventLoopTimerUPP",
80 "DisposeEventHandlerUPP",
82 # Wrote by hand
83 "InstallEventHandler",
84 "RemoveEventHandler",
86 # Write by hand?
87 "GetEventParameter",
88 "FlushSpecificEventsFromQueue",
89 "FindSpecificEventInQueue",
90 "InstallEventLoopTimer",
92 # Don't do these because they require a CFRelease
93 "CreateTypeStringWithOSType",
94 "CopyEvent",
97 # def makeblacklisttypes(self):
98 # return ["EventComparatorUPP",
99 # "EventLoopTimerUPP",
100 # #"EventHandlerUPP",
101 # "EventComparatorProcPtr",
102 # "EventLoopTimerProcPtr",
103 # "EventHandlerProcPtr",
106 def makerepairinstructions(self):
107 return [
108 ([("UInt32", 'inSize', "InMode"), ("void_ptr", 'inDataPtr', "InMode")],
109 [("MyInBuffer", 'inDataPtr', "InMode")]),
110 ([("Boolean", 'ioWasInRgn', "OutMode")],
111 [("Boolean", 'ioWasInRgn', "InOutMode")]),
114 if __name__ == "__main__":
115 main()