ยปCore Development>Code coverage>Mac/Modules/carbonevt/_CarbonEvtmodule.c

Python code coverage for Mac/Modules/carbonevt/_CarbonEvtmodule.c

#countcontent
1n/a
2n/a/* ======================= Module _CarbonEvt ======================== */
3n/a
4n/a#include "Python.h"
5n/a
6n/a#ifndef __LP64__
7n/a
8n/a#include "pymactoolbox.h"
9n/a
10n/a/* Macro to test whether a weak-loaded CFM function exists */
11n/a#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
12n/a PyErr_SetString(PyExc_NotImplementedError, \
13n/a "Not available in this shared library/OS version"); \
14n/a return NULL; \
15n/a }} while(0)
16n/a
17n/a
18n/a#include <Carbon/Carbon.h>
19n/a
20n/aextern int CFStringRef_New(CFStringRef *);
21n/a
22n/aextern int CFStringRef_Convert(PyObject *, CFStringRef *);
23n/aextern int CFBundleRef_Convert(PyObject *, CFBundleRef *);
24n/a
25n/aint EventTargetRef_Convert(PyObject *, EventTargetRef *);
26n/aPyObject *EventHandlerCallRef_New(EventHandlerCallRef itself);
27n/aPyObject *EventRef_New(EventRef itself);
28n/a
29n/a/********** EventTypeSpec *******/
30n/astatic int
31n/aEventTypeSpec_Convert(PyObject *v, EventTypeSpec *out)
32n/a{
33n/a if (PyArg_Parse(v, "(O&l)",
34n/a PyMac_GetOSType, &(out->eventClass),
35n/a &(out->eventKind)))
36n/a return 1;
37n/a return 0;
38n/a}
39n/a
40n/a/********** end EventTypeSpec *******/
41n/a
42n/a/********** HIPoint *******/
43n/a
44n/a#if 0 /* XXX doesn't compile */
45n/astatic PyObject*
46n/aHIPoint_New(HIPoint *in)
47n/a{
48n/a return Py_BuildValue("ff", in->x, in->y);
49n/a}
50n/a
51n/astatic int
52n/aHIPoint_Convert(PyObject *v, HIPoint *out)
53n/a{
54n/a if (PyArg_ParseTuple(v, "ff", &(out->x), &(out->y)))
55n/a return 1;
56n/a return NULL;
57n/a}
58n/a#endif
59n/a
60n/a/********** end HIPoint *******/
61n/a
62n/a/********** EventHotKeyID *******/
63n/a
64n/astatic int
65n/aEventHotKeyID_Convert(PyObject *v, EventHotKeyID *out)
66n/a{
67n/a if (PyArg_ParseTuple(v, "ll", &out->signature, &out->id))
68n/a return 1;
69n/a return 0;
70n/a}
71n/a
72n/a/********** end EventHotKeyID *******/
73n/a
74n/a/******** myEventHandler ***********/
75n/a
76n/astatic EventHandlerUPP myEventHandlerUPP;
77n/a
78n/astatic pascal OSStatus
79n/amyEventHandler(EventHandlerCallRef handlerRef, EventRef event, void *outPyObject) {
80n/a PyObject *retValue;
81n/a int status;
82n/a
83n/a retValue = PyObject_CallFunction((PyObject *)outPyObject, "O&O&",
84n/a EventHandlerCallRef_New, handlerRef,
85n/a EventRef_New, event);
86n/a if (retValue == NULL) {
87n/a PySys_WriteStderr("Error in event handler callback:\n");
88n/a PyErr_Print(); /* this also clears the error */
89n/a status = noErr; /* complain? how? */
90n/a } else {
91n/a if (retValue == Py_None)
92n/a status = noErr;
93n/a else if (PyInt_Check(retValue)) {
94n/a status = PyInt_AsLong(retValue);
95n/a } else
96n/a status = noErr; /* wrong object type, complain? */
97n/a Py_DECREF(retValue);
98n/a }
99n/a
100n/a return status;
101n/a}
102n/a
103n/a/******** end myEventHandler ***********/
104n/a
105n/a
106n/astatic PyObject *CarbonEvents_Error;
107n/a
108n/a/* ---------------------- Object type EventRef ---------------------- */
109n/a
110n/aPyTypeObject EventRef_Type;
111n/a
112n/a#define EventRef_Check(x) ((x)->ob_type == &EventRef_Type || PyObject_TypeCheck((x), &EventRef_Type))
113n/a
114n/atypedef struct EventRefObject {
115n/a PyObject_HEAD
116n/a EventRef ob_itself;
117n/a} EventRefObject;
118n/a
119n/aPyObject *EventRef_New(EventRef itself)
120n/a{
121n/a EventRefObject *it;
122n/a it = PyObject_NEW(EventRefObject, &EventRef_Type);
123n/a if (it == NULL) return NULL;
124n/a it->ob_itself = itself;
125n/a return (PyObject *)it;
126n/a}
127n/a
128n/aint EventRef_Convert(PyObject *v, EventRef *p_itself)
129n/a{
130n/a if (!EventRef_Check(v))
131n/a {
132n/a PyErr_SetString(PyExc_TypeError, "EventRef required");
133n/a return 0;
134n/a }
135n/a *p_itself = ((EventRefObject *)v)->ob_itself;
136n/a return 1;
137n/a}
138n/a
139n/astatic void EventRef_dealloc(EventRefObject *self)
140n/a{
141n/a /* Cleanup of self->ob_itself goes here */
142n/a self->ob_type->tp_free((PyObject *)self);
143n/a}
144n/a
145n/astatic PyObject *EventRef_RetainEvent(EventRefObject *_self, PyObject *_args)
146n/a{
147n/a PyObject *_res = NULL;
148n/a EventRef _rv;
149n/a if (!PyArg_ParseTuple(_args, ""))
150n/a return NULL;
151n/a _rv = RetainEvent(_self->ob_itself);
152n/a _res = Py_BuildValue("O&",
153n/a EventRef_New, _rv);
154n/a return _res;
155n/a}
156n/a
157n/astatic PyObject *EventRef_GetEventRetainCount(EventRefObject *_self, PyObject *_args)
158n/a{
159n/a PyObject *_res = NULL;
160n/a UInt32 _rv;
161n/a if (!PyArg_ParseTuple(_args, ""))
162n/a return NULL;
163n/a _rv = GetEventRetainCount(_self->ob_itself);
164n/a _res = Py_BuildValue("l",
165n/a _rv);
166n/a return _res;
167n/a}
168n/a
169n/astatic PyObject *EventRef_ReleaseEvent(EventRefObject *_self, PyObject *_args)
170n/a{
171n/a PyObject *_res = NULL;
172n/a if (!PyArg_ParseTuple(_args, ""))
173n/a return NULL;
174n/a ReleaseEvent(_self->ob_itself);
175n/a Py_INCREF(Py_None);
176n/a _res = Py_None;
177n/a return _res;
178n/a}
179n/a
180n/astatic PyObject *EventRef_SetEventParameter(EventRefObject *_self, PyObject *_args)
181n/a{
182n/a PyObject *_res = NULL;
183n/a OSStatus _err;
184n/a OSType inName;
185n/a OSType inType;
186n/a char *inDataPtr__in__;
187n/a long inDataPtr__len__;
188n/a int inDataPtr__in_len__;
189n/a if (!PyArg_ParseTuple(_args, "O&O&s#",
190n/a PyMac_GetOSType, &inName,
191n/a PyMac_GetOSType, &inType,
192n/a &inDataPtr__in__, &inDataPtr__in_len__))
193n/a return NULL;
194n/a inDataPtr__len__ = inDataPtr__in_len__;
195n/a _err = SetEventParameter(_self->ob_itself,
196n/a inName,
197n/a inType,
198n/a inDataPtr__len__, inDataPtr__in__);
199n/a if (_err != noErr) return PyMac_Error(_err);
200n/a Py_INCREF(Py_None);
201n/a _res = Py_None;
202n/a return _res;
203n/a}
204n/a
205n/astatic PyObject *EventRef_GetEventClass(EventRefObject *_self, PyObject *_args)
206n/a{
207n/a PyObject *_res = NULL;
208n/a UInt32 _rv;
209n/a if (!PyArg_ParseTuple(_args, ""))
210n/a return NULL;
211n/a _rv = GetEventClass(_self->ob_itself);
212n/a _res = Py_BuildValue("l",
213n/a _rv);
214n/a return _res;
215n/a}
216n/a
217n/astatic PyObject *EventRef_GetEventKind(EventRefObject *_self, PyObject *_args)
218n/a{
219n/a PyObject *_res = NULL;
220n/a UInt32 _rv;
221n/a if (!PyArg_ParseTuple(_args, ""))
222n/a return NULL;
223n/a _rv = GetEventKind(_self->ob_itself);
224n/a _res = Py_BuildValue("l",
225n/a _rv);
226n/a return _res;
227n/a}
228n/a
229n/astatic PyObject *EventRef_GetEventTime(EventRefObject *_self, PyObject *_args)
230n/a{
231n/a PyObject *_res = NULL;
232n/a double _rv;
233n/a if (!PyArg_ParseTuple(_args, ""))
234n/a return NULL;
235n/a _rv = GetEventTime(_self->ob_itself);
236n/a _res = Py_BuildValue("d",
237n/a _rv);
238n/a return _res;
239n/a}
240n/a
241n/astatic PyObject *EventRef_SetEventTime(EventRefObject *_self, PyObject *_args)
242n/a{
243n/a PyObject *_res = NULL;
244n/a OSStatus _err;
245n/a double inTime;
246n/a if (!PyArg_ParseTuple(_args, "d",
247n/a &inTime))
248n/a return NULL;
249n/a _err = SetEventTime(_self->ob_itself,
250n/a inTime);
251n/a if (_err != noErr) return PyMac_Error(_err);
252n/a Py_INCREF(Py_None);
253n/a _res = Py_None;
254n/a return _res;
255n/a}
256n/a
257n/astatic PyObject *EventRef_IsUserCancelEventRef(EventRefObject *_self, PyObject *_args)
258n/a{
259n/a PyObject *_res = NULL;
260n/a Boolean _rv;
261n/a if (!PyArg_ParseTuple(_args, ""))
262n/a return NULL;
263n/a _rv = IsUserCancelEventRef(_self->ob_itself);
264n/a _res = Py_BuildValue("b",
265n/a _rv);
266n/a return _res;
267n/a}
268n/a
269n/astatic PyObject *EventRef_ConvertEventRefToEventRecord(EventRefObject *_self, PyObject *_args)
270n/a{
271n/a PyObject *_res = NULL;
272n/a Boolean _rv;
273n/a EventRecord outEvent;
274n/a if (!PyArg_ParseTuple(_args, ""))
275n/a return NULL;
276n/a _rv = ConvertEventRefToEventRecord(_self->ob_itself,
277n/a &outEvent);
278n/a _res = Py_BuildValue("bO&",
279n/a _rv,
280n/a PyMac_BuildEventRecord, &outEvent);
281n/a return _res;
282n/a}
283n/a
284n/astatic PyObject *EventRef_IsEventInMask(EventRefObject *_self, PyObject *_args)
285n/a{
286n/a PyObject *_res = NULL;
287n/a Boolean _rv;
288n/a UInt16 inMask;
289n/a if (!PyArg_ParseTuple(_args, "H",
290n/a &inMask))
291n/a return NULL;
292n/a _rv = IsEventInMask(_self->ob_itself,
293n/a inMask);
294n/a _res = Py_BuildValue("b",
295n/a _rv);
296n/a return _res;
297n/a}
298n/a
299n/astatic PyObject *EventRef_SendEventToEventTarget(EventRefObject *_self, PyObject *_args)
300n/a{
301n/a PyObject *_res = NULL;
302n/a OSStatus _err;
303n/a EventTargetRef inTarget;
304n/a if (!PyArg_ParseTuple(_args, "O&",
305n/a EventTargetRef_Convert, &inTarget))
306n/a return NULL;
307n/a _err = SendEventToEventTarget(_self->ob_itself,
308n/a inTarget);
309n/a if (_err != noErr) return PyMac_Error(_err);
310n/a Py_INCREF(Py_None);
311n/a _res = Py_None;
312n/a return _res;
313n/a}
314n/a
315n/astatic PyObject *EventRef_GetEventParameter(EventRefObject *_self, PyObject *_args)
316n/a{
317n/a PyObject *_res = NULL;
318n/a
319n/a UInt32 bufferSize;
320n/a EventParamName inName;
321n/a EventParamType inType;
322n/a OSErr _err;
323n/a void * buffer;
324n/a
325n/a if (!PyArg_ParseTuple(_args, "O&O&", PyMac_GetOSType, &inName, PyMac_GetOSType, &inType))
326n/a return NULL;
327n/a
328n/a /* Figure out the size by passing a null buffer to GetEventParameter */
329n/a _err = GetEventParameter(_self->ob_itself, inName, inType, NULL, 0, &bufferSize, NULL);
330n/a
331n/a if (_err != noErr)
332n/a return PyMac_Error(_err);
333n/a buffer = PyMem_NEW(char, bufferSize);
334n/a if (buffer == NULL)
335n/a return PyErr_NoMemory();
336n/a
337n/a _err = GetEventParameter(_self->ob_itself, inName, inType, NULL, bufferSize, NULL, buffer);
338n/a
339n/a if (_err != noErr) {
340n/a PyMem_DEL(buffer);
341n/a return PyMac_Error(_err);
342n/a }
343n/a _res = Py_BuildValue("s#", buffer, bufferSize);
344n/a PyMem_DEL(buffer);
345n/a return _res;
346n/a
347n/a}
348n/a
349n/astatic PyMethodDef EventRef_methods[] = {
350n/a {"RetainEvent", (PyCFunction)EventRef_RetainEvent, 1,
351n/a PyDoc_STR("() -> (EventRef _rv)")},
352n/a {"GetEventRetainCount", (PyCFunction)EventRef_GetEventRetainCount, 1,
353n/a PyDoc_STR("() -> (UInt32 _rv)")},
354n/a {"ReleaseEvent", (PyCFunction)EventRef_ReleaseEvent, 1,
355n/a PyDoc_STR("() -> None")},
356n/a {"SetEventParameter", (PyCFunction)EventRef_SetEventParameter, 1,
357n/a PyDoc_STR("(OSType inName, OSType inType, Buffer inDataPtr) -> None")},
358n/a {"GetEventClass", (PyCFunction)EventRef_GetEventClass, 1,
359n/a PyDoc_STR("() -> (UInt32 _rv)")},
360n/a {"GetEventKind", (PyCFunction)EventRef_GetEventKind, 1,
361n/a PyDoc_STR("() -> (UInt32 _rv)")},
362n/a {"GetEventTime", (PyCFunction)EventRef_GetEventTime, 1,
363n/a PyDoc_STR("() -> (double _rv)")},
364n/a {"SetEventTime", (PyCFunction)EventRef_SetEventTime, 1,
365n/a PyDoc_STR("(double inTime) -> None")},
366n/a {"IsUserCancelEventRef", (PyCFunction)EventRef_IsUserCancelEventRef, 1,
367n/a PyDoc_STR("() -> (Boolean _rv)")},
368n/a {"ConvertEventRefToEventRecord", (PyCFunction)EventRef_ConvertEventRefToEventRecord, 1,
369n/a PyDoc_STR("() -> (Boolean _rv, EventRecord outEvent)")},
370n/a {"IsEventInMask", (PyCFunction)EventRef_IsEventInMask, 1,
371n/a PyDoc_STR("(UInt16 inMask) -> (Boolean _rv)")},
372n/a {"SendEventToEventTarget", (PyCFunction)EventRef_SendEventToEventTarget, 1,
373n/a PyDoc_STR("(EventTargetRef inTarget) -> None")},
374n/a {"GetEventParameter", (PyCFunction)EventRef_GetEventParameter, 1,
375n/a PyDoc_STR("(EventParamName eventName, EventParamType eventType) -> (String eventParamData)")},
376n/a {NULL, NULL, 0}
377n/a};
378n/a
379n/a#define EventRef_getsetlist NULL
380n/a
381n/a
382n/a#define EventRef_compare NULL
383n/a
384n/a#define EventRef_repr NULL
385n/a
386n/a#define EventRef_hash NULL
387n/a#define EventRef_tp_init 0
388n/a
389n/a#define EventRef_tp_alloc PyType_GenericAlloc
390n/a
391n/astatic PyObject *EventRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
392n/a{
393n/a PyObject *_self;
394n/a EventRef itself;
395n/a char *kw[] = {"itself", 0};
396n/a
397n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventRef_Convert, &itself)) return NULL;
398n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
399n/a ((EventRefObject *)_self)->ob_itself = itself;
400n/a return _self;
401n/a}
402n/a
403n/a#define EventRef_tp_free PyObject_Del
404n/a
405n/a
406n/aPyTypeObject EventRef_Type = {
407n/a PyObject_HEAD_INIT(NULL)
408n/a 0, /*ob_size*/
409n/a "_CarbonEvt.EventRef", /*tp_name*/
410n/a sizeof(EventRefObject), /*tp_basicsize*/
411n/a 0, /*tp_itemsize*/
412n/a /* methods */
413n/a (destructor) EventRef_dealloc, /*tp_dealloc*/
414n/a 0, /*tp_print*/
415n/a (getattrfunc)0, /*tp_getattr*/
416n/a (setattrfunc)0, /*tp_setattr*/
417n/a (cmpfunc) EventRef_compare, /*tp_compare*/
418n/a (reprfunc) EventRef_repr, /*tp_repr*/
419n/a (PyNumberMethods *)0, /* tp_as_number */
420n/a (PySequenceMethods *)0, /* tp_as_sequence */
421n/a (PyMappingMethods *)0, /* tp_as_mapping */
422n/a (hashfunc) EventRef_hash, /*tp_hash*/
423n/a 0, /*tp_call*/
424n/a 0, /*tp_str*/
425n/a PyObject_GenericGetAttr, /*tp_getattro*/
426n/a PyObject_GenericSetAttr, /*tp_setattro */
427n/a 0, /*tp_as_buffer*/
428n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
429n/a 0, /*tp_doc*/
430n/a 0, /*tp_traverse*/
431n/a 0, /*tp_clear*/
432n/a 0, /*tp_richcompare*/
433n/a 0, /*tp_weaklistoffset*/
434n/a 0, /*tp_iter*/
435n/a 0, /*tp_iternext*/
436n/a EventRef_methods, /* tp_methods */
437n/a 0, /*tp_members*/
438n/a EventRef_getsetlist, /*tp_getset*/
439n/a 0, /*tp_base*/
440n/a 0, /*tp_dict*/
441n/a 0, /*tp_descr_get*/
442n/a 0, /*tp_descr_set*/
443n/a 0, /*tp_dictoffset*/
444n/a EventRef_tp_init, /* tp_init */
445n/a EventRef_tp_alloc, /* tp_alloc */
446n/a EventRef_tp_new, /* tp_new */
447n/a EventRef_tp_free, /* tp_free */
448n/a};
449n/a
450n/a/* -------------------- End object type EventRef -------------------- */
451n/a
452n/a
453n/a/* ------------------- Object type EventQueueRef -------------------- */
454n/a
455n/aPyTypeObject EventQueueRef_Type;
456n/a
457n/a#define EventQueueRef_Check(x) ((x)->ob_type == &EventQueueRef_Type || PyObject_TypeCheck((x), &EventQueueRef_Type))
458n/a
459n/atypedef struct EventQueueRefObject {
460n/a PyObject_HEAD
461n/a EventQueueRef ob_itself;
462n/a} EventQueueRefObject;
463n/a
464n/aPyObject *EventQueueRef_New(EventQueueRef itself)
465n/a{
466n/a EventQueueRefObject *it;
467n/a it = PyObject_NEW(EventQueueRefObject, &EventQueueRef_Type);
468n/a if (it == NULL) return NULL;
469n/a it->ob_itself = itself;
470n/a return (PyObject *)it;
471n/a}
472n/a
473n/aint EventQueueRef_Convert(PyObject *v, EventQueueRef *p_itself)
474n/a{
475n/a if (!EventQueueRef_Check(v))
476n/a {
477n/a PyErr_SetString(PyExc_TypeError, "EventQueueRef required");
478n/a return 0;
479n/a }
480n/a *p_itself = ((EventQueueRefObject *)v)->ob_itself;
481n/a return 1;
482n/a}
483n/a
484n/astatic void EventQueueRef_dealloc(EventQueueRefObject *self)
485n/a{
486n/a /* Cleanup of self->ob_itself goes here */
487n/a self->ob_type->tp_free((PyObject *)self);
488n/a}
489n/a
490n/astatic PyObject *EventQueueRef_PostEventToQueue(EventQueueRefObject *_self, PyObject *_args)
491n/a{
492n/a PyObject *_res = NULL;
493n/a OSStatus _err;
494n/a EventRef inEvent;
495n/a SInt16 inPriority;
496n/a if (!PyArg_ParseTuple(_args, "O&h",
497n/a EventRef_Convert, &inEvent,
498n/a &inPriority))
499n/a return NULL;
500n/a _err = PostEventToQueue(_self->ob_itself,
501n/a inEvent,
502n/a inPriority);
503n/a if (_err != noErr) return PyMac_Error(_err);
504n/a Py_INCREF(Py_None);
505n/a _res = Py_None;
506n/a return _res;
507n/a}
508n/a
509n/astatic PyObject *EventQueueRef_FlushEventsMatchingListFromQueue(EventQueueRefObject *_self, PyObject *_args)
510n/a{
511n/a PyObject *_res = NULL;
512n/a OSStatus _err;
513n/a UInt32 inNumTypes;
514n/a EventTypeSpec inList;
515n/a if (!PyArg_ParseTuple(_args, "lO&",
516n/a &inNumTypes,
517n/a EventTypeSpec_Convert, &inList))
518n/a return NULL;
519n/a _err = FlushEventsMatchingListFromQueue(_self->ob_itself,
520n/a inNumTypes,
521n/a &inList);
522n/a if (_err != noErr) return PyMac_Error(_err);
523n/a Py_INCREF(Py_None);
524n/a _res = Py_None;
525n/a return _res;
526n/a}
527n/a
528n/astatic PyObject *EventQueueRef_FlushEventQueue(EventQueueRefObject *_self, PyObject *_args)
529n/a{
530n/a PyObject *_res = NULL;
531n/a OSStatus _err;
532n/a if (!PyArg_ParseTuple(_args, ""))
533n/a return NULL;
534n/a _err = FlushEventQueue(_self->ob_itself);
535n/a if (_err != noErr) return PyMac_Error(_err);
536n/a Py_INCREF(Py_None);
537n/a _res = Py_None;
538n/a return _res;
539n/a}
540n/a
541n/astatic PyObject *EventQueueRef_GetNumEventsInQueue(EventQueueRefObject *_self, PyObject *_args)
542n/a{
543n/a PyObject *_res = NULL;
544n/a UInt32 _rv;
545n/a if (!PyArg_ParseTuple(_args, ""))
546n/a return NULL;
547n/a _rv = GetNumEventsInQueue(_self->ob_itself);
548n/a _res = Py_BuildValue("l",
549n/a _rv);
550n/a return _res;
551n/a}
552n/a
553n/astatic PyObject *EventQueueRef_RemoveEventFromQueue(EventQueueRefObject *_self, PyObject *_args)
554n/a{
555n/a PyObject *_res = NULL;
556n/a OSStatus _err;
557n/a EventRef inEvent;
558n/a if (!PyArg_ParseTuple(_args, "O&",
559n/a EventRef_Convert, &inEvent))
560n/a return NULL;
561n/a _err = RemoveEventFromQueue(_self->ob_itself,
562n/a inEvent);
563n/a if (_err != noErr) return PyMac_Error(_err);
564n/a Py_INCREF(Py_None);
565n/a _res = Py_None;
566n/a return _res;
567n/a}
568n/a
569n/astatic PyObject *EventQueueRef_IsEventInQueue(EventQueueRefObject *_self, PyObject *_args)
570n/a{
571n/a PyObject *_res = NULL;
572n/a Boolean _rv;
573n/a EventRef inEvent;
574n/a if (!PyArg_ParseTuple(_args, "O&",
575n/a EventRef_Convert, &inEvent))
576n/a return NULL;
577n/a _rv = IsEventInQueue(_self->ob_itself,
578n/a inEvent);
579n/a _res = Py_BuildValue("b",
580n/a _rv);
581n/a return _res;
582n/a}
583n/a
584n/astatic PyMethodDef EventQueueRef_methods[] = {
585n/a {"PostEventToQueue", (PyCFunction)EventQueueRef_PostEventToQueue, 1,
586n/a PyDoc_STR("(EventRef inEvent, SInt16 inPriority) -> None")},
587n/a {"FlushEventsMatchingListFromQueue", (PyCFunction)EventQueueRef_FlushEventsMatchingListFromQueue, 1,
588n/a PyDoc_STR("(UInt32 inNumTypes, EventTypeSpec inList) -> None")},
589n/a {"FlushEventQueue", (PyCFunction)EventQueueRef_FlushEventQueue, 1,
590n/a PyDoc_STR("() -> None")},
591n/a {"GetNumEventsInQueue", (PyCFunction)EventQueueRef_GetNumEventsInQueue, 1,
592n/a PyDoc_STR("() -> (UInt32 _rv)")},
593n/a {"RemoveEventFromQueue", (PyCFunction)EventQueueRef_RemoveEventFromQueue, 1,
594n/a PyDoc_STR("(EventRef inEvent) -> None")},
595n/a {"IsEventInQueue", (PyCFunction)EventQueueRef_IsEventInQueue, 1,
596n/a PyDoc_STR("(EventRef inEvent) -> (Boolean _rv)")},
597n/a {NULL, NULL, 0}
598n/a};
599n/a
600n/a#define EventQueueRef_getsetlist NULL
601n/a
602n/a
603n/a#define EventQueueRef_compare NULL
604n/a
605n/a#define EventQueueRef_repr NULL
606n/a
607n/a#define EventQueueRef_hash NULL
608n/a#define EventQueueRef_tp_init 0
609n/a
610n/a#define EventQueueRef_tp_alloc PyType_GenericAlloc
611n/a
612n/astatic PyObject *EventQueueRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
613n/a{
614n/a PyObject *_self;
615n/a EventQueueRef itself;
616n/a char *kw[] = {"itself", 0};
617n/a
618n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventQueueRef_Convert, &itself)) return NULL;
619n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
620n/a ((EventQueueRefObject *)_self)->ob_itself = itself;
621n/a return _self;
622n/a}
623n/a
624n/a#define EventQueueRef_tp_free PyObject_Del
625n/a
626n/a
627n/aPyTypeObject EventQueueRef_Type = {
628n/a PyObject_HEAD_INIT(NULL)
629n/a 0, /*ob_size*/
630n/a "_CarbonEvt.EventQueueRef", /*tp_name*/
631n/a sizeof(EventQueueRefObject), /*tp_basicsize*/
632n/a 0, /*tp_itemsize*/
633n/a /* methods */
634n/a (destructor) EventQueueRef_dealloc, /*tp_dealloc*/
635n/a 0, /*tp_print*/
636n/a (getattrfunc)0, /*tp_getattr*/
637n/a (setattrfunc)0, /*tp_setattr*/
638n/a (cmpfunc) EventQueueRef_compare, /*tp_compare*/
639n/a (reprfunc) EventQueueRef_repr, /*tp_repr*/
640n/a (PyNumberMethods *)0, /* tp_as_number */
641n/a (PySequenceMethods *)0, /* tp_as_sequence */
642n/a (PyMappingMethods *)0, /* tp_as_mapping */
643n/a (hashfunc) EventQueueRef_hash, /*tp_hash*/
644n/a 0, /*tp_call*/
645n/a 0, /*tp_str*/
646n/a PyObject_GenericGetAttr, /*tp_getattro*/
647n/a PyObject_GenericSetAttr, /*tp_setattro */
648n/a 0, /*tp_as_buffer*/
649n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
650n/a 0, /*tp_doc*/
651n/a 0, /*tp_traverse*/
652n/a 0, /*tp_clear*/
653n/a 0, /*tp_richcompare*/
654n/a 0, /*tp_weaklistoffset*/
655n/a 0, /*tp_iter*/
656n/a 0, /*tp_iternext*/
657n/a EventQueueRef_methods, /* tp_methods */
658n/a 0, /*tp_members*/
659n/a EventQueueRef_getsetlist, /*tp_getset*/
660n/a 0, /*tp_base*/
661n/a 0, /*tp_dict*/
662n/a 0, /*tp_descr_get*/
663n/a 0, /*tp_descr_set*/
664n/a 0, /*tp_dictoffset*/
665n/a EventQueueRef_tp_init, /* tp_init */
666n/a EventQueueRef_tp_alloc, /* tp_alloc */
667n/a EventQueueRef_tp_new, /* tp_new */
668n/a EventQueueRef_tp_free, /* tp_free */
669n/a};
670n/a
671n/a/* ----------------- End object type EventQueueRef ------------------ */
672n/a
673n/a
674n/a/* -------------------- Object type EventLoopRef -------------------- */
675n/a
676n/aPyTypeObject EventLoopRef_Type;
677n/a
678n/a#define EventLoopRef_Check(x) ((x)->ob_type == &EventLoopRef_Type || PyObject_TypeCheck((x), &EventLoopRef_Type))
679n/a
680n/atypedef struct EventLoopRefObject {
681n/a PyObject_HEAD
682n/a EventLoopRef ob_itself;
683n/a} EventLoopRefObject;
684n/a
685n/aPyObject *EventLoopRef_New(EventLoopRef itself)
686n/a{
687n/a EventLoopRefObject *it;
688n/a it = PyObject_NEW(EventLoopRefObject, &EventLoopRef_Type);
689n/a if (it == NULL) return NULL;
690n/a it->ob_itself = itself;
691n/a return (PyObject *)it;
692n/a}
693n/a
694n/aint EventLoopRef_Convert(PyObject *v, EventLoopRef *p_itself)
695n/a{
696n/a if (!EventLoopRef_Check(v))
697n/a {
698n/a PyErr_SetString(PyExc_TypeError, "EventLoopRef required");
699n/a return 0;
700n/a }
701n/a *p_itself = ((EventLoopRefObject *)v)->ob_itself;
702n/a return 1;
703n/a}
704n/a
705n/astatic void EventLoopRef_dealloc(EventLoopRefObject *self)
706n/a{
707n/a /* Cleanup of self->ob_itself goes here */
708n/a self->ob_type->tp_free((PyObject *)self);
709n/a}
710n/a
711n/astatic PyObject *EventLoopRef_QuitEventLoop(EventLoopRefObject *_self, PyObject *_args)
712n/a{
713n/a PyObject *_res = NULL;
714n/a OSStatus _err;
715n/a if (!PyArg_ParseTuple(_args, ""))
716n/a return NULL;
717n/a _err = QuitEventLoop(_self->ob_itself);
718n/a if (_err != noErr) return PyMac_Error(_err);
719n/a Py_INCREF(Py_None);
720n/a _res = Py_None;
721n/a return _res;
722n/a}
723n/a
724n/astatic PyMethodDef EventLoopRef_methods[] = {
725n/a {"QuitEventLoop", (PyCFunction)EventLoopRef_QuitEventLoop, 1,
726n/a PyDoc_STR("() -> None")},
727n/a {NULL, NULL, 0}
728n/a};
729n/a
730n/a#define EventLoopRef_getsetlist NULL
731n/a
732n/a
733n/a#define EventLoopRef_compare NULL
734n/a
735n/a#define EventLoopRef_repr NULL
736n/a
737n/a#define EventLoopRef_hash NULL
738n/a#define EventLoopRef_tp_init 0
739n/a
740n/a#define EventLoopRef_tp_alloc PyType_GenericAlloc
741n/a
742n/astatic PyObject *EventLoopRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
743n/a{
744n/a PyObject *_self;
745n/a EventLoopRef itself;
746n/a char *kw[] = {"itself", 0};
747n/a
748n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventLoopRef_Convert, &itself)) return NULL;
749n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
750n/a ((EventLoopRefObject *)_self)->ob_itself = itself;
751n/a return _self;
752n/a}
753n/a
754n/a#define EventLoopRef_tp_free PyObject_Del
755n/a
756n/a
757n/aPyTypeObject EventLoopRef_Type = {
758n/a PyObject_HEAD_INIT(NULL)
759n/a 0, /*ob_size*/
760n/a "_CarbonEvt.EventLoopRef", /*tp_name*/
761n/a sizeof(EventLoopRefObject), /*tp_basicsize*/
762n/a 0, /*tp_itemsize*/
763n/a /* methods */
764n/a (destructor) EventLoopRef_dealloc, /*tp_dealloc*/
765n/a 0, /*tp_print*/
766n/a (getattrfunc)0, /*tp_getattr*/
767n/a (setattrfunc)0, /*tp_setattr*/
768n/a (cmpfunc) EventLoopRef_compare, /*tp_compare*/
769n/a (reprfunc) EventLoopRef_repr, /*tp_repr*/
770n/a (PyNumberMethods *)0, /* tp_as_number */
771n/a (PySequenceMethods *)0, /* tp_as_sequence */
772n/a (PyMappingMethods *)0, /* tp_as_mapping */
773n/a (hashfunc) EventLoopRef_hash, /*tp_hash*/
774n/a 0, /*tp_call*/
775n/a 0, /*tp_str*/
776n/a PyObject_GenericGetAttr, /*tp_getattro*/
777n/a PyObject_GenericSetAttr, /*tp_setattro */
778n/a 0, /*tp_as_buffer*/
779n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
780n/a 0, /*tp_doc*/
781n/a 0, /*tp_traverse*/
782n/a 0, /*tp_clear*/
783n/a 0, /*tp_richcompare*/
784n/a 0, /*tp_weaklistoffset*/
785n/a 0, /*tp_iter*/
786n/a 0, /*tp_iternext*/
787n/a EventLoopRef_methods, /* tp_methods */
788n/a 0, /*tp_members*/
789n/a EventLoopRef_getsetlist, /*tp_getset*/
790n/a 0, /*tp_base*/
791n/a 0, /*tp_dict*/
792n/a 0, /*tp_descr_get*/
793n/a 0, /*tp_descr_set*/
794n/a 0, /*tp_dictoffset*/
795n/a EventLoopRef_tp_init, /* tp_init */
796n/a EventLoopRef_tp_alloc, /* tp_alloc */
797n/a EventLoopRef_tp_new, /* tp_new */
798n/a EventLoopRef_tp_free, /* tp_free */
799n/a};
800n/a
801n/a/* ------------------ End object type EventLoopRef ------------------ */
802n/a
803n/a
804n/a/* ----------------- Object type EventLoopTimerRef ------------------ */
805n/a
806n/aPyTypeObject EventLoopTimerRef_Type;
807n/a
808n/a#define EventLoopTimerRef_Check(x) ((x)->ob_type == &EventLoopTimerRef_Type || PyObject_TypeCheck((x), &EventLoopTimerRef_Type))
809n/a
810n/atypedef struct EventLoopTimerRefObject {
811n/a PyObject_HEAD
812n/a EventLoopTimerRef ob_itself;
813n/a} EventLoopTimerRefObject;
814n/a
815n/aPyObject *EventLoopTimerRef_New(EventLoopTimerRef itself)
816n/a{
817n/a EventLoopTimerRefObject *it;
818n/a it = PyObject_NEW(EventLoopTimerRefObject, &EventLoopTimerRef_Type);
819n/a if (it == NULL) return NULL;
820n/a it->ob_itself = itself;
821n/a return (PyObject *)it;
822n/a}
823n/a
824n/aint EventLoopTimerRef_Convert(PyObject *v, EventLoopTimerRef *p_itself)
825n/a{
826n/a if (!EventLoopTimerRef_Check(v))
827n/a {
828n/a PyErr_SetString(PyExc_TypeError, "EventLoopTimerRef required");
829n/a return 0;
830n/a }
831n/a *p_itself = ((EventLoopTimerRefObject *)v)->ob_itself;
832n/a return 1;
833n/a}
834n/a
835n/astatic void EventLoopTimerRef_dealloc(EventLoopTimerRefObject *self)
836n/a{
837n/a /* Cleanup of self->ob_itself goes here */
838n/a self->ob_type->tp_free((PyObject *)self);
839n/a}
840n/a
841n/astatic PyObject *EventLoopTimerRef_RemoveEventLoopTimer(EventLoopTimerRefObject *_self, PyObject *_args)
842n/a{
843n/a PyObject *_res = NULL;
844n/a OSStatus _err;
845n/a if (!PyArg_ParseTuple(_args, ""))
846n/a return NULL;
847n/a _err = RemoveEventLoopTimer(_self->ob_itself);
848n/a if (_err != noErr) return PyMac_Error(_err);
849n/a Py_INCREF(Py_None);
850n/a _res = Py_None;
851n/a return _res;
852n/a}
853n/a
854n/astatic PyObject *EventLoopTimerRef_SetEventLoopTimerNextFireTime(EventLoopTimerRefObject *_self, PyObject *_args)
855n/a{
856n/a PyObject *_res = NULL;
857n/a OSStatus _err;
858n/a double inNextFire;
859n/a if (!PyArg_ParseTuple(_args, "d",
860n/a &inNextFire))
861n/a return NULL;
862n/a _err = SetEventLoopTimerNextFireTime(_self->ob_itself,
863n/a inNextFire);
864n/a if (_err != noErr) return PyMac_Error(_err);
865n/a Py_INCREF(Py_None);
866n/a _res = Py_None;
867n/a return _res;
868n/a}
869n/a
870n/astatic PyMethodDef EventLoopTimerRef_methods[] = {
871n/a {"RemoveEventLoopTimer", (PyCFunction)EventLoopTimerRef_RemoveEventLoopTimer, 1,
872n/a PyDoc_STR("() -> None")},
873n/a {"SetEventLoopTimerNextFireTime", (PyCFunction)EventLoopTimerRef_SetEventLoopTimerNextFireTime, 1,
874n/a PyDoc_STR("(double inNextFire) -> None")},
875n/a {NULL, NULL, 0}
876n/a};
877n/a
878n/a#define EventLoopTimerRef_getsetlist NULL
879n/a
880n/a
881n/a#define EventLoopTimerRef_compare NULL
882n/a
883n/a#define EventLoopTimerRef_repr NULL
884n/a
885n/a#define EventLoopTimerRef_hash NULL
886n/a#define EventLoopTimerRef_tp_init 0
887n/a
888n/a#define EventLoopTimerRef_tp_alloc PyType_GenericAlloc
889n/a
890n/astatic PyObject *EventLoopTimerRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
891n/a{
892n/a PyObject *_self;
893n/a EventLoopTimerRef itself;
894n/a char *kw[] = {"itself", 0};
895n/a
896n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventLoopTimerRef_Convert, &itself)) return NULL;
897n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
898n/a ((EventLoopTimerRefObject *)_self)->ob_itself = itself;
899n/a return _self;
900n/a}
901n/a
902n/a#define EventLoopTimerRef_tp_free PyObject_Del
903n/a
904n/a
905n/aPyTypeObject EventLoopTimerRef_Type = {
906n/a PyObject_HEAD_INIT(NULL)
907n/a 0, /*ob_size*/
908n/a "_CarbonEvt.EventLoopTimerRef", /*tp_name*/
909n/a sizeof(EventLoopTimerRefObject), /*tp_basicsize*/
910n/a 0, /*tp_itemsize*/
911n/a /* methods */
912n/a (destructor) EventLoopTimerRef_dealloc, /*tp_dealloc*/
913n/a 0, /*tp_print*/
914n/a (getattrfunc)0, /*tp_getattr*/
915n/a (setattrfunc)0, /*tp_setattr*/
916n/a (cmpfunc) EventLoopTimerRef_compare, /*tp_compare*/
917n/a (reprfunc) EventLoopTimerRef_repr, /*tp_repr*/
918n/a (PyNumberMethods *)0, /* tp_as_number */
919n/a (PySequenceMethods *)0, /* tp_as_sequence */
920n/a (PyMappingMethods *)0, /* tp_as_mapping */
921n/a (hashfunc) EventLoopTimerRef_hash, /*tp_hash*/
922n/a 0, /*tp_call*/
923n/a 0, /*tp_str*/
924n/a PyObject_GenericGetAttr, /*tp_getattro*/
925n/a PyObject_GenericSetAttr, /*tp_setattro */
926n/a 0, /*tp_as_buffer*/
927n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
928n/a 0, /*tp_doc*/
929n/a 0, /*tp_traverse*/
930n/a 0, /*tp_clear*/
931n/a 0, /*tp_richcompare*/
932n/a 0, /*tp_weaklistoffset*/
933n/a 0, /*tp_iter*/
934n/a 0, /*tp_iternext*/
935n/a EventLoopTimerRef_methods, /* tp_methods */
936n/a 0, /*tp_members*/
937n/a EventLoopTimerRef_getsetlist, /*tp_getset*/
938n/a 0, /*tp_base*/
939n/a 0, /*tp_dict*/
940n/a 0, /*tp_descr_get*/
941n/a 0, /*tp_descr_set*/
942n/a 0, /*tp_dictoffset*/
943n/a EventLoopTimerRef_tp_init, /* tp_init */
944n/a EventLoopTimerRef_tp_alloc, /* tp_alloc */
945n/a EventLoopTimerRef_tp_new, /* tp_new */
946n/a EventLoopTimerRef_tp_free, /* tp_free */
947n/a};
948n/a
949n/a/* --------------- End object type EventLoopTimerRef ---------------- */
950n/a
951n/a
952n/a/* ------------------ Object type EventHandlerRef ------------------- */
953n/a
954n/aPyTypeObject EventHandlerRef_Type;
955n/a
956n/a#define EventHandlerRef_Check(x) ((x)->ob_type == &EventHandlerRef_Type || PyObject_TypeCheck((x), &EventHandlerRef_Type))
957n/a
958n/atypedef struct EventHandlerRefObject {
959n/a PyObject_HEAD
960n/a EventHandlerRef ob_itself;
961n/a PyObject *ob_callback;
962n/a} EventHandlerRefObject;
963n/a
964n/aPyObject *EventHandlerRef_New(EventHandlerRef itself)
965n/a{
966n/a EventHandlerRefObject *it;
967n/a it = PyObject_NEW(EventHandlerRefObject, &EventHandlerRef_Type);
968n/a if (it == NULL) return NULL;
969n/a it->ob_itself = itself;
970n/a it->ob_callback = NULL;
971n/a return (PyObject *)it;
972n/a}
973n/a
974n/aint EventHandlerRef_Convert(PyObject *v, EventHandlerRef *p_itself)
975n/a{
976n/a if (!EventHandlerRef_Check(v))
977n/a {
978n/a PyErr_SetString(PyExc_TypeError, "EventHandlerRef required");
979n/a return 0;
980n/a }
981n/a *p_itself = ((EventHandlerRefObject *)v)->ob_itself;
982n/a return 1;
983n/a}
984n/a
985n/astatic void EventHandlerRef_dealloc(EventHandlerRefObject *self)
986n/a{
987n/a if (self->ob_itself != NULL) {
988n/a RemoveEventHandler(self->ob_itself);
989n/a Py_DECREF(self->ob_callback);
990n/a }
991n/a self->ob_type->tp_free((PyObject *)self);
992n/a}
993n/a
994n/astatic PyObject *EventHandlerRef_AddEventTypesToHandler(EventHandlerRefObject *_self, PyObject *_args)
995n/a{
996n/a PyObject *_res = NULL;
997n/a OSStatus _err;
998n/a UInt32 inNumTypes;
999n/a EventTypeSpec inList;
1000n/a if (_self->ob_itself == NULL) {
1001n/a PyErr_SetString(CarbonEvents_Error, "Handler has been removed");
1002n/a return NULL;
1003n/a }
1004n/a if (!PyArg_ParseTuple(_args, "lO&",
1005n/a &inNumTypes,
1006n/a EventTypeSpec_Convert, &inList))
1007n/a return NULL;
1008n/a _err = AddEventTypesToHandler(_self->ob_itself,
1009n/a inNumTypes,
1010n/a &inList);
1011n/a if (_err != noErr) return PyMac_Error(_err);
1012n/a Py_INCREF(Py_None);
1013n/a _res = Py_None;
1014n/a return _res;
1015n/a}
1016n/a
1017n/astatic PyObject *EventHandlerRef_RemoveEventTypesFromHandler(EventHandlerRefObject *_self, PyObject *_args)
1018n/a{
1019n/a PyObject *_res = NULL;
1020n/a OSStatus _err;
1021n/a UInt32 inNumTypes;
1022n/a EventTypeSpec inList;
1023n/a if (_self->ob_itself == NULL) {
1024n/a PyErr_SetString(CarbonEvents_Error, "Handler has been removed");
1025n/a return NULL;
1026n/a }
1027n/a if (!PyArg_ParseTuple(_args, "lO&",
1028n/a &inNumTypes,
1029n/a EventTypeSpec_Convert, &inList))
1030n/a return NULL;
1031n/a _err = RemoveEventTypesFromHandler(_self->ob_itself,
1032n/a inNumTypes,
1033n/a &inList);
1034n/a if (_err != noErr) return PyMac_Error(_err);
1035n/a Py_INCREF(Py_None);
1036n/a _res = Py_None;
1037n/a return _res;
1038n/a}
1039n/a
1040n/astatic PyObject *EventHandlerRef_RemoveEventHandler(EventHandlerRefObject *_self, PyObject *_args)
1041n/a{
1042n/a PyObject *_res = NULL;
1043n/a
1044n/a OSStatus _err;
1045n/a if (_self->ob_itself == NULL) {
1046n/a PyErr_SetString(CarbonEvents_Error, "Handler has been removed");
1047n/a return NULL;
1048n/a }
1049n/a if (!PyArg_ParseTuple(_args, ""))
1050n/a return NULL;
1051n/a _err = RemoveEventHandler(_self->ob_itself);
1052n/a if (_err != noErr) return PyMac_Error(_err);
1053n/a _self->ob_itself = NULL;
1054n/a Py_DECREF(_self->ob_callback);
1055n/a _self->ob_callback = NULL;
1056n/a Py_INCREF(Py_None);
1057n/a _res = Py_None;
1058n/a return _res;
1059n/a}
1060n/a
1061n/astatic PyMethodDef EventHandlerRef_methods[] = {
1062n/a {"AddEventTypesToHandler", (PyCFunction)EventHandlerRef_AddEventTypesToHandler, 1,
1063n/a PyDoc_STR("(UInt32 inNumTypes, EventTypeSpec inList) -> None")},
1064n/a {"RemoveEventTypesFromHandler", (PyCFunction)EventHandlerRef_RemoveEventTypesFromHandler, 1,
1065n/a PyDoc_STR("(UInt32 inNumTypes, EventTypeSpec inList) -> None")},
1066n/a {"RemoveEventHandler", (PyCFunction)EventHandlerRef_RemoveEventHandler, 1,
1067n/a PyDoc_STR("() -> None")},
1068n/a {NULL, NULL, 0}
1069n/a};
1070n/a
1071n/a#define EventHandlerRef_getsetlist NULL
1072n/a
1073n/a
1074n/a#define EventHandlerRef_compare NULL
1075n/a
1076n/a#define EventHandlerRef_repr NULL
1077n/a
1078n/a#define EventHandlerRef_hash NULL
1079n/a#define EventHandlerRef_tp_init 0
1080n/a
1081n/a#define EventHandlerRef_tp_alloc PyType_GenericAlloc
1082n/a
1083n/astatic PyObject *EventHandlerRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1084n/a{
1085n/a PyObject *_self;
1086n/a EventHandlerRef itself;
1087n/a char *kw[] = {"itself", 0};
1088n/a
1089n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventHandlerRef_Convert, &itself)) return NULL;
1090n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1091n/a ((EventHandlerRefObject *)_self)->ob_itself = itself;
1092n/a return _self;
1093n/a}
1094n/a
1095n/a#define EventHandlerRef_tp_free PyObject_Del
1096n/a
1097n/a
1098n/aPyTypeObject EventHandlerRef_Type = {
1099n/a PyObject_HEAD_INIT(NULL)
1100n/a 0, /*ob_size*/
1101n/a "_CarbonEvt.EventHandlerRef", /*tp_name*/
1102n/a sizeof(EventHandlerRefObject), /*tp_basicsize*/
1103n/a 0, /*tp_itemsize*/
1104n/a /* methods */
1105n/a (destructor) EventHandlerRef_dealloc, /*tp_dealloc*/
1106n/a 0, /*tp_print*/
1107n/a (getattrfunc)0, /*tp_getattr*/
1108n/a (setattrfunc)0, /*tp_setattr*/
1109n/a (cmpfunc) EventHandlerRef_compare, /*tp_compare*/
1110n/a (reprfunc) EventHandlerRef_repr, /*tp_repr*/
1111n/a (PyNumberMethods *)0, /* tp_as_number */
1112n/a (PySequenceMethods *)0, /* tp_as_sequence */
1113n/a (PyMappingMethods *)0, /* tp_as_mapping */
1114n/a (hashfunc) EventHandlerRef_hash, /*tp_hash*/
1115n/a 0, /*tp_call*/
1116n/a 0, /*tp_str*/
1117n/a PyObject_GenericGetAttr, /*tp_getattro*/
1118n/a PyObject_GenericSetAttr, /*tp_setattro */
1119n/a 0, /*tp_as_buffer*/
1120n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1121n/a 0, /*tp_doc*/
1122n/a 0, /*tp_traverse*/
1123n/a 0, /*tp_clear*/
1124n/a 0, /*tp_richcompare*/
1125n/a 0, /*tp_weaklistoffset*/
1126n/a 0, /*tp_iter*/
1127n/a 0, /*tp_iternext*/
1128n/a EventHandlerRef_methods, /* tp_methods */
1129n/a 0, /*tp_members*/
1130n/a EventHandlerRef_getsetlist, /*tp_getset*/
1131n/a 0, /*tp_base*/
1132n/a 0, /*tp_dict*/
1133n/a 0, /*tp_descr_get*/
1134n/a 0, /*tp_descr_set*/
1135n/a 0, /*tp_dictoffset*/
1136n/a EventHandlerRef_tp_init, /* tp_init */
1137n/a EventHandlerRef_tp_alloc, /* tp_alloc */
1138n/a EventHandlerRef_tp_new, /* tp_new */
1139n/a EventHandlerRef_tp_free, /* tp_free */
1140n/a};
1141n/a
1142n/a/* ---------------- End object type EventHandlerRef ----------------- */
1143n/a
1144n/a
1145n/a/* ---------------- Object type EventHandlerCallRef ----------------- */
1146n/a
1147n/aPyTypeObject EventHandlerCallRef_Type;
1148n/a
1149n/a#define EventHandlerCallRef_Check(x) ((x)->ob_type == &EventHandlerCallRef_Type || PyObject_TypeCheck((x), &EventHandlerCallRef_Type))
1150n/a
1151n/atypedef struct EventHandlerCallRefObject {
1152n/a PyObject_HEAD
1153n/a EventHandlerCallRef ob_itself;
1154n/a} EventHandlerCallRefObject;
1155n/a
1156n/aPyObject *EventHandlerCallRef_New(EventHandlerCallRef itself)
1157n/a{
1158n/a EventHandlerCallRefObject *it;
1159n/a it = PyObject_NEW(EventHandlerCallRefObject, &EventHandlerCallRef_Type);
1160n/a if (it == NULL) return NULL;
1161n/a it->ob_itself = itself;
1162n/a return (PyObject *)it;
1163n/a}
1164n/a
1165n/aint EventHandlerCallRef_Convert(PyObject *v, EventHandlerCallRef *p_itself)
1166n/a{
1167n/a if (!EventHandlerCallRef_Check(v))
1168n/a {
1169n/a PyErr_SetString(PyExc_TypeError, "EventHandlerCallRef required");
1170n/a return 0;
1171n/a }
1172n/a *p_itself = ((EventHandlerCallRefObject *)v)->ob_itself;
1173n/a return 1;
1174n/a}
1175n/a
1176n/astatic void EventHandlerCallRef_dealloc(EventHandlerCallRefObject *self)
1177n/a{
1178n/a /* Cleanup of self->ob_itself goes here */
1179n/a self->ob_type->tp_free((PyObject *)self);
1180n/a}
1181n/a
1182n/astatic PyObject *EventHandlerCallRef_CallNextEventHandler(EventHandlerCallRefObject *_self, PyObject *_args)
1183n/a{
1184n/a PyObject *_res = NULL;
1185n/a OSStatus _err;
1186n/a EventRef inEvent;
1187n/a if (!PyArg_ParseTuple(_args, "O&",
1188n/a EventRef_Convert, &inEvent))
1189n/a return NULL;
1190n/a _err = CallNextEventHandler(_self->ob_itself,
1191n/a inEvent);
1192n/a if (_err != noErr) return PyMac_Error(_err);
1193n/a Py_INCREF(Py_None);
1194n/a _res = Py_None;
1195n/a return _res;
1196n/a}
1197n/a
1198n/astatic PyMethodDef EventHandlerCallRef_methods[] = {
1199n/a {"CallNextEventHandler", (PyCFunction)EventHandlerCallRef_CallNextEventHandler, 1,
1200n/a PyDoc_STR("(EventRef inEvent) -> None")},
1201n/a {NULL, NULL, 0}
1202n/a};
1203n/a
1204n/a#define EventHandlerCallRef_getsetlist NULL
1205n/a
1206n/a
1207n/a#define EventHandlerCallRef_compare NULL
1208n/a
1209n/a#define EventHandlerCallRef_repr NULL
1210n/a
1211n/a#define EventHandlerCallRef_hash NULL
1212n/a#define EventHandlerCallRef_tp_init 0
1213n/a
1214n/a#define EventHandlerCallRef_tp_alloc PyType_GenericAlloc
1215n/a
1216n/astatic PyObject *EventHandlerCallRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1217n/a{
1218n/a PyObject *_self;
1219n/a EventHandlerCallRef itself;
1220n/a char *kw[] = {"itself", 0};
1221n/a
1222n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventHandlerCallRef_Convert, &itself)) return NULL;
1223n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1224n/a ((EventHandlerCallRefObject *)_self)->ob_itself = itself;
1225n/a return _self;
1226n/a}
1227n/a
1228n/a#define EventHandlerCallRef_tp_free PyObject_Del
1229n/a
1230n/a
1231n/aPyTypeObject EventHandlerCallRef_Type = {
1232n/a PyObject_HEAD_INIT(NULL)
1233n/a 0, /*ob_size*/
1234n/a "_CarbonEvt.EventHandlerCallRef", /*tp_name*/
1235n/a sizeof(EventHandlerCallRefObject), /*tp_basicsize*/
1236n/a 0, /*tp_itemsize*/
1237n/a /* methods */
1238n/a (destructor) EventHandlerCallRef_dealloc, /*tp_dealloc*/
1239n/a 0, /*tp_print*/
1240n/a (getattrfunc)0, /*tp_getattr*/
1241n/a (setattrfunc)0, /*tp_setattr*/
1242n/a (cmpfunc) EventHandlerCallRef_compare, /*tp_compare*/
1243n/a (reprfunc) EventHandlerCallRef_repr, /*tp_repr*/
1244n/a (PyNumberMethods *)0, /* tp_as_number */
1245n/a (PySequenceMethods *)0, /* tp_as_sequence */
1246n/a (PyMappingMethods *)0, /* tp_as_mapping */
1247n/a (hashfunc) EventHandlerCallRef_hash, /*tp_hash*/
1248n/a 0, /*tp_call*/
1249n/a 0, /*tp_str*/
1250n/a PyObject_GenericGetAttr, /*tp_getattro*/
1251n/a PyObject_GenericSetAttr, /*tp_setattro */
1252n/a 0, /*tp_as_buffer*/
1253n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1254n/a 0, /*tp_doc*/
1255n/a 0, /*tp_traverse*/
1256n/a 0, /*tp_clear*/
1257n/a 0, /*tp_richcompare*/
1258n/a 0, /*tp_weaklistoffset*/
1259n/a 0, /*tp_iter*/
1260n/a 0, /*tp_iternext*/
1261n/a EventHandlerCallRef_methods, /* tp_methods */
1262n/a 0, /*tp_members*/
1263n/a EventHandlerCallRef_getsetlist, /*tp_getset*/
1264n/a 0, /*tp_base*/
1265n/a 0, /*tp_dict*/
1266n/a 0, /*tp_descr_get*/
1267n/a 0, /*tp_descr_set*/
1268n/a 0, /*tp_dictoffset*/
1269n/a EventHandlerCallRef_tp_init, /* tp_init */
1270n/a EventHandlerCallRef_tp_alloc, /* tp_alloc */
1271n/a EventHandlerCallRef_tp_new, /* tp_new */
1272n/a EventHandlerCallRef_tp_free, /* tp_free */
1273n/a};
1274n/a
1275n/a/* -------------- End object type EventHandlerCallRef --------------- */
1276n/a
1277n/a
1278n/a/* ------------------- Object type EventTargetRef ------------------- */
1279n/a
1280n/aPyTypeObject EventTargetRef_Type;
1281n/a
1282n/a#define EventTargetRef_Check(x) ((x)->ob_type == &EventTargetRef_Type || PyObject_TypeCheck((x), &EventTargetRef_Type))
1283n/a
1284n/atypedef struct EventTargetRefObject {
1285n/a PyObject_HEAD
1286n/a EventTargetRef ob_itself;
1287n/a} EventTargetRefObject;
1288n/a
1289n/aPyObject *EventTargetRef_New(EventTargetRef itself)
1290n/a{
1291n/a EventTargetRefObject *it;
1292n/a it = PyObject_NEW(EventTargetRefObject, &EventTargetRef_Type);
1293n/a if (it == NULL) return NULL;
1294n/a it->ob_itself = itself;
1295n/a return (PyObject *)it;
1296n/a}
1297n/a
1298n/aint EventTargetRef_Convert(PyObject *v, EventTargetRef *p_itself)
1299n/a{
1300n/a if (!EventTargetRef_Check(v))
1301n/a {
1302n/a PyErr_SetString(PyExc_TypeError, "EventTargetRef required");
1303n/a return 0;
1304n/a }
1305n/a *p_itself = ((EventTargetRefObject *)v)->ob_itself;
1306n/a return 1;
1307n/a}
1308n/a
1309n/astatic void EventTargetRef_dealloc(EventTargetRefObject *self)
1310n/a{
1311n/a /* Cleanup of self->ob_itself goes here */
1312n/a self->ob_type->tp_free((PyObject *)self);
1313n/a}
1314n/a
1315n/astatic PyObject *EventTargetRef_InstallStandardEventHandler(EventTargetRefObject *_self, PyObject *_args)
1316n/a{
1317n/a PyObject *_res = NULL;
1318n/a OSStatus _err;
1319n/a if (!PyArg_ParseTuple(_args, ""))
1320n/a return NULL;
1321n/a _err = InstallStandardEventHandler(_self->ob_itself);
1322n/a if (_err != noErr) return PyMac_Error(_err);
1323n/a Py_INCREF(Py_None);
1324n/a _res = Py_None;
1325n/a return _res;
1326n/a}
1327n/a
1328n/astatic PyObject *EventTargetRef_InstallEventHandler(EventTargetRefObject *_self, PyObject *_args)
1329n/a{
1330n/a PyObject *_res = NULL;
1331n/a
1332n/a EventTypeSpec inSpec;
1333n/a PyObject *callback;
1334n/a EventHandlerRef outRef;
1335n/a OSStatus _err;
1336n/a
1337n/a if (!PyArg_ParseTuple(_args, "O&O", EventTypeSpec_Convert, &inSpec, &callback))
1338n/a return NULL;
1339n/a
1340n/a _err = InstallEventHandler(_self->ob_itself, myEventHandlerUPP, 1, &inSpec, (void *)callback, &outRef);
1341n/a if (_err != noErr) return PyMac_Error(_err);
1342n/a
1343n/a _res = EventHandlerRef_New(outRef);
1344n/a if (_res != NULL) {
1345n/a ((EventHandlerRefObject*)_res)->ob_callback = callback;
1346n/a Py_INCREF(callback);
1347n/a }
1348n/a return _res;
1349n/a}
1350n/a
1351n/astatic PyMethodDef EventTargetRef_methods[] = {
1352n/a {"InstallStandardEventHandler", (PyCFunction)EventTargetRef_InstallStandardEventHandler, 1,
1353n/a PyDoc_STR("() -> None")},
1354n/a {"InstallEventHandler", (PyCFunction)EventTargetRef_InstallEventHandler, 1,
1355n/a PyDoc_STR("(EventTypeSpec inSpec, Method callback) -> (EventHandlerRef outRef)")},
1356n/a {NULL, NULL, 0}
1357n/a};
1358n/a
1359n/a#define EventTargetRef_getsetlist NULL
1360n/a
1361n/a
1362n/a#define EventTargetRef_compare NULL
1363n/a
1364n/a#define EventTargetRef_repr NULL
1365n/a
1366n/a#define EventTargetRef_hash NULL
1367n/a#define EventTargetRef_tp_init 0
1368n/a
1369n/a#define EventTargetRef_tp_alloc PyType_GenericAlloc
1370n/a
1371n/astatic PyObject *EventTargetRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1372n/a{
1373n/a PyObject *_self;
1374n/a EventTargetRef itself;
1375n/a char *kw[] = {"itself", 0};
1376n/a
1377n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventTargetRef_Convert, &itself)) return NULL;
1378n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1379n/a ((EventTargetRefObject *)_self)->ob_itself = itself;
1380n/a return _self;
1381n/a}
1382n/a
1383n/a#define EventTargetRef_tp_free PyObject_Del
1384n/a
1385n/a
1386n/aPyTypeObject EventTargetRef_Type = {
1387n/a PyObject_HEAD_INIT(NULL)
1388n/a 0, /*ob_size*/
1389n/a "_CarbonEvt.EventTargetRef", /*tp_name*/
1390n/a sizeof(EventTargetRefObject), /*tp_basicsize*/
1391n/a 0, /*tp_itemsize*/
1392n/a /* methods */
1393n/a (destructor) EventTargetRef_dealloc, /*tp_dealloc*/
1394n/a 0, /*tp_print*/
1395n/a (getattrfunc)0, /*tp_getattr*/
1396n/a (setattrfunc)0, /*tp_setattr*/
1397n/a (cmpfunc) EventTargetRef_compare, /*tp_compare*/
1398n/a (reprfunc) EventTargetRef_repr, /*tp_repr*/
1399n/a (PyNumberMethods *)0, /* tp_as_number */
1400n/a (PySequenceMethods *)0, /* tp_as_sequence */
1401n/a (PyMappingMethods *)0, /* tp_as_mapping */
1402n/a (hashfunc) EventTargetRef_hash, /*tp_hash*/
1403n/a 0, /*tp_call*/
1404n/a 0, /*tp_str*/
1405n/a PyObject_GenericGetAttr, /*tp_getattro*/
1406n/a PyObject_GenericSetAttr, /*tp_setattro */
1407n/a 0, /*tp_as_buffer*/
1408n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1409n/a 0, /*tp_doc*/
1410n/a 0, /*tp_traverse*/
1411n/a 0, /*tp_clear*/
1412n/a 0, /*tp_richcompare*/
1413n/a 0, /*tp_weaklistoffset*/
1414n/a 0, /*tp_iter*/
1415n/a 0, /*tp_iternext*/
1416n/a EventTargetRef_methods, /* tp_methods */
1417n/a 0, /*tp_members*/
1418n/a EventTargetRef_getsetlist, /*tp_getset*/
1419n/a 0, /*tp_base*/
1420n/a 0, /*tp_dict*/
1421n/a 0, /*tp_descr_get*/
1422n/a 0, /*tp_descr_set*/
1423n/a 0, /*tp_dictoffset*/
1424n/a EventTargetRef_tp_init, /* tp_init */
1425n/a EventTargetRef_tp_alloc, /* tp_alloc */
1426n/a EventTargetRef_tp_new, /* tp_new */
1427n/a EventTargetRef_tp_free, /* tp_free */
1428n/a};
1429n/a
1430n/a/* ----------------- End object type EventTargetRef ----------------- */
1431n/a
1432n/a
1433n/a/* ------------------- Object type EventHotKeyRef ------------------- */
1434n/a
1435n/aPyTypeObject EventHotKeyRef_Type;
1436n/a
1437n/a#define EventHotKeyRef_Check(x) ((x)->ob_type == &EventHotKeyRef_Type || PyObject_TypeCheck((x), &EventHotKeyRef_Type))
1438n/a
1439n/atypedef struct EventHotKeyRefObject {
1440n/a PyObject_HEAD
1441n/a EventHotKeyRef ob_itself;
1442n/a} EventHotKeyRefObject;
1443n/a
1444n/aPyObject *EventHotKeyRef_New(EventHotKeyRef itself)
1445n/a{
1446n/a EventHotKeyRefObject *it;
1447n/a it = PyObject_NEW(EventHotKeyRefObject, &EventHotKeyRef_Type);
1448n/a if (it == NULL) return NULL;
1449n/a it->ob_itself = itself;
1450n/a return (PyObject *)it;
1451n/a}
1452n/a
1453n/aint EventHotKeyRef_Convert(PyObject *v, EventHotKeyRef *p_itself)
1454n/a{
1455n/a if (!EventHotKeyRef_Check(v))
1456n/a {
1457n/a PyErr_SetString(PyExc_TypeError, "EventHotKeyRef required");
1458n/a return 0;
1459n/a }
1460n/a *p_itself = ((EventHotKeyRefObject *)v)->ob_itself;
1461n/a return 1;
1462n/a}
1463n/a
1464n/astatic void EventHotKeyRef_dealloc(EventHotKeyRefObject *self)
1465n/a{
1466n/a /* Cleanup of self->ob_itself goes here */
1467n/a self->ob_type->tp_free((PyObject *)self);
1468n/a}
1469n/a
1470n/astatic PyObject *EventHotKeyRef_UnregisterEventHotKey(EventHotKeyRefObject *_self, PyObject *_args)
1471n/a{
1472n/a PyObject *_res = NULL;
1473n/a OSStatus _err;
1474n/a if (!PyArg_ParseTuple(_args, ""))
1475n/a return NULL;
1476n/a _err = UnregisterEventHotKey(_self->ob_itself);
1477n/a if (_err != noErr) return PyMac_Error(_err);
1478n/a Py_INCREF(Py_None);
1479n/a _res = Py_None;
1480n/a return _res;
1481n/a}
1482n/a
1483n/astatic PyMethodDef EventHotKeyRef_methods[] = {
1484n/a {"UnregisterEventHotKey", (PyCFunction)EventHotKeyRef_UnregisterEventHotKey, 1,
1485n/a PyDoc_STR("() -> None")},
1486n/a {NULL, NULL, 0}
1487n/a};
1488n/a
1489n/a#define EventHotKeyRef_getsetlist NULL
1490n/a
1491n/a
1492n/a#define EventHotKeyRef_compare NULL
1493n/a
1494n/a#define EventHotKeyRef_repr NULL
1495n/a
1496n/a#define EventHotKeyRef_hash NULL
1497n/a#define EventHotKeyRef_tp_init 0
1498n/a
1499n/a#define EventHotKeyRef_tp_alloc PyType_GenericAlloc
1500n/a
1501n/astatic PyObject *EventHotKeyRef_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1502n/a{
1503n/a PyObject *_self;
1504n/a EventHotKeyRef itself;
1505n/a char *kw[] = {"itself", 0};
1506n/a
1507n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, EventHotKeyRef_Convert, &itself)) return NULL;
1508n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1509n/a ((EventHotKeyRefObject *)_self)->ob_itself = itself;
1510n/a return _self;
1511n/a}
1512n/a
1513n/a#define EventHotKeyRef_tp_free PyObject_Del
1514n/a
1515n/a
1516n/aPyTypeObject EventHotKeyRef_Type = {
1517n/a PyObject_HEAD_INIT(NULL)
1518n/a 0, /*ob_size*/
1519n/a "_CarbonEvt.EventHotKeyRef", /*tp_name*/
1520n/a sizeof(EventHotKeyRefObject), /*tp_basicsize*/
1521n/a 0, /*tp_itemsize*/
1522n/a /* methods */
1523n/a (destructor) EventHotKeyRef_dealloc, /*tp_dealloc*/
1524n/a 0, /*tp_print*/
1525n/a (getattrfunc)0, /*tp_getattr*/
1526n/a (setattrfunc)0, /*tp_setattr*/
1527n/a (cmpfunc) EventHotKeyRef_compare, /*tp_compare*/
1528n/a (reprfunc) EventHotKeyRef_repr, /*tp_repr*/
1529n/a (PyNumberMethods *)0, /* tp_as_number */
1530n/a (PySequenceMethods *)0, /* tp_as_sequence */
1531n/a (PyMappingMethods *)0, /* tp_as_mapping */
1532n/a (hashfunc) EventHotKeyRef_hash, /*tp_hash*/
1533n/a 0, /*tp_call*/
1534n/a 0, /*tp_str*/
1535n/a PyObject_GenericGetAttr, /*tp_getattro*/
1536n/a PyObject_GenericSetAttr, /*tp_setattro */
1537n/a 0, /*tp_as_buffer*/
1538n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1539n/a 0, /*tp_doc*/
1540n/a 0, /*tp_traverse*/
1541n/a 0, /*tp_clear*/
1542n/a 0, /*tp_richcompare*/
1543n/a 0, /*tp_weaklistoffset*/
1544n/a 0, /*tp_iter*/
1545n/a 0, /*tp_iternext*/
1546n/a EventHotKeyRef_methods, /* tp_methods */
1547n/a 0, /*tp_members*/
1548n/a EventHotKeyRef_getsetlist, /*tp_getset*/
1549n/a 0, /*tp_base*/
1550n/a 0, /*tp_dict*/
1551n/a 0, /*tp_descr_get*/
1552n/a 0, /*tp_descr_set*/
1553n/a 0, /*tp_dictoffset*/
1554n/a EventHotKeyRef_tp_init, /* tp_init */
1555n/a EventHotKeyRef_tp_alloc, /* tp_alloc */
1556n/a EventHotKeyRef_tp_new, /* tp_new */
1557n/a EventHotKeyRef_tp_free, /* tp_free */
1558n/a};
1559n/a
1560n/a/* ----------------- End object type EventHotKeyRef ----------------- */
1561n/a
1562n/a
1563n/astatic PyObject *CarbonEvents_GetCurrentEventLoop(PyObject *_self, PyObject *_args)
1564n/a{
1565n/a PyObject *_res = NULL;
1566n/a EventLoopRef _rv;
1567n/a if (!PyArg_ParseTuple(_args, ""))
1568n/a return NULL;
1569n/a _rv = GetCurrentEventLoop();
1570n/a _res = Py_BuildValue("O&",
1571n/a EventLoopRef_New, _rv);
1572n/a return _res;
1573n/a}
1574n/a
1575n/astatic PyObject *CarbonEvents_GetMainEventLoop(PyObject *_self, PyObject *_args)
1576n/a{
1577n/a PyObject *_res = NULL;
1578n/a EventLoopRef _rv;
1579n/a if (!PyArg_ParseTuple(_args, ""))
1580n/a return NULL;
1581n/a _rv = GetMainEventLoop();
1582n/a _res = Py_BuildValue("O&",
1583n/a EventLoopRef_New, _rv);
1584n/a return _res;
1585n/a}
1586n/a
1587n/astatic PyObject *CarbonEvents_RunCurrentEventLoop(PyObject *_self, PyObject *_args)
1588n/a{
1589n/a PyObject *_res = NULL;
1590n/a OSStatus _err;
1591n/a double inTimeout;
1592n/a if (!PyArg_ParseTuple(_args, "d",
1593n/a &inTimeout))
1594n/a return NULL;
1595n/a _err = RunCurrentEventLoop(inTimeout);
1596n/a if (_err != noErr) return PyMac_Error(_err);
1597n/a Py_INCREF(Py_None);
1598n/a _res = Py_None;
1599n/a return _res;
1600n/a}
1601n/a
1602n/astatic PyObject *CarbonEvents_ReceiveNextEvent(PyObject *_self, PyObject *_args)
1603n/a{
1604n/a PyObject *_res = NULL;
1605n/a OSStatus _err;
1606n/a UInt32 inNumTypes;
1607n/a EventTypeSpec inList;
1608n/a double inTimeout;
1609n/a Boolean inPullEvent;
1610n/a EventRef outEvent;
1611n/a if (!PyArg_ParseTuple(_args, "lO&db",
1612n/a &inNumTypes,
1613n/a EventTypeSpec_Convert, &inList,
1614n/a &inTimeout,
1615n/a &inPullEvent))
1616n/a return NULL;
1617n/a _err = ReceiveNextEvent(inNumTypes,
1618n/a &inList,
1619n/a inTimeout,
1620n/a inPullEvent,
1621n/a &outEvent);
1622n/a if (_err != noErr) return PyMac_Error(_err);
1623n/a _res = Py_BuildValue("O&",
1624n/a EventRef_New, outEvent);
1625n/a return _res;
1626n/a}
1627n/a
1628n/astatic PyObject *CarbonEvents_GetCurrentEventQueue(PyObject *_self, PyObject *_args)
1629n/a{
1630n/a PyObject *_res = NULL;
1631n/a EventQueueRef _rv;
1632n/a if (!PyArg_ParseTuple(_args, ""))
1633n/a return NULL;
1634n/a _rv = GetCurrentEventQueue();
1635n/a _res = Py_BuildValue("O&",
1636n/a EventQueueRef_New, _rv);
1637n/a return _res;
1638n/a}
1639n/a
1640n/astatic PyObject *CarbonEvents_GetMainEventQueue(PyObject *_self, PyObject *_args)
1641n/a{
1642n/a PyObject *_res = NULL;
1643n/a EventQueueRef _rv;
1644n/a if (!PyArg_ParseTuple(_args, ""))
1645n/a return NULL;
1646n/a _rv = GetMainEventQueue();
1647n/a _res = Py_BuildValue("O&",
1648n/a EventQueueRef_New, _rv);
1649n/a return _res;
1650n/a}
1651n/a
1652n/astatic PyObject *CarbonEvents_GetCurrentEventTime(PyObject *_self, PyObject *_args)
1653n/a{
1654n/a PyObject *_res = NULL;
1655n/a double _rv;
1656n/a if (!PyArg_ParseTuple(_args, ""))
1657n/a return NULL;
1658n/a _rv = GetCurrentEventTime();
1659n/a _res = Py_BuildValue("d",
1660n/a _rv);
1661n/a return _res;
1662n/a}
1663n/a
1664n/astatic PyObject *CarbonEvents_TrackMouseLocation(PyObject *_self, PyObject *_args)
1665n/a{
1666n/a PyObject *_res = NULL;
1667n/a OSStatus _err;
1668n/a GrafPtr inPort;
1669n/a Point outPt;
1670n/a UInt16 outResult;
1671n/a if (!PyArg_ParseTuple(_args, "O&",
1672n/a GrafObj_Convert, &inPort))
1673n/a return NULL;
1674n/a _err = TrackMouseLocation(inPort,
1675n/a &outPt,
1676n/a &outResult);
1677n/a if (_err != noErr) return PyMac_Error(_err);
1678n/a _res = Py_BuildValue("O&H",
1679n/a PyMac_BuildPoint, outPt,
1680n/a outResult);
1681n/a return _res;
1682n/a}
1683n/a
1684n/astatic PyObject *CarbonEvents_TrackMouseLocationWithOptions(PyObject *_self, PyObject *_args)
1685n/a{
1686n/a PyObject *_res = NULL;
1687n/a OSStatus _err;
1688n/a GrafPtr inPort;
1689n/a OptionBits inOptions;
1690n/a double inTimeout;
1691n/a Point outPt;
1692n/a UInt32 outModifiers;
1693n/a UInt16 outResult;
1694n/a if (!PyArg_ParseTuple(_args, "O&ld",
1695n/a GrafObj_Convert, &inPort,
1696n/a &inOptions,
1697n/a &inTimeout))
1698n/a return NULL;
1699n/a _err = TrackMouseLocationWithOptions(inPort,
1700n/a inOptions,
1701n/a inTimeout,
1702n/a &outPt,
1703n/a &outModifiers,
1704n/a &outResult);
1705n/a if (_err != noErr) return PyMac_Error(_err);
1706n/a _res = Py_BuildValue("O&lH",
1707n/a PyMac_BuildPoint, outPt,
1708n/a outModifiers,
1709n/a outResult);
1710n/a return _res;
1711n/a}
1712n/a
1713n/astatic PyObject *CarbonEvents_TrackMouseRegion(PyObject *_self, PyObject *_args)
1714n/a{
1715n/a PyObject *_res = NULL;
1716n/a OSStatus _err;
1717n/a GrafPtr inPort;
1718n/a RgnHandle inRegion;
1719n/a Boolean ioWasInRgn;
1720n/a UInt16 outResult;
1721n/a if (!PyArg_ParseTuple(_args, "O&O&b",
1722n/a GrafObj_Convert, &inPort,
1723n/a ResObj_Convert, &inRegion,
1724n/a &ioWasInRgn))
1725n/a return NULL;
1726n/a _err = TrackMouseRegion(inPort,
1727n/a inRegion,
1728n/a &ioWasInRgn,
1729n/a &outResult);
1730n/a if (_err != noErr) return PyMac_Error(_err);
1731n/a _res = Py_BuildValue("bH",
1732n/a ioWasInRgn,
1733n/a outResult);
1734n/a return _res;
1735n/a}
1736n/a
1737n/astatic PyObject *CarbonEvents_GetLastUserEventTime(PyObject *_self, PyObject *_args)
1738n/a{
1739n/a PyObject *_res = NULL;
1740n/a double _rv;
1741n/a if (!PyArg_ParseTuple(_args, ""))
1742n/a return NULL;
1743n/a _rv = GetLastUserEventTime();
1744n/a _res = Py_BuildValue("d",
1745n/a _rv);
1746n/a return _res;
1747n/a}
1748n/a
1749n/astatic PyObject *CarbonEvents_IsMouseCoalescingEnabled(PyObject *_self, PyObject *_args)
1750n/a{
1751n/a PyObject *_res = NULL;
1752n/a Boolean _rv;
1753n/a if (!PyArg_ParseTuple(_args, ""))
1754n/a return NULL;
1755n/a _rv = IsMouseCoalescingEnabled();
1756n/a _res = Py_BuildValue("b",
1757n/a _rv);
1758n/a return _res;
1759n/a}
1760n/a
1761n/astatic PyObject *CarbonEvents_SetMouseCoalescingEnabled(PyObject *_self, PyObject *_args)
1762n/a{
1763n/a PyObject *_res = NULL;
1764n/a OSStatus _err;
1765n/a Boolean inNewState;
1766n/a Boolean outOldState;
1767n/a if (!PyArg_ParseTuple(_args, "b",
1768n/a &inNewState))
1769n/a return NULL;
1770n/a _err = SetMouseCoalescingEnabled(inNewState,
1771n/a &outOldState);
1772n/a if (_err != noErr) return PyMac_Error(_err);
1773n/a _res = Py_BuildValue("b",
1774n/a outOldState);
1775n/a return _res;
1776n/a}
1777n/a
1778n/astatic PyObject *CarbonEvents_GetWindowEventTarget(PyObject *_self, PyObject *_args)
1779n/a{
1780n/a PyObject *_res = NULL;
1781n/a EventTargetRef _rv;
1782n/a WindowPtr inWindow;
1783n/a if (!PyArg_ParseTuple(_args, "O&",
1784n/a WinObj_Convert, &inWindow))
1785n/a return NULL;
1786n/a _rv = GetWindowEventTarget(inWindow);
1787n/a _res = Py_BuildValue("O&",
1788n/a EventTargetRef_New, _rv);
1789n/a return _res;
1790n/a}
1791n/a
1792n/astatic PyObject *CarbonEvents_GetControlEventTarget(PyObject *_self, PyObject *_args)
1793n/a{
1794n/a PyObject *_res = NULL;
1795n/a EventTargetRef _rv;
1796n/a ControlHandle inControl;
1797n/a if (!PyArg_ParseTuple(_args, "O&",
1798n/a CtlObj_Convert, &inControl))
1799n/a return NULL;
1800n/a _rv = GetControlEventTarget(inControl);
1801n/a _res = Py_BuildValue("O&",
1802n/a EventTargetRef_New, _rv);
1803n/a return _res;
1804n/a}
1805n/a
1806n/astatic PyObject *CarbonEvents_GetMenuEventTarget(PyObject *_self, PyObject *_args)
1807n/a{
1808n/a PyObject *_res = NULL;
1809n/a EventTargetRef _rv;
1810n/a MenuHandle inMenu;
1811n/a if (!PyArg_ParseTuple(_args, "O&",
1812n/a MenuObj_Convert, &inMenu))
1813n/a return NULL;
1814n/a _rv = GetMenuEventTarget(inMenu);
1815n/a _res = Py_BuildValue("O&",
1816n/a EventTargetRef_New, _rv);
1817n/a return _res;
1818n/a}
1819n/a
1820n/astatic PyObject *CarbonEvents_GetApplicationEventTarget(PyObject *_self, PyObject *_args)
1821n/a{
1822n/a PyObject *_res = NULL;
1823n/a EventTargetRef _rv;
1824n/a if (!PyArg_ParseTuple(_args, ""))
1825n/a return NULL;
1826n/a _rv = GetApplicationEventTarget();
1827n/a _res = Py_BuildValue("O&",
1828n/a EventTargetRef_New, _rv);
1829n/a return _res;
1830n/a}
1831n/a
1832n/astatic PyObject *CarbonEvents_GetUserFocusEventTarget(PyObject *_self, PyObject *_args)
1833n/a{
1834n/a PyObject *_res = NULL;
1835n/a EventTargetRef _rv;
1836n/a if (!PyArg_ParseTuple(_args, ""))
1837n/a return NULL;
1838n/a _rv = GetUserFocusEventTarget();
1839n/a _res = Py_BuildValue("O&",
1840n/a EventTargetRef_New, _rv);
1841n/a return _res;
1842n/a}
1843n/a
1844n/astatic PyObject *CarbonEvents_GetEventDispatcherTarget(PyObject *_self, PyObject *_args)
1845n/a{
1846n/a PyObject *_res = NULL;
1847n/a EventTargetRef _rv;
1848n/a if (!PyArg_ParseTuple(_args, ""))
1849n/a return NULL;
1850n/a _rv = GetEventDispatcherTarget();
1851n/a _res = Py_BuildValue("O&",
1852n/a EventTargetRef_New, _rv);
1853n/a return _res;
1854n/a}
1855n/a
1856n/astatic PyObject *CarbonEvents_RunApplicationEventLoop(PyObject *_self, PyObject *_args)
1857n/a{
1858n/a PyObject *_res = NULL;
1859n/a if (!PyArg_ParseTuple(_args, ""))
1860n/a return NULL;
1861n/a RunApplicationEventLoop();
1862n/a Py_INCREF(Py_None);
1863n/a _res = Py_None;
1864n/a return _res;
1865n/a}
1866n/a
1867n/astatic PyObject *CarbonEvents_QuitApplicationEventLoop(PyObject *_self, PyObject *_args)
1868n/a{
1869n/a PyObject *_res = NULL;
1870n/a if (!PyArg_ParseTuple(_args, ""))
1871n/a return NULL;
1872n/a QuitApplicationEventLoop();
1873n/a Py_INCREF(Py_None);
1874n/a _res = Py_None;
1875n/a return _res;
1876n/a}
1877n/a
1878n/astatic PyObject *CarbonEvents_RunAppModalLoopForWindow(PyObject *_self, PyObject *_args)
1879n/a{
1880n/a PyObject *_res = NULL;
1881n/a OSStatus _err;
1882n/a WindowPtr inWindow;
1883n/a if (!PyArg_ParseTuple(_args, "O&",
1884n/a WinObj_Convert, &inWindow))
1885n/a return NULL;
1886n/a _err = RunAppModalLoopForWindow(inWindow);
1887n/a if (_err != noErr) return PyMac_Error(_err);
1888n/a Py_INCREF(Py_None);
1889n/a _res = Py_None;
1890n/a return _res;
1891n/a}
1892n/a
1893n/astatic PyObject *CarbonEvents_QuitAppModalLoopForWindow(PyObject *_self, PyObject *_args)
1894n/a{
1895n/a PyObject *_res = NULL;
1896n/a OSStatus _err;
1897n/a WindowPtr inWindow;
1898n/a if (!PyArg_ParseTuple(_args, "O&",
1899n/a WinObj_Convert, &inWindow))
1900n/a return NULL;
1901n/a _err = QuitAppModalLoopForWindow(inWindow);
1902n/a if (_err != noErr) return PyMac_Error(_err);
1903n/a Py_INCREF(Py_None);
1904n/a _res = Py_None;
1905n/a return _res;
1906n/a}
1907n/a
1908n/astatic PyObject *CarbonEvents_BeginAppModalStateForWindow(PyObject *_self, PyObject *_args)
1909n/a{
1910n/a PyObject *_res = NULL;
1911n/a OSStatus _err;
1912n/a WindowPtr inWindow;
1913n/a if (!PyArg_ParseTuple(_args, "O&",
1914n/a WinObj_Convert, &inWindow))
1915n/a return NULL;
1916n/a _err = BeginAppModalStateForWindow(inWindow);
1917n/a if (_err != noErr) return PyMac_Error(_err);
1918n/a Py_INCREF(Py_None);
1919n/a _res = Py_None;
1920n/a return _res;
1921n/a}
1922n/a
1923n/astatic PyObject *CarbonEvents_EndAppModalStateForWindow(PyObject *_self, PyObject *_args)
1924n/a{
1925n/a PyObject *_res = NULL;
1926n/a OSStatus _err;
1927n/a WindowPtr inWindow;
1928n/a if (!PyArg_ParseTuple(_args, "O&",
1929n/a WinObj_Convert, &inWindow))
1930n/a return NULL;
1931n/a _err = EndAppModalStateForWindow(inWindow);
1932n/a if (_err != noErr) return PyMac_Error(_err);
1933n/a Py_INCREF(Py_None);
1934n/a _res = Py_None;
1935n/a return _res;
1936n/a}
1937n/a
1938n/astatic PyObject *CarbonEvents_SetUserFocusWindow(PyObject *_self, PyObject *_args)
1939n/a{
1940n/a PyObject *_res = NULL;
1941n/a OSStatus _err;
1942n/a WindowPtr inWindow;
1943n/a if (!PyArg_ParseTuple(_args, "O&",
1944n/a WinObj_Convert, &inWindow))
1945n/a return NULL;
1946n/a _err = SetUserFocusWindow(inWindow);
1947n/a if (_err != noErr) return PyMac_Error(_err);
1948n/a Py_INCREF(Py_None);
1949n/a _res = Py_None;
1950n/a return _res;
1951n/a}
1952n/a
1953n/astatic PyObject *CarbonEvents_GetUserFocusWindow(PyObject *_self, PyObject *_args)
1954n/a{
1955n/a PyObject *_res = NULL;
1956n/a WindowPtr _rv;
1957n/a if (!PyArg_ParseTuple(_args, ""))
1958n/a return NULL;
1959n/a _rv = GetUserFocusWindow();
1960n/a _res = Py_BuildValue("O&",
1961n/a WinObj_New, _rv);
1962n/a return _res;
1963n/a}
1964n/a
1965n/astatic PyObject *CarbonEvents_SetWindowDefaultButton(PyObject *_self, PyObject *_args)
1966n/a{
1967n/a PyObject *_res = NULL;
1968n/a OSStatus _err;
1969n/a WindowPtr inWindow;
1970n/a ControlHandle inControl;
1971n/a if (!PyArg_ParseTuple(_args, "O&O&",
1972n/a WinObj_Convert, &inWindow,
1973n/a CtlObj_Convert, &inControl))
1974n/a return NULL;
1975n/a _err = SetWindowDefaultButton(inWindow,
1976n/a inControl);
1977n/a if (_err != noErr) return PyMac_Error(_err);
1978n/a Py_INCREF(Py_None);
1979n/a _res = Py_None;
1980n/a return _res;
1981n/a}
1982n/a
1983n/astatic PyObject *CarbonEvents_SetWindowCancelButton(PyObject *_self, PyObject *_args)
1984n/a{
1985n/a PyObject *_res = NULL;
1986n/a OSStatus _err;
1987n/a WindowPtr inWindow;
1988n/a ControlHandle inControl;
1989n/a if (!PyArg_ParseTuple(_args, "O&O&",
1990n/a WinObj_Convert, &inWindow,
1991n/a CtlObj_Convert, &inControl))
1992n/a return NULL;
1993n/a _err = SetWindowCancelButton(inWindow,
1994n/a inControl);
1995n/a if (_err != noErr) return PyMac_Error(_err);
1996n/a Py_INCREF(Py_None);
1997n/a _res = Py_None;
1998n/a return _res;
1999n/a}
2000n/a
2001n/astatic PyObject *CarbonEvents_GetWindowDefaultButton(PyObject *_self, PyObject *_args)
2002n/a{
2003n/a PyObject *_res = NULL;
2004n/a OSStatus _err;
2005n/a WindowPtr inWindow;
2006n/a ControlHandle outControl;
2007n/a if (!PyArg_ParseTuple(_args, "O&",
2008n/a WinObj_Convert, &inWindow))
2009n/a return NULL;
2010n/a _err = GetWindowDefaultButton(inWindow,
2011n/a &outControl);
2012n/a if (_err != noErr) return PyMac_Error(_err);
2013n/a _res = Py_BuildValue("O&",
2014n/a CtlObj_New, outControl);
2015n/a return _res;
2016n/a}
2017n/a
2018n/astatic PyObject *CarbonEvents_GetWindowCancelButton(PyObject *_self, PyObject *_args)
2019n/a{
2020n/a PyObject *_res = NULL;
2021n/a OSStatus _err;
2022n/a WindowPtr inWindow;
2023n/a ControlHandle outControl;
2024n/a if (!PyArg_ParseTuple(_args, "O&",
2025n/a WinObj_Convert, &inWindow))
2026n/a return NULL;
2027n/a _err = GetWindowCancelButton(inWindow,
2028n/a &outControl);
2029n/a if (_err != noErr) return PyMac_Error(_err);
2030n/a _res = Py_BuildValue("O&",
2031n/a CtlObj_New, outControl);
2032n/a return _res;
2033n/a}
2034n/a
2035n/astatic PyObject *CarbonEvents_RegisterEventHotKey(PyObject *_self, PyObject *_args)
2036n/a{
2037n/a PyObject *_res = NULL;
2038n/a OSStatus _err;
2039n/a UInt32 inHotKeyCode;
2040n/a UInt32 inHotKeyModifiers;
2041n/a EventHotKeyID inHotKeyID;
2042n/a EventTargetRef inTarget;
2043n/a OptionBits inOptions;
2044n/a EventHotKeyRef outRef;
2045n/a if (!PyArg_ParseTuple(_args, "llO&O&l",
2046n/a &inHotKeyCode,
2047n/a &inHotKeyModifiers,
2048n/a EventHotKeyID_Convert, &inHotKeyID,
2049n/a EventTargetRef_Convert, &inTarget,
2050n/a &inOptions))
2051n/a return NULL;
2052n/a _err = RegisterEventHotKey(inHotKeyCode,
2053n/a inHotKeyModifiers,
2054n/a inHotKeyID,
2055n/a inTarget,
2056n/a inOptions,
2057n/a &outRef);
2058n/a if (_err != noErr) return PyMac_Error(_err);
2059n/a _res = Py_BuildValue("O&",
2060n/a EventHotKeyRef_New, outRef);
2061n/a return _res;
2062n/a}
2063n/a
2064n/astatic PyMethodDef CarbonEvents_methods[] = {
2065n/a {"GetCurrentEventLoop", (PyCFunction)CarbonEvents_GetCurrentEventLoop, 1,
2066n/a PyDoc_STR("() -> (EventLoopRef _rv)")},
2067n/a {"GetMainEventLoop", (PyCFunction)CarbonEvents_GetMainEventLoop, 1,
2068n/a PyDoc_STR("() -> (EventLoopRef _rv)")},
2069n/a {"RunCurrentEventLoop", (PyCFunction)CarbonEvents_RunCurrentEventLoop, 1,
2070n/a PyDoc_STR("(double inTimeout) -> None")},
2071n/a {"ReceiveNextEvent", (PyCFunction)CarbonEvents_ReceiveNextEvent, 1,
2072n/a PyDoc_STR("(UInt32 inNumTypes, EventTypeSpec inList, double inTimeout, Boolean inPullEvent) -> (EventRef outEvent)")},
2073n/a {"GetCurrentEventQueue", (PyCFunction)CarbonEvents_GetCurrentEventQueue, 1,
2074n/a PyDoc_STR("() -> (EventQueueRef _rv)")},
2075n/a {"GetMainEventQueue", (PyCFunction)CarbonEvents_GetMainEventQueue, 1,
2076n/a PyDoc_STR("() -> (EventQueueRef _rv)")},
2077n/a {"GetCurrentEventTime", (PyCFunction)CarbonEvents_GetCurrentEventTime, 1,
2078n/a PyDoc_STR("() -> (double _rv)")},
2079n/a {"TrackMouseLocation", (PyCFunction)CarbonEvents_TrackMouseLocation, 1,
2080n/a PyDoc_STR("(GrafPtr inPort) -> (Point outPt, UInt16 outResult)")},
2081n/a {"TrackMouseLocationWithOptions", (PyCFunction)CarbonEvents_TrackMouseLocationWithOptions, 1,
2082n/a PyDoc_STR("(GrafPtr inPort, OptionBits inOptions, double inTimeout) -> (Point outPt, UInt32 outModifiers, UInt16 outResult)")},
2083n/a {"TrackMouseRegion", (PyCFunction)CarbonEvents_TrackMouseRegion, 1,
2084n/a PyDoc_STR("(GrafPtr inPort, RgnHandle inRegion, Boolean ioWasInRgn) -> (Boolean ioWasInRgn, UInt16 outResult)")},
2085n/a {"GetLastUserEventTime", (PyCFunction)CarbonEvents_GetLastUserEventTime, 1,
2086n/a PyDoc_STR("() -> (double _rv)")},
2087n/a {"IsMouseCoalescingEnabled", (PyCFunction)CarbonEvents_IsMouseCoalescingEnabled, 1,
2088n/a PyDoc_STR("() -> (Boolean _rv)")},
2089n/a {"SetMouseCoalescingEnabled", (PyCFunction)CarbonEvents_SetMouseCoalescingEnabled, 1,
2090n/a PyDoc_STR("(Boolean inNewState) -> (Boolean outOldState)")},
2091n/a {"GetWindowEventTarget", (PyCFunction)CarbonEvents_GetWindowEventTarget, 1,
2092n/a PyDoc_STR("(WindowPtr inWindow) -> (EventTargetRef _rv)")},
2093n/a {"GetControlEventTarget", (PyCFunction)CarbonEvents_GetControlEventTarget, 1,
2094n/a PyDoc_STR("(ControlHandle inControl) -> (EventTargetRef _rv)")},
2095n/a {"GetMenuEventTarget", (PyCFunction)CarbonEvents_GetMenuEventTarget, 1,
2096n/a PyDoc_STR("(MenuHandle inMenu) -> (EventTargetRef _rv)")},
2097n/a {"GetApplicationEventTarget", (PyCFunction)CarbonEvents_GetApplicationEventTarget, 1,
2098n/a PyDoc_STR("() -> (EventTargetRef _rv)")},
2099n/a {"GetUserFocusEventTarget", (PyCFunction)CarbonEvents_GetUserFocusEventTarget, 1,
2100n/a PyDoc_STR("() -> (EventTargetRef _rv)")},
2101n/a {"GetEventDispatcherTarget", (PyCFunction)CarbonEvents_GetEventDispatcherTarget, 1,
2102n/a PyDoc_STR("() -> (EventTargetRef _rv)")},
2103n/a {"RunApplicationEventLoop", (PyCFunction)CarbonEvents_RunApplicationEventLoop, 1,
2104n/a PyDoc_STR("() -> None")},
2105n/a {"QuitApplicationEventLoop", (PyCFunction)CarbonEvents_QuitApplicationEventLoop, 1,
2106n/a PyDoc_STR("() -> None")},
2107n/a {"RunAppModalLoopForWindow", (PyCFunction)CarbonEvents_RunAppModalLoopForWindow, 1,
2108n/a PyDoc_STR("(WindowPtr inWindow) -> None")},
2109n/a {"QuitAppModalLoopForWindow", (PyCFunction)CarbonEvents_QuitAppModalLoopForWindow, 1,
2110n/a PyDoc_STR("(WindowPtr inWindow) -> None")},
2111n/a {"BeginAppModalStateForWindow", (PyCFunction)CarbonEvents_BeginAppModalStateForWindow, 1,
2112n/a PyDoc_STR("(WindowPtr inWindow) -> None")},
2113n/a {"EndAppModalStateForWindow", (PyCFunction)CarbonEvents_EndAppModalStateForWindow, 1,
2114n/a PyDoc_STR("(WindowPtr inWindow) -> None")},
2115n/a {"SetUserFocusWindow", (PyCFunction)CarbonEvents_SetUserFocusWindow, 1,
2116n/a PyDoc_STR("(WindowPtr inWindow) -> None")},
2117n/a {"GetUserFocusWindow", (PyCFunction)CarbonEvents_GetUserFocusWindow, 1,
2118n/a PyDoc_STR("() -> (WindowPtr _rv)")},
2119n/a {"SetWindowDefaultButton", (PyCFunction)CarbonEvents_SetWindowDefaultButton, 1,
2120n/a PyDoc_STR("(WindowPtr inWindow, ControlHandle inControl) -> None")},
2121n/a {"SetWindowCancelButton", (PyCFunction)CarbonEvents_SetWindowCancelButton, 1,
2122n/a PyDoc_STR("(WindowPtr inWindow, ControlHandle inControl) -> None")},
2123n/a {"GetWindowDefaultButton", (PyCFunction)CarbonEvents_GetWindowDefaultButton, 1,
2124n/a PyDoc_STR("(WindowPtr inWindow) -> (ControlHandle outControl)")},
2125n/a {"GetWindowCancelButton", (PyCFunction)CarbonEvents_GetWindowCancelButton, 1,
2126n/a PyDoc_STR("(WindowPtr inWindow) -> (ControlHandle outControl)")},
2127n/a {"RegisterEventHotKey", (PyCFunction)CarbonEvents_RegisterEventHotKey, 1,
2128n/a PyDoc_STR("(UInt32 inHotKeyCode, UInt32 inHotKeyModifiers, EventHotKeyID inHotKeyID, EventTargetRef inTarget, OptionBits inOptions) -> (EventHotKeyRef outRef)")},
2129n/a {NULL, NULL, 0}
2130n/a};
2131n/a
2132n/a#else /* __LP64__ */
2133n/a
2134n/astatic PyMethodDef CarbonEvents_methods[] = {
2135n/a {NULL, NULL, 0}
2136n/a};
2137n/a
2138n/a#endif /* __LP64__ */
2139n/a
2140n/a
2141n/a
2142n/avoid init_CarbonEvt(void)
2143n/a{
2144n/a PyObject *m;
2145n/a#ifndef __LP64__
2146n/a PyObject *d;
2147n/a#endif /* !__LP64__ */
2148n/a
2149n/a
2150n/a m = Py_InitModule("_CarbonEvt", CarbonEvents_methods);
2151n/a
2152n/a#ifndef __LP64__
2153n/a myEventHandlerUPP = NewEventHandlerUPP(myEventHandler);
2154n/a d = PyModule_GetDict(m);
2155n/a CarbonEvents_Error = PyMac_GetOSErrException();
2156n/a if (CarbonEvents_Error == NULL ||
2157n/a PyDict_SetItemString(d, "Error", CarbonEvents_Error) != 0)
2158n/a return;
2159n/a EventRef_Type.ob_type = &PyType_Type;
2160n/a if (PyType_Ready(&EventRef_Type) < 0) return;
2161n/a Py_INCREF(&EventRef_Type);
2162n/a PyModule_AddObject(m, "EventRef", (PyObject *)&EventRef_Type);
2163n/a /* Backward-compatible name */
2164n/a Py_INCREF(&EventRef_Type);
2165n/a PyModule_AddObject(m, "EventRefType", (PyObject *)&EventRef_Type);
2166n/a EventQueueRef_Type.ob_type = &PyType_Type;
2167n/a if (PyType_Ready(&EventQueueRef_Type) < 0) return;
2168n/a Py_INCREF(&EventQueueRef_Type);
2169n/a PyModule_AddObject(m, "EventQueueRef", (PyObject *)&EventQueueRef_Type);
2170n/a /* Backward-compatible name */
2171n/a Py_INCREF(&EventQueueRef_Type);
2172n/a PyModule_AddObject(m, "EventQueueRefType", (PyObject *)&EventQueueRef_Type);
2173n/a EventLoopRef_Type.ob_type = &PyType_Type;
2174n/a if (PyType_Ready(&EventLoopRef_Type) < 0) return;
2175n/a Py_INCREF(&EventLoopRef_Type);
2176n/a PyModule_AddObject(m, "EventLoopRef", (PyObject *)&EventLoopRef_Type);
2177n/a /* Backward-compatible name */
2178n/a Py_INCREF(&EventLoopRef_Type);
2179n/a PyModule_AddObject(m, "EventLoopRefType", (PyObject *)&EventLoopRef_Type);
2180n/a EventLoopTimerRef_Type.ob_type = &PyType_Type;
2181n/a if (PyType_Ready(&EventLoopTimerRef_Type) < 0) return;
2182n/a Py_INCREF(&EventLoopTimerRef_Type);
2183n/a PyModule_AddObject(m, "EventLoopTimerRef", (PyObject *)&EventLoopTimerRef_Type);
2184n/a /* Backward-compatible name */
2185n/a Py_INCREF(&EventLoopTimerRef_Type);
2186n/a PyModule_AddObject(m, "EventLoopTimerRefType", (PyObject *)&EventLoopTimerRef_Type);
2187n/a EventHandlerRef_Type.ob_type = &PyType_Type;
2188n/a if (PyType_Ready(&EventHandlerRef_Type) < 0) return;
2189n/a Py_INCREF(&EventHandlerRef_Type);
2190n/a PyModule_AddObject(m, "EventHandlerRef", (PyObject *)&EventHandlerRef_Type);
2191n/a /* Backward-compatible name */
2192n/a Py_INCREF(&EventHandlerRef_Type);
2193n/a PyModule_AddObject(m, "EventHandlerRefType", (PyObject *)&EventHandlerRef_Type);
2194n/a EventHandlerCallRef_Type.ob_type = &PyType_Type;
2195n/a if (PyType_Ready(&EventHandlerCallRef_Type) < 0) return;
2196n/a Py_INCREF(&EventHandlerCallRef_Type);
2197n/a PyModule_AddObject(m, "EventHandlerCallRef", (PyObject *)&EventHandlerCallRef_Type);
2198n/a /* Backward-compatible name */
2199n/a Py_INCREF(&EventHandlerCallRef_Type);
2200n/a PyModule_AddObject(m, "EventHandlerCallRefType", (PyObject *)&EventHandlerCallRef_Type);
2201n/a EventTargetRef_Type.ob_type = &PyType_Type;
2202n/a if (PyType_Ready(&EventTargetRef_Type) < 0) return;
2203n/a Py_INCREF(&EventTargetRef_Type);
2204n/a PyModule_AddObject(m, "EventTargetRef", (PyObject *)&EventTargetRef_Type);
2205n/a /* Backward-compatible name */
2206n/a Py_INCREF(&EventTargetRef_Type);
2207n/a PyModule_AddObject(m, "EventTargetRefType", (PyObject *)&EventTargetRef_Type);
2208n/a EventHotKeyRef_Type.ob_type = &PyType_Type;
2209n/a if (PyType_Ready(&EventHotKeyRef_Type) < 0) return;
2210n/a Py_INCREF(&EventHotKeyRef_Type);
2211n/a PyModule_AddObject(m, "EventHotKeyRef", (PyObject *)&EventHotKeyRef_Type);
2212n/a /* Backward-compatible name */
2213n/a Py_INCREF(&EventHotKeyRef_Type);
2214n/a PyModule_AddObject(m, "EventHotKeyRefType", (PyObject *)&EventHotKeyRef_Type);
2215n/a#endif /* !__LP64__ */
2216n/a}
2217n/a
2218n/a/* ===================== End module _CarbonEvt ====================== */
2219n/a