annotate Mac/Modules/ae/AEmodule.c @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents e22eea5d126d
children 11429968e29d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 /* =========================== Module AE ============================ */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 #include "Python.h"
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
5
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 #define SystemSevenOrLater 1
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 #include "macglue.h"
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 #include <Memory.h>
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 #include <Dialogs.h>
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 #include <Menus.h>
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 #include <Controls.h>
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
15
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 extern PyObject *ResObj_New(Handle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 extern int ResObj_Convert(PyObject *, Handle *);
3295
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
18 extern PyObject *OptResObj_New(Handle);
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
19 extern int OptResObj_Convert(PyObject *, Handle *);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 extern PyObject *WinObj_New(WindowPtr);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 extern int WinObj_Convert(PyObject *, WindowPtr *);
3295
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
23 extern PyTypeObject Window_Type;
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
24 #define WinObj_Check(x) ((x)->ob_type == &Window_Type)
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 extern PyObject *DlgObj_New(DialogPtr);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 extern int DlgObj_Convert(PyObject *, DialogPtr *);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 extern PyTypeObject Dialog_Type;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
30
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 extern PyObject *MenuObj_New(MenuHandle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 extern int MenuObj_Convert(PyObject *, MenuHandle *);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
33
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 extern PyObject *CtlObj_New(ControlHandle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 extern int CtlObj_Convert(PyObject *, ControlHandle *);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
36
3295
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
37 extern PyObject *GrafObj_New(GrafPtr);
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
38 extern int GrafObj_Convert(PyObject *, GrafPtr *);
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
39
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
40 extern PyObject *BMObj_New(BitMapPtr);
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
41 extern int BMObj_Convert(PyObject *, BitMapPtr *);
3ca111e0b1a7 - Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents: 2999
diff changeset
42
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
43 extern PyObject *WinObj_WhichWindow(WindowPtr);
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
44
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 #include <AppleEvents.h>
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
46
2343
4b617fee427d different #ifdefs
Guido van Rossum <guido@python.org>
parents: 2286
diff changeset
47 #ifndef HAVE_UNIVERSAL_HEADERS
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
48 #define AEIdleProcPtr IdleProcPtr
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 #define AEFilterProcPtr EventFilterProcPtr
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 #define AEEventHandlerProcPtr EventHandlerProcPtr
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 #endif
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
52
2343
4b617fee427d different #ifdefs
Guido van Rossum <guido@python.org>
parents: 2286
diff changeset
53 #ifndef HAVE_UNIVERSAL_HEADERS
4b617fee427d different #ifdefs
Guido van Rossum <guido@python.org>
parents: 2286
diff changeset
54 /* I'm trying to setup the code here so that is easily automated,
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
55 ** as follows:
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
56 ** - Use the UPP in the source
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
57 ** - for pre-universal headers, #define each UPP as the corresponding ProcPtr
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
58 ** - for each routine we pass we declare a upp_xxx that
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
59 ** we initialize to the correct value in the init routine.
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
60 */
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
61 #define AEIdleUPP AEIdleProcPtr
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
62 #define AEFilterUPP AEFilterProcPtr
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
63 #define AEEventHandlerUPP AEEventHandlerProcPtr
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
64 #define NewAEIdleProc(x) (x)
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
65 #define NewAEFilterProc(x) (x)
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
66 #define NewAEEventHandlerProc(x) (x)
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
67 #endif
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
68
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 static pascal OSErr GenericEventHandler(); /* Forward */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
70
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
71 AEEventHandlerUPP upp_GenericEventHandler;
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
72
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 static pascal Boolean AEIdleProc(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 {
5745
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
75 if ( PyOS_InterruptOccurred() )
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
76 return 1;
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
77 if ( PyMac_HandleEvent(theEvent) < 0 ) {
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
78 fprintf(stderr, "Exception in user event handler during AE processing\n");
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
79 PyErr_Clear();
e22eea5d126d Adapted to new event handling. It is now also possible to abort out of
Jack Jansen <jack.jansen@cwi.nl>
parents: 3929
diff changeset
80 }
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
81 return 0;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
83
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
84 AEIdleUPP upp_AEIdleProc;
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
85
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 static PyObject *AE_Error;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
87
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 /* ----------------------- Object type AEDesc ----------------------- */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
89
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 staticforward PyTypeObject AEDesc_Type;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
91
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
92 #define AEDesc_Check(x) ((x)->ob_type == &AEDesc_Type)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
93
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
94 typedef struct AEDescObject {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
95 PyObject_HEAD
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
96 AEDesc ob_itself;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
97 } AEDescObject;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
98
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
99 static PyObject *AEDesc_New(itself)
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
100 AEDesc *itself;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
101 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
102 AEDescObject *it;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
103 it = PyObject_NEW(AEDescObject, &AEDesc_Type);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
104 if (it == NULL) return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
105 it->ob_itself = *itself;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 return (PyObject *)it;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
107 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
108 static AEDesc_Convert(v, p_itself)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
109 PyObject *v;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
110 AEDesc *p_itself;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
111 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
112 if (!AEDesc_Check(v))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
113 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
114 PyErr_SetString(PyExc_TypeError, "AEDesc required");
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
115 return 0;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
117 *p_itself = ((AEDescObject *)v)->ob_itself;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
118 return 1;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
120
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 static void AEDesc_dealloc(self)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 AEDescObject *self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
124 AEDisposeDesc(&self->ob_itself);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
125 PyMem_DEL(self);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
126 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
127
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
128 static PyObject *AEDesc_AECoerceDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
130 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
131 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
132 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
133 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
134 DescType toType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
137 PyMac_GetOSType, &toType))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
138 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
139 _err = AECoerceDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
140 toType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
141 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
142 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
143 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
147
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 static PyObject *AEDesc_AEDuplicateDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
149 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
150 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
151 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
152 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
153 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
155 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
157 _err = AEDuplicateDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
158 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
159 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
160 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
161 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
162 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
163 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
164
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
165 static PyObject *AEDesc_AECountItems(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
166 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
167 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
168 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
169 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
170 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
171 long theCount;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
172 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
173 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
174 _err = AECountItems(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
175 &theCount);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
176 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
177 _res = Py_BuildValue("l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
178 theCount);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
179 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
180 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
181
2833
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
182 static PyObject *AEDesc_AEPutPtr(_self, _args)
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
183 AEDescObject *_self;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
184 PyObject *_args;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
185 {
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
186 PyObject *_res = NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
187 OSErr _err;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
188 long index;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
189 DescType typeCode;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
190 char *dataPtr__in__;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
191 long dataPtr__len__;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
192 int dataPtr__in_len__;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
193 if (!PyArg_ParseTuple(_args, "lO&s#",
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
194 &index,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
195 PyMac_GetOSType, &typeCode,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
196 &dataPtr__in__, &dataPtr__in_len__))
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
197 return NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
198 dataPtr__len__ = dataPtr__in_len__;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
199 _err = AEPutPtr(&_self->ob_itself,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
200 index,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
201 typeCode,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
202 dataPtr__in__, dataPtr__len__);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
203 if (_err != noErr) return PyMac_Error(_err);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
204 Py_INCREF(Py_None);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
205 _res = Py_None;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
206 dataPtr__error__: ;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
207 return _res;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
208 }
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
209
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
210 static PyObject *AEDesc_AEPutDesc(_self, _args)
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
211 AEDescObject *_self;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
212 PyObject *_args;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
213 {
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
214 PyObject *_res = NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
215 OSErr _err;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
216 long index;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
217 AEDesc theAEDesc;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
218 if (!PyArg_ParseTuple(_args, "lO&",
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
219 &index,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
220 AEDesc_Convert, &theAEDesc))
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
221 return NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
222 _err = AEPutDesc(&_self->ob_itself,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
223 index,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
224 &theAEDesc);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
225 if (_err != noErr) return PyMac_Error(_err);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
226 Py_INCREF(Py_None);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
227 _res = Py_None;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
228 return _res;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
229 }
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
230
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
231 static PyObject *AEDesc_AEGetNthPtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
232 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
233 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
234 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
235 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
236 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
237 long index;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
238 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
239 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
240 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
241 char *dataPtr__out__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
242 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
243 int dataPtr__in_len__;
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
244 if (!PyArg_ParseTuple(_args, "lO&i",
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
245 &index,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
246 PyMac_GetOSType, &desiredType,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
247 &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
248 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
249 if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
250 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
251 PyErr_NoMemory();
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
252 goto dataPtr__error__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
253 }
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
254 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
255 _err = AEGetNthPtr(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
256 index,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
257 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
258 &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
259 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
260 dataPtr__out__, dataPtr__len__, &dataPtr__len__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
261 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
262 _res = Py_BuildValue("O&O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
263 PyMac_BuildOSType, theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
264 PyMac_BuildOSType, typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
265 dataPtr__out__, (int)dataPtr__len__);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
266 free(dataPtr__out__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
267 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
268 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
269 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
270
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
271 static PyObject *AEDesc_AEGetNthDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
272 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
273 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
274 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
275 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
276 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
277 long index;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
278 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
279 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
280 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
281 if (!PyArg_ParseTuple(_args, "lO&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
282 &index,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
283 PyMac_GetOSType, &desiredType))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
284 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
285 _err = AEGetNthDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
286 index,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
287 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
288 &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
289 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
290 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
291 _res = Py_BuildValue("O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
292 PyMac_BuildOSType, theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
293 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
294 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
295 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
296
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
297 static PyObject *AEDesc_AESizeOfNthItem(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
298 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
299 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
300 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
301 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
302 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
303 long index;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
304 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
305 Size dataSize;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
306 if (!PyArg_ParseTuple(_args, "l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
307 &index))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
308 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
309 _err = AESizeOfNthItem(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
310 index,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
311 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
312 &dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
313 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
314 _res = Py_BuildValue("O&l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
315 PyMac_BuildOSType, typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
316 dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
317 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
318 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
319
2833
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
320 static PyObject *AEDesc_AEDeleteItem(_self, _args)
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
321 AEDescObject *_self;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
322 PyObject *_args;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
323 {
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
324 PyObject *_res = NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
325 OSErr _err;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
326 long index;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
327 if (!PyArg_ParseTuple(_args, "l",
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
328 &index))
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
329 return NULL;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
330 _err = AEDeleteItem(&_self->ob_itself,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
331 index);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
332 if (_err != noErr) return PyMac_Error(_err);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
333 Py_INCREF(Py_None);
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
334 _res = Py_None;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
335 return _res;
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
336 }
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
337
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
338 static PyObject *AEDesc_AEPutParamPtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
339 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
340 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
341 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
342 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
343 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
344 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
345 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
346 char *dataPtr__in__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
347 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
348 int dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
349 if (!PyArg_ParseTuple(_args, "O&O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
350 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
351 PyMac_GetOSType, &typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
352 &dataPtr__in__, &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
353 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
354 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
355 _err = AEPutParamPtr(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
356 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
357 typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
358 dataPtr__in__, dataPtr__len__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
359 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
360 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
361 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
362 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
363 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
364 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
365
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
366 static PyObject *AEDesc_AEPutParamDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
367 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
368 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
369 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
370 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
371 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
372 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
373 AEDesc theAEDesc;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
374 if (!PyArg_ParseTuple(_args, "O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
375 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
376 AEDesc_Convert, &theAEDesc))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
377 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
378 _err = AEPutParamDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
379 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
380 &theAEDesc);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
381 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
382 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
383 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
384 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
385 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
386
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
387 static PyObject *AEDesc_AEGetParamPtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
388 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
389 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
390 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
391 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
392 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
393 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
394 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
395 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
396 char *dataPtr__out__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
397 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
398 int dataPtr__in_len__;
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
399 if (!PyArg_ParseTuple(_args, "O&O&i",
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
400 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
401 PyMac_GetOSType, &desiredType,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
402 &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
403 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
404 if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
405 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
406 PyErr_NoMemory();
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
407 goto dataPtr__error__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
408 }
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
409 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
410 _err = AEGetParamPtr(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
411 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
412 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
413 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
414 dataPtr__out__, dataPtr__len__, &dataPtr__len__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
415 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
416 _res = Py_BuildValue("O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
417 PyMac_BuildOSType, typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
418 dataPtr__out__, (int)dataPtr__len__);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
419 free(dataPtr__out__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
420 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
421 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
422 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
423
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
424 static PyObject *AEDesc_AEGetParamDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
425 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
426 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
427 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
428 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
429 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
430 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
431 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
432 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
433 if (!PyArg_ParseTuple(_args, "O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
434 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
435 PyMac_GetOSType, &desiredType))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
436 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
437 _err = AEGetParamDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
438 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
439 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
440 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
441 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
442 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
443 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
444 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
445 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
446
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
447 static PyObject *AEDesc_AESizeOfParam(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
448 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
449 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
450 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
451 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
452 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
453 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
454 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
455 Size dataSize;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
456 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
457 PyMac_GetOSType, &theAEKeyword))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
458 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
459 _err = AESizeOfParam(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
460 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
461 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
462 &dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
463 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
464 _res = Py_BuildValue("O&l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
465 PyMac_BuildOSType, typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
466 dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
467 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
468 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
469
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
470 static PyObject *AEDesc_AEDeleteParam(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
471 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
472 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
473 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
474 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
475 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
476 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
477 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
478 PyMac_GetOSType, &theAEKeyword))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
479 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
480 _err = AEDeleteParam(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
481 theAEKeyword);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
482 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
483 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
484 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
485 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
486 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
487
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
488 static PyObject *AEDesc_AEGetAttributePtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
489 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
490 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
491 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
492 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
493 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
494 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
495 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
496 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
497 char *dataPtr__out__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
498 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
499 int dataPtr__in_len__;
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
500 if (!PyArg_ParseTuple(_args, "O&O&i",
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
501 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
502 PyMac_GetOSType, &desiredType,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
503 &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
504 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
505 if ((dataPtr__out__ = malloc(dataPtr__in_len__)) == NULL)
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
506 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
507 PyErr_NoMemory();
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
508 goto dataPtr__error__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
509 }
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
510 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
511 _err = AEGetAttributePtr(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
512 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
513 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
514 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
515 dataPtr__out__, dataPtr__len__, &dataPtr__len__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
516 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
517 _res = Py_BuildValue("O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
518 PyMac_BuildOSType, typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
519 dataPtr__out__, (int)dataPtr__len__);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
520 free(dataPtr__out__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
521 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
522 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
523 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
524
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
525 static PyObject *AEDesc_AEGetAttributeDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
526 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
527 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
528 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
529 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
530 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
531 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
532 DescType desiredType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
533 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
534 if (!PyArg_ParseTuple(_args, "O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
535 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
536 PyMac_GetOSType, &desiredType))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
537 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
538 _err = AEGetAttributeDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
539 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
540 desiredType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
541 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
542 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
543 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
544 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
545 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
546 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
547
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
548 static PyObject *AEDesc_AESizeOfAttribute(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
549 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
550 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
551 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
552 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
553 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
554 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
555 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
556 Size dataSize;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
557 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
558 PyMac_GetOSType, &theAEKeyword))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
559 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
560 _err = AESizeOfAttribute(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
561 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
562 &typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
563 &dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
564 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
565 _res = Py_BuildValue("O&l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
566 PyMac_BuildOSType, typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
567 dataSize);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
568 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
569 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
570
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
571 static PyObject *AEDesc_AEPutAttributePtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
572 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
573 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
574 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
575 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
576 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
577 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
578 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
579 char *dataPtr__in__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
580 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
581 int dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
582 if (!PyArg_ParseTuple(_args, "O&O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
583 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
584 PyMac_GetOSType, &typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
585 &dataPtr__in__, &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
586 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
587 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
588 _err = AEPutAttributePtr(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
589 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
590 typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
591 dataPtr__in__, dataPtr__len__);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
592 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
593 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
594 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
595 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
596 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
597 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
598
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
599 static PyObject *AEDesc_AEPutAttributeDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
600 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
601 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
602 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
603 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
604 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
605 AEKeyword theAEKeyword;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
606 AEDesc theAEDesc;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
607 if (!PyArg_ParseTuple(_args, "O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
608 PyMac_GetOSType, &theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
609 AEDesc_Convert, &theAEDesc))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
610 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
611 _err = AEPutAttributeDesc(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
612 theAEKeyword,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
613 &theAEDesc);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
614 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
615 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
616 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
617 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
618 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
619
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
620 static PyObject *AEDesc_AESend(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
621 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
622 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
623 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
624 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
625 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
626 AppleEvent reply;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
627 AESendMode sendMode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
628 AESendPriority sendPriority;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
629 long timeOutInTicks;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
630 if (!PyArg_ParseTuple(_args, "lhl",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
631 &sendMode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
632 &sendPriority,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
633 &timeOutInTicks))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
634 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
635 _err = AESend(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
636 &reply,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
637 sendMode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
638 sendPriority,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
639 timeOutInTicks,
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
640 upp_AEIdleProc,
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
641 (AEFilterUPP)0);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
642 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
643 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
644 AEDesc_New, &reply);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
645 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
646 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
647
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
648 static PyObject *AEDesc_AEResetTimer(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
649 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
650 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
651 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
652 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
653 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
654 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
655 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
656 _err = AEResetTimer(&_self->ob_itself);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
657 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
658 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
659 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
660 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
661 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
662
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
663 static PyObject *AEDesc_AESuspendTheCurrentEvent(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
664 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
665 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
666 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
667 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
668 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
669 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
670 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
671 _err = AESuspendTheCurrentEvent(&_self->ob_itself);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
672 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
673 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
674 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
675 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
676 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
677
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
678 static PyObject *AEDesc_AEResumeTheCurrentEvent(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
679 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
680 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
681 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
682 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
683 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
684 AppleEvent reply;
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
685 AEEventHandlerUPP dispatcher__proc__ = upp_GenericEventHandler;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
686 PyObject *dispatcher;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
687 if (!PyArg_ParseTuple(_args, "O&O",
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
688 AEDesc_Convert, &reply,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
689 &dispatcher))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
690 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
691 _err = AEResumeTheCurrentEvent(&_self->ob_itself,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
692 &reply,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
693 dispatcher__proc__, (long)dispatcher);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
694 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
695 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
696 _res = Py_None;
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
697 Py_INCREF(dispatcher); /* XXX leak, but needed */
2719
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
698 return _res;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
699 }
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
700
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
701 static PyObject *AEDesc_AEGetTheCurrentEvent(_self, _args)
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
702 AEDescObject *_self;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
703 PyObject *_args;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
704 {
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
705 PyObject *_res = NULL;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
706 OSErr _err;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
707 if (!PyArg_ParseTuple(_args, ""))
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
708 return NULL;
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
709 _err = AEGetTheCurrentEvent(&_self->ob_itself);
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
710 if (_err != noErr) return PyMac_Error(_err);
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
711 Py_INCREF(Py_None);
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
712 _res = Py_None;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
713 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
714 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
715
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
716 static PyObject *AEDesc_AESetTheCurrentEvent(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
717 AEDescObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
718 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
719 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
720 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
721 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
722 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
723 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
724 _err = AESetTheCurrentEvent(&_self->ob_itself);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
725 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
726 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
727 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
728 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
729 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
730
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
731 static PyMethodDef AEDesc_methods[] = {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
732 {"AECoerceDesc", (PyCFunction)AEDesc_AECoerceDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
733 "(DescType toType) -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
734 {"AEDuplicateDesc", (PyCFunction)AEDesc_AEDuplicateDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
735 "() -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
736 {"AECountItems", (PyCFunction)AEDesc_AECountItems, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
737 "() -> (long theCount)"},
2833
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
738 {"AEPutPtr", (PyCFunction)AEDesc_AEPutPtr, 1,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
739 "(long index, DescType typeCode, Buffer dataPtr) -> None"},
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
740 {"AEPutDesc", (PyCFunction)AEDesc_AEPutDesc, 1,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
741 "(long index, AEDesc theAEDesc) -> None"},
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
742 {"AEGetNthPtr", (PyCFunction)AEDesc_AEGetNthPtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
743 "(long index, DescType desiredType, Buffer dataPtr) -> (AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
744 {"AEGetNthDesc", (PyCFunction)AEDesc_AEGetNthDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
745 "(long index, DescType desiredType) -> (AEKeyword theAEKeyword, AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
746 {"AESizeOfNthItem", (PyCFunction)AEDesc_AESizeOfNthItem, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
747 "(long index) -> (DescType typeCode, Size dataSize)"},
2833
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
748 {"AEDeleteItem", (PyCFunction)AEDesc_AEDeleteItem, 1,
1643997f1718 Generated anew after fixing aescan.py
Jack Jansen <jack.jansen@cwi.nl>
parents: 2719
diff changeset
749 "(long index) -> None"},
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
750 {"AEPutParamPtr", (PyCFunction)AEDesc_AEPutParamPtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
751 "(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
752 {"AEPutParamDesc", (PyCFunction)AEDesc_AEPutParamDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
753 "(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
754 {"AEGetParamPtr", (PyCFunction)AEDesc_AEGetParamPtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
755 "(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
756 {"AEGetParamDesc", (PyCFunction)AEDesc_AEGetParamDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
757 "(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
758 {"AESizeOfParam", (PyCFunction)AEDesc_AESizeOfParam, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
759 "(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
760 {"AEDeleteParam", (PyCFunction)AEDesc_AEDeleteParam, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
761 "(AEKeyword theAEKeyword) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
762 {"AEGetAttributePtr", (PyCFunction)AEDesc_AEGetAttributePtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
763 "(AEKeyword theAEKeyword, DescType desiredType, Buffer dataPtr) -> (DescType typeCode, Buffer dataPtr)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
764 {"AEGetAttributeDesc", (PyCFunction)AEDesc_AEGetAttributeDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
765 "(AEKeyword theAEKeyword, DescType desiredType) -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
766 {"AESizeOfAttribute", (PyCFunction)AEDesc_AESizeOfAttribute, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
767 "(AEKeyword theAEKeyword) -> (DescType typeCode, Size dataSize)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
768 {"AEPutAttributePtr", (PyCFunction)AEDesc_AEPutAttributePtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
769 "(AEKeyword theAEKeyword, DescType typeCode, Buffer dataPtr) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
770 {"AEPutAttributeDesc", (PyCFunction)AEDesc_AEPutAttributeDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
771 "(AEKeyword theAEKeyword, AEDesc theAEDesc) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
772 {"AESend", (PyCFunction)AEDesc_AESend, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
773 "(AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks) -> (AppleEvent reply)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
774 {"AEResetTimer", (PyCFunction)AEDesc_AEResetTimer, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
775 "() -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
776 {"AESuspendTheCurrentEvent", (PyCFunction)AEDesc_AESuspendTheCurrentEvent, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
777 "() -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
778 {"AEResumeTheCurrentEvent", (PyCFunction)AEDesc_AEResumeTheCurrentEvent, 1,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
779 "(AppleEvent reply, EventHandler dispatcher) -> None"},
2719
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
780 {"AEGetTheCurrentEvent", (PyCFunction)AEDesc_AEGetTheCurrentEvent, 1,
6267a5f222bf Rather massive changes:
Jack Jansen <jack.jansen@cwi.nl>
parents: 2398
diff changeset
781 "() -> None"},
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
782 {"AESetTheCurrentEvent", (PyCFunction)AEDesc_AESetTheCurrentEvent, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
783 "() -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
784 {NULL, NULL, 0}
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
785 };
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
786
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
787 static PyMethodChain AEDesc_chain = { AEDesc_methods, NULL };
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
788
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
789 static PyObject *AEDesc_getattr(self, name)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
790 AEDescObject *self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
791 char *name;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
792 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
793
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
794 if (strcmp(name, "type") == 0)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
795 return PyMac_BuildOSType(self->ob_itself.descriptorType);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
796 if (strcmp(name, "data") == 0) {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
797 PyObject *res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
798 char state;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
799 state = HGetState(self->ob_itself.dataHandle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
800 HLock(self->ob_itself.dataHandle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
801 res = PyString_FromStringAndSize(
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
802 *self->ob_itself.dataHandle,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
803 GetHandleSize(self->ob_itself.dataHandle));
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
804 HUnlock(self->ob_itself.dataHandle);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
805 HSetState(self->ob_itself.dataHandle, state);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
806 return res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
807 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
808 if (strcmp(name, "__members__") == 0)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
809 return Py_BuildValue("[ss]", "data", "type");
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
810
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
811 return Py_FindMethodInChain(&AEDesc_chain, (PyObject *)self, name);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
812 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
813
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
814 #define AEDesc_setattr NULL
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
815
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
816 staticforward PyTypeObject AEDesc_Type = {
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
817 PyObject_HEAD_INIT(&PyType_Type)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
818 0, /*ob_size*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
819 "AEDesc", /*tp_name*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
820 sizeof(AEDescObject), /*tp_basicsize*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
821 0, /*tp_itemsize*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
822 /* methods */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
823 (destructor) AEDesc_dealloc, /*tp_dealloc*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
824 0, /*tp_print*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
825 (getattrfunc) AEDesc_getattr, /*tp_getattr*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
826 (setattrfunc) AEDesc_setattr, /*tp_setattr*/
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
827 };
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
828
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
829 /* --------------------- End object type AEDesc --------------------- */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
830
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
831
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
832 static PyObject *AE_AECreateDesc(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
833 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
834 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
835 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
836 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
837 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
838 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
839 char *dataPtr__in__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
840 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
841 int dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
842 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
843 if (!PyArg_ParseTuple(_args, "O&s#",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
844 PyMac_GetOSType, &typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
845 &dataPtr__in__, &dataPtr__in_len__))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
846 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
847 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
848 _err = AECreateDesc(typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
849 dataPtr__in__, dataPtr__len__,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
850 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
851 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
852 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
853 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
854 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
855 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
856 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
857
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
858 static PyObject *AE_AECoercePtr(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
859 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
860 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
861 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
862 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
863 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
864 DescType typeCode;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
865 char *dataPtr__in__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
866 long dataPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
867 int dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
868 DescType toType;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
869 AEDesc result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
870 if (!PyArg_ParseTuple(_args, "O&s#O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
871 PyMac_GetOSType, &typeCode,
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
872 &dataPtr__in__, &dataPtr__in_len__,
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
873 PyMac_GetOSType, &toType))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
874 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
875 dataPtr__len__ = dataPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
876 _err = AECoercePtr(typeCode,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
877 dataPtr__in__, dataPtr__len__,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
878 toType,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
879 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
880 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
881 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
882 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
883 dataPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
884 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
885 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
886
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
887 static PyObject *AE_AECreateList(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
888 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
889 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
890 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
891 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
892 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
893 char *factoringPtr__in__;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
894 long factoringPtr__len__;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
895 int factoringPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
896 Boolean isRecord;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
897 AEDescList resultList;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
898 if (!PyArg_ParseTuple(_args, "s#b",
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
899 &factoringPtr__in__, &factoringPtr__in_len__,
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
900 &isRecord))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
901 return NULL;
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
902 factoringPtr__len__ = factoringPtr__in_len__;
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
903 _err = AECreateList(factoringPtr__in__, factoringPtr__len__,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
904 isRecord,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
905 &resultList);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
906 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
907 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
908 AEDesc_New, &resultList);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
909 factoringPtr__error__: ;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
910 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
911 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
912
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
913 static PyObject *AE_AECreateAppleEvent(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
914 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
915 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
916 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
917 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
918 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
919 AEEventClass theAEEventClass;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
920 AEEventID theAEEventID;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
921 AEAddressDesc target;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
922 short returnID;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
923 long transactionID;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
924 AppleEvent result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
925 if (!PyArg_ParseTuple(_args, "O&O&O&hl",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
926 PyMac_GetOSType, &theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
927 PyMac_GetOSType, &theAEEventID,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
928 AEDesc_Convert, &target,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
929 &returnID,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
930 &transactionID))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
931 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
932 _err = AECreateAppleEvent(theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
933 theAEEventID,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
934 &target,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
935 returnID,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
936 transactionID,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
937 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
938 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
939 _res = Py_BuildValue("O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
940 AEDesc_New, &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
941 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
942 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
943
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
944 static PyObject *AE_AEProcessAppleEvent(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
945 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
946 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
947 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
948 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
949 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
950 EventRecord theEventRecord;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
951 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
952 PyMac_GetEventRecord, &theEventRecord))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
953 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
954 _err = AEProcessAppleEvent(&theEventRecord);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
955 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
956 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
957 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
958 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
959 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
960
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
961 static PyObject *AE_AEGetInteractionAllowed(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
962 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
963 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
964 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
965 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
966 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
967 AEInteractAllowed level;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
968 if (!PyArg_ParseTuple(_args, ""))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
969 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
970 _err = AEGetInteractionAllowed(&level);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
971 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
972 _res = Py_BuildValue("b",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
973 level);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
974 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
975 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
976
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
977 static PyObject *AE_AESetInteractionAllowed(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
978 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
979 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
980 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
981 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
982 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
983 AEInteractAllowed level;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
984 if (!PyArg_ParseTuple(_args, "b",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
985 &level))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
986 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
987 _err = AESetInteractionAllowed(level);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
988 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
989 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
990 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
991 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
992 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
993
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
994 static PyObject *AE_AEInteractWithUser(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
995 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
996 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
997 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
998 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
999 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1000 long timeOutInTicks;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1001 if (!PyArg_ParseTuple(_args, "l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1002 &timeOutInTicks))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1003 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1004 _err = AEInteractWithUser(timeOutInTicks,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1005 (NMRecPtr)0,
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
1006 upp_AEIdleProc);
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1007 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1008 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1009 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1010 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1011 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1012
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1013 static PyObject *AE_AEInstallEventHandler(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1014 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1015 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1016 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1017 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1018 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1019 AEEventClass theAEEventClass;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1020 AEEventID theAEEventID;
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1021 AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1022 PyObject *handler;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1023 if (!PyArg_ParseTuple(_args, "O&O&O",
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1024 PyMac_GetOSType, &theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1025 PyMac_GetOSType, &theAEEventID,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1026 &handler))
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1027 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1028 _err = AEInstallEventHandler(theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1029 theAEEventID,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1030 handler__proc__, (long)handler,
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1031 0);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1032 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1033 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1034 _res = Py_None;
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1035 Py_INCREF(handler); /* XXX leak, but needed */
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1036 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1037 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1038
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1039 static PyObject *AE_AERemoveEventHandler(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1040 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1041 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1042 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1043 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1044 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1045 AEEventClass theAEEventClass;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1046 AEEventID theAEEventID;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1047 if (!PyArg_ParseTuple(_args, "O&O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1048 PyMac_GetOSType, &theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1049 PyMac_GetOSType, &theAEEventID))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1050 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1051 _err = AERemoveEventHandler(theAEEventClass,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1052 theAEEventID,
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
1053 upp_GenericEventHandler,
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1054 0);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1055 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1056 Py_INCREF(Py_None);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1057 _res = Py_None;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1058 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1059 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1060
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1061 static PyObject *AE_AEGetEventHandler(_self, _args)
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1062 PyObject *_self;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1063 PyObject *_args;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1064 {
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1065 PyObject *_res = NULL;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1066 OSErr _err;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1067 AEEventClass theAEEventClass;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1068 AEEventID theAEEventID;
2999
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1069 AEEventHandlerUPP handler__proc__ = upp_GenericEventHandler;
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1070 PyObject *handler;
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1071 if (!PyArg_ParseTuple(_args, "O&O&",
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1072 PyMac_GetOSType, &theAEEventClass,
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1073 PyMac_GetOSType, &theAEEventID))
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1074 return NULL;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1075 _err = AEGetEventHandler(theAEEventClass,
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1076 theAEEventID,
2999
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1077 &handler__proc__, (long *)&handler,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1078 0);
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1079 if (_err != noErr) return PyMac_Error(_err);
2999
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1080 _res = Py_BuildValue("O",
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1081 handler);
ba2fe5f836a8 Different arg to GetEventHandler (but I cannot really remember fixing
Jack Jansen <jack.jansen@cwi.nl>
parents: 2878
diff changeset
1082 Py_INCREF(handler); /* XXX leak, but needed */
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1083 return _res;
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1084 }
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1085
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1086 static PyObject *AE_AEManagerInfo(_self, _args)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1087 PyObject *_self;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1088 PyObject *_args;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1089 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1090 PyObject *_res = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1091 OSErr _err;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1092 AEKeyword keyWord;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1093 long result;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1094 if (!PyArg_ParseTuple(_args, "O&",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1095 PyMac_GetOSType, &keyWord))
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1096 return NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1097 _err = AEManagerInfo(keyWord,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1098 &result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1099 if (_err != noErr) return PyMac_Error(_err);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1100 _res = Py_BuildValue("l",
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1101 result);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1102 return _res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1103 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1104
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1105 static PyMethodDef AE_methods[] = {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1106 {"AECreateDesc", (PyCFunction)AE_AECreateDesc, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1107 "(DescType typeCode, Buffer dataPtr) -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1108 {"AECoercePtr", (PyCFunction)AE_AECoercePtr, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1109 "(DescType typeCode, Buffer dataPtr, DescType toType) -> (AEDesc result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1110 {"AECreateList", (PyCFunction)AE_AECreateList, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1111 "(Buffer factoringPtr, Boolean isRecord) -> (AEDescList resultList)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1112 {"AECreateAppleEvent", (PyCFunction)AE_AECreateAppleEvent, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1113 "(AEEventClass theAEEventClass, AEEventID theAEEventID, AEAddressDesc target, short returnID, long transactionID) -> (AppleEvent result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1114 {"AEProcessAppleEvent", (PyCFunction)AE_AEProcessAppleEvent, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1115 "(EventRecord theEventRecord) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1116 {"AEGetInteractionAllowed", (PyCFunction)AE_AEGetInteractionAllowed, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1117 "() -> (AEInteractAllowed level)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1118 {"AESetInteractionAllowed", (PyCFunction)AE_AESetInteractionAllowed, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1119 "(AEInteractAllowed level) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1120 {"AEInteractWithUser", (PyCFunction)AE_AEInteractWithUser, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1121 "(long timeOutInTicks) -> None"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1122 {"AEInstallEventHandler", (PyCFunction)AE_AEInstallEventHandler, 1,
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1123 "(AEEventClass theAEEventClass, AEEventID theAEEventID, EventHandler handler) -> None"},
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1124 {"AERemoveEventHandler", (PyCFunction)AE_AERemoveEventHandler, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1125 "(AEEventClass theAEEventClass, AEEventID theAEEventID) -> None"},
2878
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1126 {"AEGetEventHandler", (PyCFunction)AE_AEGetEventHandler, 1,
5a5219c8c2e6 Fixed incorrect call to InstallHandler and a few other things
Jack Jansen <jack.jansen@cwi.nl>
parents: 2833
diff changeset
1127 "(AEEventClass theAEEventClass, AEEventID theAEEventID) -> (EventHandler handler)"},
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1128 {"AEManagerInfo", (PyCFunction)AE_AEManagerInfo, 1,
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1129 "(AEKeyword keyWord) -> (long result)"},
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1130 {NULL, NULL, 0}
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1131 };
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1132
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1133
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1134
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1135 static pascal OSErr
2398
cabb7c5732ef another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents: 2343
diff changeset
1136 GenericEventHandler(AppleEvent *request, AppleEvent *reply, long refcon)
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1137 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1138 PyObject *handler = (PyObject *)refcon;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1139 AEDescObject *requestObject, *replyObject;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1140 PyObject *args, *res;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1141 if ((requestObject = (AEDescObject *)AEDesc_New(request)) == NULL) {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1142 return -1;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1143 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1144 if ((replyObject = (AEDescObject *)AEDesc_New(reply)) == NULL) {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1145 Py_DECREF(requestObject);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1146 return -1;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1147 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1148 if ((args = Py_BuildValue("OO", requestObject, replyObject)) == NULL) {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1149 Py_DECREF(requestObject);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1150 Py_DECREF(replyObject);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1151 return -1;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1152 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1153 res = PyEval_CallObject(handler, args);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1154 requestObject->ob_itself.descriptorType = 'null';
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1155 requestObject->ob_itself.dataHandle = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1156 replyObject->ob_itself.descriptorType = 'null';
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1157 replyObject->ob_itself.dataHandle = NULL;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1158 Py_DECREF(args);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1159 if (res == NULL)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1160 return -1;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1161 Py_DECREF(res);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1162 return noErr;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1163 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1164
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1165
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1166 void initAE()
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1167 {
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1168 PyObject *m;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1169 PyObject *d;
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1170
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1171
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1172
2286
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
1173 upp_AEIdleProc = NewAEIdleProc(AEIdleProc);
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
1174 upp_GenericEventHandler = NewAEEventHandlerProc(GenericEventHandler);
5546f4a6e3c3 more think/mw changes
Guido van Rossum <guido@python.org>
parents: 2267
diff changeset
1175
2267
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1176
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1177 m = Py_InitModule("AE", AE_methods);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1178 d = PyModule_GetDict(m);
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1179 AE_Error = PyMac_GetOSErrException();
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1180 if (AE_Error == NULL ||
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1181 PyDict_SetItemString(d, "Error", AE_Error) != 0)
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1182 Py_FatalError("can't initialize AE.Error");
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1183 }
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1184
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1185 /* ========================= End module AE ========================== */
7411b6a06920 Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1186