2 /* ========================== Module _OSA =========================== */
8 #include "pymactoolbox.h"
10 /* Macro to test whether a weak-loaded CFM function exists */
11 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
12 PyErr_SetString(PyExc_NotImplementedError, \
13 "Not available in this shared library/OS version"); \
18 #if PY_VERSION_HEX < 0x02040000
19 PyObject
*PyMac_GetOSErrException(void);
21 #include <Carbon/Carbon.h>
23 #ifdef USE_TOOLBOX_OBJECT_GLUE
24 extern PyObject
*_OSAObj_New(ComponentInstance
);
25 extern int _OSAObj_Convert(PyObject
*, ComponentInstance
*);
27 #define OSAObj_New _OSAObj_New
28 #define OSAObj_Convert _OSAObj_Convert
31 static PyObject
*OSA_Error
;
33 /* ---------------- Object type OSAComponentInstance ---------------- */
35 PyTypeObject OSAComponentInstance_Type
;
37 #define OSAObj_Check(x) ((x)->ob_type == &OSAComponentInstance_Type || PyObject_TypeCheck((x), &OSAComponentInstance_Type))
39 typedef struct OSAComponentInstanceObject
{
41 ComponentInstance ob_itself
;
42 } OSAComponentInstanceObject
;
44 PyObject
*OSAObj_New(ComponentInstance itself
)
46 OSAComponentInstanceObject
*it
;
48 PyErr_SetString(OSA_Error
,"NULL ComponentInstance");
51 it
= PyObject_NEW(OSAComponentInstanceObject
, &OSAComponentInstance_Type
);
52 if (it
== NULL
) return NULL
;
53 it
->ob_itself
= itself
;
54 return (PyObject
*)it
;
56 int OSAObj_Convert(PyObject
*v
, ComponentInstance
*p_itself
)
59 if (CmpInstObj_Convert(v
, p_itself
))
65 PyErr_SetString(PyExc_TypeError
, "OSAComponentInstance required");
68 *p_itself
= ((OSAComponentInstanceObject
*)v
)->ob_itself
;
72 static void OSAObj_dealloc(OSAComponentInstanceObject
*self
)
74 /* Cleanup of self->ob_itself goes here */
75 self
->ob_type
->tp_free((PyObject
*)self
);
78 static PyObject
*OSAObj_OSALoad(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
80 PyObject
*_res
= NULL
;
84 OSAID resultingScriptID
;
86 PyMac_PRECHECK(OSALoad
);
88 if (!PyArg_ParseTuple(_args
, "O&l",
89 AEDesc_Convert
, &scriptData
,
92 _err
= OSALoad(_self
->ob_itself
,
96 if (_err
!= noErr
) return PyMac_Error(_err
);
97 _res
= Py_BuildValue("l",
102 static PyObject
*OSAObj_OSAStore(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
104 PyObject
*_res
= NULL
;
107 DescType desiredType
;
109 AEDesc resultingScriptData
;
111 PyMac_PRECHECK(OSAStore
);
113 if (!PyArg_ParseTuple(_args
, "lO&l",
115 PyMac_GetOSType
, &desiredType
,
118 _err
= OSAStore(_self
->ob_itself
,
122 &resultingScriptData
);
123 if (_err
!= noErr
) return PyMac_Error(_err
);
124 _res
= Py_BuildValue("O&",
125 AEDesc_New
, &resultingScriptData
);
129 static PyObject
*OSAObj_OSAExecute(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
131 PyObject
*_res
= NULL
;
133 OSAID compiledScriptID
;
136 OSAID resultingScriptValueID
;
138 PyMac_PRECHECK(OSAExecute
);
140 if (!PyArg_ParseTuple(_args
, "lll",
145 _err
= OSAExecute(_self
->ob_itself
,
149 &resultingScriptValueID
);
150 if (_err
!= noErr
) return PyMac_Error(_err
);
151 _res
= Py_BuildValue("l",
152 resultingScriptValueID
);
156 static PyObject
*OSAObj_OSADisplay(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
158 PyObject
*_res
= NULL
;
161 DescType desiredType
;
163 AEDesc resultingText
;
165 PyMac_PRECHECK(OSADisplay
);
167 if (!PyArg_ParseTuple(_args
, "lO&l",
169 PyMac_GetOSType
, &desiredType
,
172 _err
= OSADisplay(_self
->ob_itself
,
177 if (_err
!= noErr
) return PyMac_Error(_err
);
178 _res
= Py_BuildValue("O&",
179 AEDesc_New
, &resultingText
);
183 static PyObject
*OSAObj_OSAScriptError(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
185 PyObject
*_res
= NULL
;
188 DescType desiredType
;
189 AEDesc resultingErrorDescription
;
190 #ifndef OSAScriptError
191 PyMac_PRECHECK(OSAScriptError
);
193 if (!PyArg_ParseTuple(_args
, "O&O&",
194 PyMac_GetOSType
, &selector
,
195 PyMac_GetOSType
, &desiredType
))
197 _err
= OSAScriptError(_self
->ob_itself
,
200 &resultingErrorDescription
);
201 if (_err
!= noErr
) return PyMac_Error(_err
);
202 _res
= Py_BuildValue("O&",
203 AEDesc_New
, &resultingErrorDescription
);
207 static PyObject
*OSAObj_OSADispose(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
209 PyObject
*_res
= NULL
;
213 PyMac_PRECHECK(OSADispose
);
215 if (!PyArg_ParseTuple(_args
, "l",
218 _err
= OSADispose(_self
->ob_itself
,
220 if (_err
!= noErr
) return PyMac_Error(_err
);
226 static PyObject
*OSAObj_OSASetScriptInfo(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
228 PyObject
*_res
= NULL
;
233 #ifndef OSASetScriptInfo
234 PyMac_PRECHECK(OSASetScriptInfo
);
236 if (!PyArg_ParseTuple(_args
, "lO&l",
238 PyMac_GetOSType
, &selector
,
241 _err
= OSASetScriptInfo(_self
->ob_itself
,
245 if (_err
!= noErr
) return PyMac_Error(_err
);
251 static PyObject
*OSAObj_OSAGetScriptInfo(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
253 PyObject
*_res
= NULL
;
258 #ifndef OSAGetScriptInfo
259 PyMac_PRECHECK(OSAGetScriptInfo
);
261 if (!PyArg_ParseTuple(_args
, "lO&",
263 PyMac_GetOSType
, &selector
))
265 _err
= OSAGetScriptInfo(_self
->ob_itself
,
269 if (_err
!= noErr
) return PyMac_Error(_err
);
270 _res
= Py_BuildValue("l",
275 static PyObject
*OSAObj_OSAScriptingComponentName(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
277 PyObject
*_res
= NULL
;
279 AEDesc resultingScriptingComponentName
;
280 #ifndef OSAScriptingComponentName
281 PyMac_PRECHECK(OSAScriptingComponentName
);
283 if (!PyArg_ParseTuple(_args
, ""))
285 _err
= OSAScriptingComponentName(_self
->ob_itself
,
286 &resultingScriptingComponentName
);
287 if (_err
!= noErr
) return PyMac_Error(_err
);
288 _res
= Py_BuildValue("O&",
289 AEDesc_New
, &resultingScriptingComponentName
);
293 static PyObject
*OSAObj_OSACompile(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
295 PyObject
*_res
= NULL
;
299 OSAID previousAndResultingScriptID
;
301 PyMac_PRECHECK(OSACompile
);
303 if (!PyArg_ParseTuple(_args
, "O&l",
304 AEDesc_Convert
, &sourceData
,
307 _err
= OSACompile(_self
->ob_itself
,
310 &previousAndResultingScriptID
);
311 if (_err
!= noErr
) return PyMac_Error(_err
);
312 _res
= Py_BuildValue("l",
313 previousAndResultingScriptID
);
317 static PyObject
*OSAObj_OSACopyID(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
319 PyObject
*_res
= NULL
;
324 PyMac_PRECHECK(OSACopyID
);
326 if (!PyArg_ParseTuple(_args
, "l",
329 _err
= OSACopyID(_self
->ob_itself
,
332 if (_err
!= noErr
) return PyMac_Error(_err
);
333 _res
= Py_BuildValue("l",
338 static PyObject
*OSAObj_OSAGetSource(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
340 PyObject
*_res
= NULL
;
343 DescType desiredType
;
344 AEDesc resultingSourceData
;
346 PyMac_PRECHECK(OSAGetSource
);
348 if (!PyArg_ParseTuple(_args
, "lO&",
350 PyMac_GetOSType
, &desiredType
))
352 _err
= OSAGetSource(_self
->ob_itself
,
355 &resultingSourceData
);
356 if (_err
!= noErr
) return PyMac_Error(_err
);
357 _res
= Py_BuildValue("O&",
358 AEDesc_New
, &resultingSourceData
);
362 static PyObject
*OSAObj_OSACoerceFromDesc(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
364 PyObject
*_res
= NULL
;
368 OSAID resultingScriptID
;
369 #ifndef OSACoerceFromDesc
370 PyMac_PRECHECK(OSACoerceFromDesc
);
372 if (!PyArg_ParseTuple(_args
, "O&l",
373 AEDesc_Convert
, &scriptData
,
376 _err
= OSACoerceFromDesc(_self
->ob_itself
,
380 if (_err
!= noErr
) return PyMac_Error(_err
);
381 _res
= Py_BuildValue("l",
386 static PyObject
*OSAObj_OSACoerceToDesc(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
388 PyObject
*_res
= NULL
;
391 DescType desiredType
;
394 #ifndef OSACoerceToDesc
395 PyMac_PRECHECK(OSACoerceToDesc
);
397 if (!PyArg_ParseTuple(_args
, "lO&l",
399 PyMac_GetOSType
, &desiredType
,
402 _err
= OSACoerceToDesc(_self
->ob_itself
,
407 if (_err
!= noErr
) return PyMac_Error(_err
);
408 _res
= Py_BuildValue("O&",
409 AEDesc_New
, &result
);
413 static PyObject
*OSAObj_OSASetDefaultTarget(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
415 PyObject
*_res
= NULL
;
417 AEAddressDesc target
;
418 #ifndef OSASetDefaultTarget
419 PyMac_PRECHECK(OSASetDefaultTarget
);
421 if (!PyArg_ParseTuple(_args
, "O&",
422 AEDesc_Convert
, &target
))
424 _err
= OSASetDefaultTarget(_self
->ob_itself
,
426 if (_err
!= noErr
) return PyMac_Error(_err
);
432 static PyObject
*OSAObj_OSAStartRecording(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
434 PyObject
*_res
= NULL
;
436 OSAID compiledScriptToModifyID
;
437 #ifndef OSAStartRecording
438 PyMac_PRECHECK(OSAStartRecording
);
440 if (!PyArg_ParseTuple(_args
, ""))
442 _err
= OSAStartRecording(_self
->ob_itself
,
443 &compiledScriptToModifyID
);
444 if (_err
!= noErr
) return PyMac_Error(_err
);
445 _res
= Py_BuildValue("l",
446 compiledScriptToModifyID
);
450 static PyObject
*OSAObj_OSAStopRecording(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
452 PyObject
*_res
= NULL
;
454 OSAID compiledScriptID
;
455 #ifndef OSAStopRecording
456 PyMac_PRECHECK(OSAStopRecording
);
458 if (!PyArg_ParseTuple(_args
, "l",
461 _err
= OSAStopRecording(_self
->ob_itself
,
463 if (_err
!= noErr
) return PyMac_Error(_err
);
469 static PyObject
*OSAObj_OSALoadExecute(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
471 PyObject
*_res
= NULL
;
476 OSAID resultingScriptValueID
;
477 #ifndef OSALoadExecute
478 PyMac_PRECHECK(OSALoadExecute
);
480 if (!PyArg_ParseTuple(_args
, "O&ll",
481 AEDesc_Convert
, &scriptData
,
485 _err
= OSALoadExecute(_self
->ob_itself
,
489 &resultingScriptValueID
);
490 if (_err
!= noErr
) return PyMac_Error(_err
);
491 _res
= Py_BuildValue("l",
492 resultingScriptValueID
);
496 static PyObject
*OSAObj_OSACompileExecute(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
498 PyObject
*_res
= NULL
;
503 OSAID resultingScriptValueID
;
504 #ifndef OSACompileExecute
505 PyMac_PRECHECK(OSACompileExecute
);
507 if (!PyArg_ParseTuple(_args
, "O&ll",
508 AEDesc_Convert
, &sourceData
,
512 _err
= OSACompileExecute(_self
->ob_itself
,
516 &resultingScriptValueID
);
517 if (_err
!= noErr
) return PyMac_Error(_err
);
518 _res
= Py_BuildValue("l",
519 resultingScriptValueID
);
523 static PyObject
*OSAObj_OSADoScript(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
525 PyObject
*_res
= NULL
;
529 DescType desiredType
;
531 AEDesc resultingText
;
533 PyMac_PRECHECK(OSADoScript
);
535 if (!PyArg_ParseTuple(_args
, "O&lO&l",
536 AEDesc_Convert
, &sourceData
,
538 PyMac_GetOSType
, &desiredType
,
541 _err
= OSADoScript(_self
->ob_itself
,
547 if (_err
!= noErr
) return PyMac_Error(_err
);
548 _res
= Py_BuildValue("O&",
549 AEDesc_New
, &resultingText
);
553 static PyObject
*OSAObj_OSASetCurrentDialect(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
555 PyObject
*_res
= NULL
;
558 #ifndef OSASetCurrentDialect
559 PyMac_PRECHECK(OSASetCurrentDialect
);
561 if (!PyArg_ParseTuple(_args
, "h",
564 _err
= OSASetCurrentDialect(_self
->ob_itself
,
566 if (_err
!= noErr
) return PyMac_Error(_err
);
572 static PyObject
*OSAObj_OSAGetCurrentDialect(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
574 PyObject
*_res
= NULL
;
576 short resultingDialectCode
;
577 #ifndef OSAGetCurrentDialect
578 PyMac_PRECHECK(OSAGetCurrentDialect
);
580 if (!PyArg_ParseTuple(_args
, ""))
582 _err
= OSAGetCurrentDialect(_self
->ob_itself
,
583 &resultingDialectCode
);
584 if (_err
!= noErr
) return PyMac_Error(_err
);
585 _res
= Py_BuildValue("h",
586 resultingDialectCode
);
590 static PyObject
*OSAObj_OSAAvailableDialects(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
592 PyObject
*_res
= NULL
;
594 AEDesc resultingDialectInfoList
;
595 #ifndef OSAAvailableDialects
596 PyMac_PRECHECK(OSAAvailableDialects
);
598 if (!PyArg_ParseTuple(_args
, ""))
600 _err
= OSAAvailableDialects(_self
->ob_itself
,
601 &resultingDialectInfoList
);
602 if (_err
!= noErr
) return PyMac_Error(_err
);
603 _res
= Py_BuildValue("O&",
604 AEDesc_New
, &resultingDialectInfoList
);
608 static PyObject
*OSAObj_OSAGetDialectInfo(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
610 PyObject
*_res
= NULL
;
614 AEDesc resultingDialectInfo
;
615 #ifndef OSAGetDialectInfo
616 PyMac_PRECHECK(OSAGetDialectInfo
);
618 if (!PyArg_ParseTuple(_args
, "hO&",
620 PyMac_GetOSType
, &selector
))
622 _err
= OSAGetDialectInfo(_self
->ob_itself
,
625 &resultingDialectInfo
);
626 if (_err
!= noErr
) return PyMac_Error(_err
);
627 _res
= Py_BuildValue("O&",
628 AEDesc_New
, &resultingDialectInfo
);
632 static PyObject
*OSAObj_OSAAvailableDialectCodeList(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
634 PyObject
*_res
= NULL
;
636 AEDesc resultingDialectCodeList
;
637 #ifndef OSAAvailableDialectCodeList
638 PyMac_PRECHECK(OSAAvailableDialectCodeList
);
640 if (!PyArg_ParseTuple(_args
, ""))
642 _err
= OSAAvailableDialectCodeList(_self
->ob_itself
,
643 &resultingDialectCodeList
);
644 if (_err
!= noErr
) return PyMac_Error(_err
);
645 _res
= Py_BuildValue("O&",
646 AEDesc_New
, &resultingDialectCodeList
);
650 static PyObject
*OSAObj_OSAExecuteEvent(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
652 PyObject
*_res
= NULL
;
654 AppleEvent theAppleEvent
;
657 OSAID resultingScriptValueID
;
658 #ifndef OSAExecuteEvent
659 PyMac_PRECHECK(OSAExecuteEvent
);
661 if (!PyArg_ParseTuple(_args
, "O&ll",
662 AEDesc_Convert
, &theAppleEvent
,
666 _err
= OSAExecuteEvent(_self
->ob_itself
,
670 &resultingScriptValueID
);
671 if (_err
!= noErr
) return PyMac_Error(_err
);
672 _res
= Py_BuildValue("l",
673 resultingScriptValueID
);
677 static PyObject
*OSAObj_OSADoEvent(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
679 PyObject
*_res
= NULL
;
681 AppleEvent theAppleEvent
;
686 PyMac_PRECHECK(OSADoEvent
);
688 if (!PyArg_ParseTuple(_args
, "O&ll",
689 AEDesc_Convert
, &theAppleEvent
,
693 _err
= OSADoEvent(_self
->ob_itself
,
698 if (_err
!= noErr
) return PyMac_Error(_err
);
699 _res
= Py_BuildValue("O&",
704 static PyObject
*OSAObj_OSAMakeContext(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
706 PyObject
*_res
= NULL
;
710 OSAID resultingContextID
;
711 #ifndef OSAMakeContext
712 PyMac_PRECHECK(OSAMakeContext
);
714 if (!PyArg_ParseTuple(_args
, "O&l",
715 AEDesc_Convert
, &contextName
,
718 _err
= OSAMakeContext(_self
->ob_itself
,
721 &resultingContextID
);
722 if (_err
!= noErr
) return PyMac_Error(_err
);
723 _res
= Py_BuildValue("l",
728 static PyObject
*OSAObj_OSADebuggerCreateSession(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
730 PyObject
*_res
= NULL
;
734 OSADebugSessionRef outSession
;
735 #ifndef OSADebuggerCreateSession
736 PyMac_PRECHECK(OSADebuggerCreateSession
);
738 if (!PyArg_ParseTuple(_args
, "ll",
742 _err
= OSADebuggerCreateSession(_self
->ob_itself
,
746 if (_err
!= noErr
) return PyMac_Error(_err
);
747 _res
= Py_BuildValue("l",
752 static PyObject
*OSAObj_OSADebuggerGetSessionState(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
754 PyObject
*_res
= NULL
;
756 OSADebugSessionRef inSession
;
758 #ifndef OSADebuggerGetSessionState
759 PyMac_PRECHECK(OSADebuggerGetSessionState
);
761 if (!PyArg_ParseTuple(_args
, "l",
764 _err
= OSADebuggerGetSessionState(_self
->ob_itself
,
767 if (_err
!= noErr
) return PyMac_Error(_err
);
768 _res
= Py_BuildValue("O&",
769 AEDesc_New
, &outState
);
773 static PyObject
*OSAObj_OSADebuggerSessionStep(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
775 PyObject
*_res
= NULL
;
777 OSADebugSessionRef inSession
;
778 OSADebugStepKind inKind
;
779 #ifndef OSADebuggerSessionStep
780 PyMac_PRECHECK(OSADebuggerSessionStep
);
782 if (!PyArg_ParseTuple(_args
, "ll",
786 _err
= OSADebuggerSessionStep(_self
->ob_itself
,
789 if (_err
!= noErr
) return PyMac_Error(_err
);
795 static PyObject
*OSAObj_OSADebuggerDisposeSession(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
797 PyObject
*_res
= NULL
;
799 OSADebugSessionRef inSession
;
800 #ifndef OSADebuggerDisposeSession
801 PyMac_PRECHECK(OSADebuggerDisposeSession
);
803 if (!PyArg_ParseTuple(_args
, "l",
806 _err
= OSADebuggerDisposeSession(_self
->ob_itself
,
808 if (_err
!= noErr
) return PyMac_Error(_err
);
814 static PyObject
*OSAObj_OSADebuggerGetStatementRanges(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
816 PyObject
*_res
= NULL
;
818 OSADebugSessionRef inSession
;
819 AEDescList outStatementRangeArray
;
820 #ifndef OSADebuggerGetStatementRanges
821 PyMac_PRECHECK(OSADebuggerGetStatementRanges
);
823 if (!PyArg_ParseTuple(_args
, "l",
826 _err
= OSADebuggerGetStatementRanges(_self
->ob_itself
,
828 &outStatementRangeArray
);
829 if (_err
!= noErr
) return PyMac_Error(_err
);
830 _res
= Py_BuildValue("O&",
831 AEDesc_New
, &outStatementRangeArray
);
835 static PyObject
*OSAObj_OSADebuggerGetBreakpoint(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
837 PyObject
*_res
= NULL
;
839 OSADebugSessionRef inSession
;
842 #ifndef OSADebuggerGetBreakpoint
843 PyMac_PRECHECK(OSADebuggerGetBreakpoint
);
845 if (!PyArg_ParseTuple(_args
, "ll",
849 _err
= OSADebuggerGetBreakpoint(_self
->ob_itself
,
853 if (_err
!= noErr
) return PyMac_Error(_err
);
854 _res
= Py_BuildValue("l",
859 static PyObject
*OSAObj_OSADebuggerSetBreakpoint(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
861 PyObject
*_res
= NULL
;
863 OSADebugSessionRef inSession
;
866 #ifndef OSADebuggerSetBreakpoint
867 PyMac_PRECHECK(OSADebuggerSetBreakpoint
);
869 if (!PyArg_ParseTuple(_args
, "lll",
874 _err
= OSADebuggerSetBreakpoint(_self
->ob_itself
,
878 if (_err
!= noErr
) return PyMac_Error(_err
);
884 static PyObject
*OSAObj_OSADebuggerGetDefaultBreakpoint(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
886 PyObject
*_res
= NULL
;
888 OSADebugSessionRef inSession
;
890 #ifndef OSADebuggerGetDefaultBreakpoint
891 PyMac_PRECHECK(OSADebuggerGetDefaultBreakpoint
);
893 if (!PyArg_ParseTuple(_args
, "l",
896 _err
= OSADebuggerGetDefaultBreakpoint(_self
->ob_itself
,
899 if (_err
!= noErr
) return PyMac_Error(_err
);
900 _res
= Py_BuildValue("l",
905 static PyObject
*OSAObj_OSADebuggerGetCurrentCallFrame(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
907 PyObject
*_res
= NULL
;
909 OSADebugSessionRef inSession
;
910 OSADebugCallFrameRef outCallFrame
;
911 #ifndef OSADebuggerGetCurrentCallFrame
912 PyMac_PRECHECK(OSADebuggerGetCurrentCallFrame
);
914 if (!PyArg_ParseTuple(_args
, "l",
917 _err
= OSADebuggerGetCurrentCallFrame(_self
->ob_itself
,
920 if (_err
!= noErr
) return PyMac_Error(_err
);
921 _res
= Py_BuildValue("l",
926 static PyObject
*OSAObj_OSADebuggerGetCallFrameState(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
928 PyObject
*_res
= NULL
;
930 OSADebugCallFrameRef inCallFrame
;
932 #ifndef OSADebuggerGetCallFrameState
933 PyMac_PRECHECK(OSADebuggerGetCallFrameState
);
935 if (!PyArg_ParseTuple(_args
, "l",
938 _err
= OSADebuggerGetCallFrameState(_self
->ob_itself
,
941 if (_err
!= noErr
) return PyMac_Error(_err
);
942 _res
= Py_BuildValue("O&",
943 AEDesc_New
, &outState
);
947 static PyObject
*OSAObj_OSADebuggerGetVariable(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
949 PyObject
*_res
= NULL
;
951 OSADebugCallFrameRef inCallFrame
;
952 AEDesc inVariableName
;
954 #ifndef OSADebuggerGetVariable
955 PyMac_PRECHECK(OSADebuggerGetVariable
);
957 if (!PyArg_ParseTuple(_args
, "lO&",
959 AEDesc_Convert
, &inVariableName
))
961 _err
= OSADebuggerGetVariable(_self
->ob_itself
,
965 if (_err
!= noErr
) return PyMac_Error(_err
);
966 _res
= Py_BuildValue("l",
971 static PyObject
*OSAObj_OSADebuggerSetVariable(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
973 PyObject
*_res
= NULL
;
975 OSADebugCallFrameRef inCallFrame
;
976 AEDesc inVariableName
;
978 #ifndef OSADebuggerSetVariable
979 PyMac_PRECHECK(OSADebuggerSetVariable
);
981 if (!PyArg_ParseTuple(_args
, "lO&l",
983 AEDesc_Convert
, &inVariableName
,
986 _err
= OSADebuggerSetVariable(_self
->ob_itself
,
990 if (_err
!= noErr
) return PyMac_Error(_err
);
996 static PyObject
*OSAObj_OSADebuggerGetPreviousCallFrame(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
998 PyObject
*_res
= NULL
;
1000 OSADebugCallFrameRef inCurrentFrame
;
1001 OSADebugCallFrameRef outPrevFrame
;
1002 #ifndef OSADebuggerGetPreviousCallFrame
1003 PyMac_PRECHECK(OSADebuggerGetPreviousCallFrame
);
1005 if (!PyArg_ParseTuple(_args
, "l",
1008 _err
= OSADebuggerGetPreviousCallFrame(_self
->ob_itself
,
1011 if (_err
!= noErr
) return PyMac_Error(_err
);
1012 _res
= Py_BuildValue("l",
1017 static PyObject
*OSAObj_OSADebuggerDisposeCallFrame(OSAComponentInstanceObject
*_self
, PyObject
*_args
)
1019 PyObject
*_res
= NULL
;
1021 OSADebugCallFrameRef inCallFrame
;
1022 #ifndef OSADebuggerDisposeCallFrame
1023 PyMac_PRECHECK(OSADebuggerDisposeCallFrame
);
1025 if (!PyArg_ParseTuple(_args
, "l",
1028 _err
= OSADebuggerDisposeCallFrame(_self
->ob_itself
,
1030 if (_err
!= noErr
) return PyMac_Error(_err
);
1036 static PyMethodDef OSAObj_methods
[] = {
1037 {"OSALoad", (PyCFunction
)OSAObj_OSALoad
, 1,
1038 PyDoc_STR("(AEDesc scriptData, long modeFlags) -> (OSAID resultingScriptID)")},
1039 {"OSAStore", (PyCFunction
)OSAObj_OSAStore
, 1,
1040 PyDoc_STR("(OSAID scriptID, DescType desiredType, long modeFlags) -> (AEDesc resultingScriptData)")},
1041 {"OSAExecute", (PyCFunction
)OSAObj_OSAExecute
, 1,
1042 PyDoc_STR("(OSAID compiledScriptID, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")},
1043 {"OSADisplay", (PyCFunction
)OSAObj_OSADisplay
, 1,
1044 PyDoc_STR("(OSAID scriptValueID, DescType desiredType, long modeFlags) -> (AEDesc resultingText)")},
1045 {"OSAScriptError", (PyCFunction
)OSAObj_OSAScriptError
, 1,
1046 PyDoc_STR("(OSType selector, DescType desiredType) -> (AEDesc resultingErrorDescription)")},
1047 {"OSADispose", (PyCFunction
)OSAObj_OSADispose
, 1,
1048 PyDoc_STR("(OSAID scriptID) -> None")},
1049 {"OSASetScriptInfo", (PyCFunction
)OSAObj_OSASetScriptInfo
, 1,
1050 PyDoc_STR("(OSAID scriptID, OSType selector, long value) -> None")},
1051 {"OSAGetScriptInfo", (PyCFunction
)OSAObj_OSAGetScriptInfo
, 1,
1052 PyDoc_STR("(OSAID scriptID, OSType selector) -> (long result)")},
1053 {"OSAScriptingComponentName", (PyCFunction
)OSAObj_OSAScriptingComponentName
, 1,
1054 PyDoc_STR("() -> (AEDesc resultingScriptingComponentName)")},
1055 {"OSACompile", (PyCFunction
)OSAObj_OSACompile
, 1,
1056 PyDoc_STR("(AEDesc sourceData, long modeFlags) -> (OSAID previousAndResultingScriptID)")},
1057 {"OSACopyID", (PyCFunction
)OSAObj_OSACopyID
, 1,
1058 PyDoc_STR("(OSAID fromID) -> (OSAID toID)")},
1059 {"OSAGetSource", (PyCFunction
)OSAObj_OSAGetSource
, 1,
1060 PyDoc_STR("(OSAID scriptID, DescType desiredType) -> (AEDesc resultingSourceData)")},
1061 {"OSACoerceFromDesc", (PyCFunction
)OSAObj_OSACoerceFromDesc
, 1,
1062 PyDoc_STR("(AEDesc scriptData, long modeFlags) -> (OSAID resultingScriptID)")},
1063 {"OSACoerceToDesc", (PyCFunction
)OSAObj_OSACoerceToDesc
, 1,
1064 PyDoc_STR("(OSAID scriptID, DescType desiredType, long modeFlags) -> (AEDesc result)")},
1065 {"OSASetDefaultTarget", (PyCFunction
)OSAObj_OSASetDefaultTarget
, 1,
1066 PyDoc_STR("(AEAddressDesc target) -> None")},
1067 {"OSAStartRecording", (PyCFunction
)OSAObj_OSAStartRecording
, 1,
1068 PyDoc_STR("() -> (OSAID compiledScriptToModifyID)")},
1069 {"OSAStopRecording", (PyCFunction
)OSAObj_OSAStopRecording
, 1,
1070 PyDoc_STR("(OSAID compiledScriptID) -> None")},
1071 {"OSALoadExecute", (PyCFunction
)OSAObj_OSALoadExecute
, 1,
1072 PyDoc_STR("(AEDesc scriptData, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")},
1073 {"OSACompileExecute", (PyCFunction
)OSAObj_OSACompileExecute
, 1,
1074 PyDoc_STR("(AEDesc sourceData, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")},
1075 {"OSADoScript", (PyCFunction
)OSAObj_OSADoScript
, 1,
1076 PyDoc_STR("(AEDesc sourceData, OSAID contextID, DescType desiredType, long modeFlags) -> (AEDesc resultingText)")},
1077 {"OSASetCurrentDialect", (PyCFunction
)OSAObj_OSASetCurrentDialect
, 1,
1078 PyDoc_STR("(short dialectCode) -> None")},
1079 {"OSAGetCurrentDialect", (PyCFunction
)OSAObj_OSAGetCurrentDialect
, 1,
1080 PyDoc_STR("() -> (short resultingDialectCode)")},
1081 {"OSAAvailableDialects", (PyCFunction
)OSAObj_OSAAvailableDialects
, 1,
1082 PyDoc_STR("() -> (AEDesc resultingDialectInfoList)")},
1083 {"OSAGetDialectInfo", (PyCFunction
)OSAObj_OSAGetDialectInfo
, 1,
1084 PyDoc_STR("(short dialectCode, OSType selector) -> (AEDesc resultingDialectInfo)")},
1085 {"OSAAvailableDialectCodeList", (PyCFunction
)OSAObj_OSAAvailableDialectCodeList
, 1,
1086 PyDoc_STR("() -> (AEDesc resultingDialectCodeList)")},
1087 {"OSAExecuteEvent", (PyCFunction
)OSAObj_OSAExecuteEvent
, 1,
1088 PyDoc_STR("(AppleEvent theAppleEvent, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")},
1089 {"OSADoEvent", (PyCFunction
)OSAObj_OSADoEvent
, 1,
1090 PyDoc_STR("(AppleEvent theAppleEvent, OSAID contextID, long modeFlags) -> (AppleEvent reply)")},
1091 {"OSAMakeContext", (PyCFunction
)OSAObj_OSAMakeContext
, 1,
1092 PyDoc_STR("(AEDesc contextName, OSAID parentContext) -> (OSAID resultingContextID)")},
1093 {"OSADebuggerCreateSession", (PyCFunction
)OSAObj_OSADebuggerCreateSession
, 1,
1094 PyDoc_STR("(OSAID inScript, OSAID inContext) -> (OSADebugSessionRef outSession)")},
1095 {"OSADebuggerGetSessionState", (PyCFunction
)OSAObj_OSADebuggerGetSessionState
, 1,
1096 PyDoc_STR("(OSADebugSessionRef inSession) -> (AERecord outState)")},
1097 {"OSADebuggerSessionStep", (PyCFunction
)OSAObj_OSADebuggerSessionStep
, 1,
1098 PyDoc_STR("(OSADebugSessionRef inSession, OSADebugStepKind inKind) -> None")},
1099 {"OSADebuggerDisposeSession", (PyCFunction
)OSAObj_OSADebuggerDisposeSession
, 1,
1100 PyDoc_STR("(OSADebugSessionRef inSession) -> None")},
1101 {"OSADebuggerGetStatementRanges", (PyCFunction
)OSAObj_OSADebuggerGetStatementRanges
, 1,
1102 PyDoc_STR("(OSADebugSessionRef inSession) -> (AEDescList outStatementRangeArray)")},
1103 {"OSADebuggerGetBreakpoint", (PyCFunction
)OSAObj_OSADebuggerGetBreakpoint
, 1,
1104 PyDoc_STR("(OSADebugSessionRef inSession, UInt32 inSrcOffset) -> (OSAID outBreakpoint)")},
1105 {"OSADebuggerSetBreakpoint", (PyCFunction
)OSAObj_OSADebuggerSetBreakpoint
, 1,
1106 PyDoc_STR("(OSADebugSessionRef inSession, UInt32 inSrcOffset, OSAID inBreakpoint) -> None")},
1107 {"OSADebuggerGetDefaultBreakpoint", (PyCFunction
)OSAObj_OSADebuggerGetDefaultBreakpoint
, 1,
1108 PyDoc_STR("(OSADebugSessionRef inSession) -> (OSAID outBreakpoint)")},
1109 {"OSADebuggerGetCurrentCallFrame", (PyCFunction
)OSAObj_OSADebuggerGetCurrentCallFrame
, 1,
1110 PyDoc_STR("(OSADebugSessionRef inSession) -> (OSADebugCallFrameRef outCallFrame)")},
1111 {"OSADebuggerGetCallFrameState", (PyCFunction
)OSAObj_OSADebuggerGetCallFrameState
, 1,
1112 PyDoc_STR("(OSADebugCallFrameRef inCallFrame) -> (AERecord outState)")},
1113 {"OSADebuggerGetVariable", (PyCFunction
)OSAObj_OSADebuggerGetVariable
, 1,
1114 PyDoc_STR("(OSADebugCallFrameRef inCallFrame, AEDesc inVariableName) -> (OSAID outVariable)")},
1115 {"OSADebuggerSetVariable", (PyCFunction
)OSAObj_OSADebuggerSetVariable
, 1,
1116 PyDoc_STR("(OSADebugCallFrameRef inCallFrame, AEDesc inVariableName, OSAID inVariable) -> None")},
1117 {"OSADebuggerGetPreviousCallFrame", (PyCFunction
)OSAObj_OSADebuggerGetPreviousCallFrame
, 1,
1118 PyDoc_STR("(OSADebugCallFrameRef inCurrentFrame) -> (OSADebugCallFrameRef outPrevFrame)")},
1119 {"OSADebuggerDisposeCallFrame", (PyCFunction
)OSAObj_OSADebuggerDisposeCallFrame
, 1,
1120 PyDoc_STR("(OSADebugCallFrameRef inCallFrame) -> None")},
1124 #define OSAObj_getsetlist NULL
1127 #define OSAObj_compare NULL
1129 #define OSAObj_repr NULL
1131 #define OSAObj_hash NULL
1132 #define OSAObj_tp_init 0
1134 #define OSAObj_tp_alloc PyType_GenericAlloc
1136 static PyObject
*OSAObj_tp_new(PyTypeObject
*type
, PyObject
*args
, PyObject
*kwds
)
1139 ComponentInstance itself
;
1140 char *kw
[] = {"itself", 0};
1142 if (!PyArg_ParseTupleAndKeywords(args
, kwds
, "O&", kw
, OSAObj_Convert
, &itself
)) return NULL
;
1143 if ((self
= type
->tp_alloc(type
, 0)) == NULL
) return NULL
;
1144 ((OSAComponentInstanceObject
*)self
)->ob_itself
= itself
;
1148 #define OSAObj_tp_free PyObject_Del
1151 PyTypeObject OSAComponentInstance_Type
= {
1152 PyObject_HEAD_INIT(NULL
)
1154 "_OSA.OSAComponentInstance", /*tp_name*/
1155 sizeof(OSAComponentInstanceObject
), /*tp_basicsize*/
1158 (destructor
) OSAObj_dealloc
, /*tp_dealloc*/
1160 (getattrfunc
)0, /*tp_getattr*/
1161 (setattrfunc
)0, /*tp_setattr*/
1162 (cmpfunc
) OSAObj_compare
, /*tp_compare*/
1163 (reprfunc
) OSAObj_repr
, /*tp_repr*/
1164 (PyNumberMethods
*)0, /* tp_as_number */
1165 (PySequenceMethods
*)0, /* tp_as_sequence */
1166 (PyMappingMethods
*)0, /* tp_as_mapping */
1167 (hashfunc
) OSAObj_hash
, /*tp_hash*/
1170 PyObject_GenericGetAttr
, /*tp_getattro*/
1171 PyObject_GenericSetAttr
, /*tp_setattro */
1173 Py_TPFLAGS_DEFAULT
|Py_TPFLAGS_BASETYPE
, /* tp_flags */
1177 0, /*tp_richcompare*/
1178 0, /*tp_weaklistoffset*/
1181 OSAObj_methods
, /* tp_methods */
1183 OSAObj_getsetlist
, /*tp_getset*/
1188 0, /*tp_dictoffset*/
1189 OSAObj_tp_init
, /* tp_init */
1190 OSAObj_tp_alloc
, /* tp_alloc */
1191 OSAObj_tp_new
, /* tp_new */
1192 OSAObj_tp_free
, /* tp_free */
1195 /* -------------- End object type OSAComponentInstance -------------- */
1198 static PyMethodDef OSA_methods
[] = {
1213 PyMac_INIT_TOOLBOX_OBJECT_NEW(ComponentInstance, OSAObj_New);
1214 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ComponentInstance, OSAObj_Convert);
1218 m
= Py_InitModule("_OSA", OSA_methods
);
1219 d
= PyModule_GetDict(m
);
1220 OSA_Error
= PyMac_GetOSErrException();
1221 if (OSA_Error
== NULL
||
1222 PyDict_SetItemString(d
, "Error", OSA_Error
) != 0)
1224 OSAComponentInstance_Type
.ob_type
= &PyType_Type
;
1225 if (PyType_Ready(&OSAComponentInstance_Type
) < 0) return;
1226 Py_INCREF(&OSAComponentInstance_Type
);
1227 PyModule_AddObject(m
, "OSAComponentInstance", (PyObject
*)&OSAComponentInstance_Type
);
1228 /* Backward-compatible name */
1229 Py_INCREF(&OSAComponentInstance_Type
);
1230 PyModule_AddObject(m
, "OSAComponentInstanceType", (PyObject
*)&OSAComponentInstance_Type
);
1233 /* ======================== End module _OSA ========================= */