/* ========================== Module _OSA =========================== */ #include "Python.h" #include "pymactoolbox.h" /* Macro to test whether a weak-loaded CFM function exists */ #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ PyErr_SetString(PyExc_NotImplementedError, \ "Not available in this shared library/OS version"); \ return NULL; \ }} while(0) #if PY_VERSION_HEX < 0x02040000 PyObject *PyMac_GetOSErrException(void); #endif #include #ifdef USE_TOOLBOX_OBJECT_GLUE extern PyObject *_OSAObj_New(ComponentInstance); extern int _OSAObj_Convert(PyObject *, ComponentInstance *); #define OSAObj_New _OSAObj_New #define OSAObj_Convert _OSAObj_Convert #endif static PyObject *OSA_Error; /* ---------------- Object type OSAComponentInstance ---------------- */ PyTypeObject OSAComponentInstance_Type; #define OSAObj_Check(x) ((x)->ob_type == &OSAComponentInstance_Type || PyObject_TypeCheck((x), &OSAComponentInstance_Type)) typedef struct OSAComponentInstanceObject { PyObject_HEAD ComponentInstance ob_itself; } OSAComponentInstanceObject; PyObject *OSAObj_New(ComponentInstance itself) { OSAComponentInstanceObject *it; if (itself == NULL) { PyErr_SetString(OSA_Error,"NULL ComponentInstance"); return NULL; } it = PyObject_NEW(OSAComponentInstanceObject, &OSAComponentInstance_Type); if (it == NULL) return NULL; it->ob_itself = itself; return (PyObject *)it; } int OSAObj_Convert(PyObject *v, ComponentInstance *p_itself) { if (CmpInstObj_Convert(v, p_itself)) return 1; PyErr_Clear(); if (!OSAObj_Check(v)) { PyErr_SetString(PyExc_TypeError, "OSAComponentInstance required"); return 0; } *p_itself = ((OSAComponentInstanceObject *)v)->ob_itself; return 1; } static void OSAObj_dealloc(OSAComponentInstanceObject *self) { /* Cleanup of self->ob_itself goes here */ self->ob_type->tp_free((PyObject *)self); } static PyObject *OSAObj_OSALoad(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc scriptData; long modeFlags; OSAID resultingScriptID; #ifndef OSALoad PyMac_PRECHECK(OSALoad); #endif if (!PyArg_ParseTuple(_args, "O&l", AEDesc_Convert, &scriptData, &modeFlags)) return NULL; _err = OSALoad(_self->ob_itself, &scriptData, modeFlags, &resultingScriptID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptID); return _res; } static PyObject *OSAObj_OSAStore(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; DescType desiredType; long modeFlags; AEDesc resultingScriptData; #ifndef OSAStore PyMac_PRECHECK(OSAStore); #endif if (!PyArg_ParseTuple(_args, "lO&l", &scriptID, PyMac_GetOSType, &desiredType, &modeFlags)) return NULL; _err = OSAStore(_self->ob_itself, scriptID, desiredType, modeFlags, &resultingScriptData); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingScriptData); return _res; } static PyObject *OSAObj_OSAExecute(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID compiledScriptID; OSAID contextID; long modeFlags; OSAID resultingScriptValueID; #ifndef OSAExecute PyMac_PRECHECK(OSAExecute); #endif if (!PyArg_ParseTuple(_args, "lll", &compiledScriptID, &contextID, &modeFlags)) return NULL; _err = OSAExecute(_self->ob_itself, compiledScriptID, contextID, modeFlags, &resultingScriptValueID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptValueID); return _res; } static PyObject *OSAObj_OSADisplay(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptValueID; DescType desiredType; long modeFlags; AEDesc resultingText; #ifndef OSADisplay PyMac_PRECHECK(OSADisplay); #endif if (!PyArg_ParseTuple(_args, "lO&l", &scriptValueID, PyMac_GetOSType, &desiredType, &modeFlags)) return NULL; _err = OSADisplay(_self->ob_itself, scriptValueID, desiredType, modeFlags, &resultingText); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingText); return _res; } static PyObject *OSAObj_OSAScriptError(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSType selector; DescType desiredType; AEDesc resultingErrorDescription; #ifndef OSAScriptError PyMac_PRECHECK(OSAScriptError); #endif if (!PyArg_ParseTuple(_args, "O&O&", PyMac_GetOSType, &selector, PyMac_GetOSType, &desiredType)) return NULL; _err = OSAScriptError(_self->ob_itself, selector, desiredType, &resultingErrorDescription); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingErrorDescription); return _res; } static PyObject *OSAObj_OSADispose(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; #ifndef OSADispose PyMac_PRECHECK(OSADispose); #endif if (!PyArg_ParseTuple(_args, "l", &scriptID)) return NULL; _err = OSADispose(_self->ob_itself, scriptID); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSASetScriptInfo(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; OSType selector; long value; #ifndef OSASetScriptInfo PyMac_PRECHECK(OSASetScriptInfo); #endif if (!PyArg_ParseTuple(_args, "lO&l", &scriptID, PyMac_GetOSType, &selector, &value)) return NULL; _err = OSASetScriptInfo(_self->ob_itself, scriptID, selector, value); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSAGetScriptInfo(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; OSType selector; long result; #ifndef OSAGetScriptInfo PyMac_PRECHECK(OSAGetScriptInfo); #endif if (!PyArg_ParseTuple(_args, "lO&", &scriptID, PyMac_GetOSType, &selector)) return NULL; _err = OSAGetScriptInfo(_self->ob_itself, scriptID, selector, &result); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", result); return _res; } static PyObject *OSAObj_OSAScriptingComponentName(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc resultingScriptingComponentName; #ifndef OSAScriptingComponentName PyMac_PRECHECK(OSAScriptingComponentName); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = OSAScriptingComponentName(_self->ob_itself, &resultingScriptingComponentName); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingScriptingComponentName); return _res; } static PyObject *OSAObj_OSACompile(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc sourceData; long modeFlags; OSAID previousAndResultingScriptID; #ifndef OSACompile PyMac_PRECHECK(OSACompile); #endif if (!PyArg_ParseTuple(_args, "O&l", AEDesc_Convert, &sourceData, &modeFlags)) return NULL; _err = OSACompile(_self->ob_itself, &sourceData, modeFlags, &previousAndResultingScriptID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", previousAndResultingScriptID); return _res; } static PyObject *OSAObj_OSACopyID(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID fromID; OSAID toID; #ifndef OSACopyID PyMac_PRECHECK(OSACopyID); #endif if (!PyArg_ParseTuple(_args, "l", &fromID)) return NULL; _err = OSACopyID(_self->ob_itself, fromID, &toID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", toID); return _res; } static PyObject *OSAObj_OSAGetSource(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; DescType desiredType; AEDesc resultingSourceData; #ifndef OSAGetSource PyMac_PRECHECK(OSAGetSource); #endif if (!PyArg_ParseTuple(_args, "lO&", &scriptID, PyMac_GetOSType, &desiredType)) return NULL; _err = OSAGetSource(_self->ob_itself, scriptID, desiredType, &resultingSourceData); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingSourceData); return _res; } static PyObject *OSAObj_OSACoerceFromDesc(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc scriptData; long modeFlags; OSAID resultingScriptID; #ifndef OSACoerceFromDesc PyMac_PRECHECK(OSACoerceFromDesc); #endif if (!PyArg_ParseTuple(_args, "O&l", AEDesc_Convert, &scriptData, &modeFlags)) return NULL; _err = OSACoerceFromDesc(_self->ob_itself, &scriptData, modeFlags, &resultingScriptID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptID); return _res; } static PyObject *OSAObj_OSACoerceToDesc(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID scriptID; DescType desiredType; long modeFlags; AEDesc result; #ifndef OSACoerceToDesc PyMac_PRECHECK(OSACoerceToDesc); #endif if (!PyArg_ParseTuple(_args, "lO&l", &scriptID, PyMac_GetOSType, &desiredType, &modeFlags)) return NULL; _err = OSACoerceToDesc(_self->ob_itself, scriptID, desiredType, modeFlags, &result); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &result); return _res; } static PyObject *OSAObj_OSASetDefaultTarget(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEAddressDesc target; #ifndef OSASetDefaultTarget PyMac_PRECHECK(OSASetDefaultTarget); #endif if (!PyArg_ParseTuple(_args, "O&", AEDesc_Convert, &target)) return NULL; _err = OSASetDefaultTarget(_self->ob_itself, &target); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSAStartRecording(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID compiledScriptToModifyID; #ifndef OSAStartRecording PyMac_PRECHECK(OSAStartRecording); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = OSAStartRecording(_self->ob_itself, &compiledScriptToModifyID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", compiledScriptToModifyID); return _res; } static PyObject *OSAObj_OSAStopRecording(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID compiledScriptID; #ifndef OSAStopRecording PyMac_PRECHECK(OSAStopRecording); #endif if (!PyArg_ParseTuple(_args, "l", &compiledScriptID)) return NULL; _err = OSAStopRecording(_self->ob_itself, compiledScriptID); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSALoadExecute(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc scriptData; OSAID contextID; long modeFlags; OSAID resultingScriptValueID; #ifndef OSALoadExecute PyMac_PRECHECK(OSALoadExecute); #endif if (!PyArg_ParseTuple(_args, "O&ll", AEDesc_Convert, &scriptData, &contextID, &modeFlags)) return NULL; _err = OSALoadExecute(_self->ob_itself, &scriptData, contextID, modeFlags, &resultingScriptValueID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptValueID); return _res; } static PyObject *OSAObj_OSACompileExecute(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc sourceData; OSAID contextID; long modeFlags; OSAID resultingScriptValueID; #ifndef OSACompileExecute PyMac_PRECHECK(OSACompileExecute); #endif if (!PyArg_ParseTuple(_args, "O&ll", AEDesc_Convert, &sourceData, &contextID, &modeFlags)) return NULL; _err = OSACompileExecute(_self->ob_itself, &sourceData, contextID, modeFlags, &resultingScriptValueID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptValueID); return _res; } static PyObject *OSAObj_OSADoScript(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc sourceData; OSAID contextID; DescType desiredType; long modeFlags; AEDesc resultingText; #ifndef OSADoScript PyMac_PRECHECK(OSADoScript); #endif if (!PyArg_ParseTuple(_args, "O&lO&l", AEDesc_Convert, &sourceData, &contextID, PyMac_GetOSType, &desiredType, &modeFlags)) return NULL; _err = OSADoScript(_self->ob_itself, &sourceData, contextID, desiredType, modeFlags, &resultingText); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingText); return _res; } static PyObject *OSAObj_OSASetCurrentDialect(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; short dialectCode; #ifndef OSASetCurrentDialect PyMac_PRECHECK(OSASetCurrentDialect); #endif if (!PyArg_ParseTuple(_args, "h", &dialectCode)) return NULL; _err = OSASetCurrentDialect(_self->ob_itself, dialectCode); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSAGetCurrentDialect(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; short resultingDialectCode; #ifndef OSAGetCurrentDialect PyMac_PRECHECK(OSAGetCurrentDialect); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = OSAGetCurrentDialect(_self->ob_itself, &resultingDialectCode); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("h", resultingDialectCode); return _res; } static PyObject *OSAObj_OSAAvailableDialects(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc resultingDialectInfoList; #ifndef OSAAvailableDialects PyMac_PRECHECK(OSAAvailableDialects); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = OSAAvailableDialects(_self->ob_itself, &resultingDialectInfoList); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingDialectInfoList); return _res; } static PyObject *OSAObj_OSAGetDialectInfo(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; short dialectCode; OSType selector; AEDesc resultingDialectInfo; #ifndef OSAGetDialectInfo PyMac_PRECHECK(OSAGetDialectInfo); #endif if (!PyArg_ParseTuple(_args, "hO&", &dialectCode, PyMac_GetOSType, &selector)) return NULL; _err = OSAGetDialectInfo(_self->ob_itself, dialectCode, selector, &resultingDialectInfo); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingDialectInfo); return _res; } static PyObject *OSAObj_OSAAvailableDialectCodeList(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc resultingDialectCodeList; #ifndef OSAAvailableDialectCodeList PyMac_PRECHECK(OSAAvailableDialectCodeList); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = OSAAvailableDialectCodeList(_self->ob_itself, &resultingDialectCodeList); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &resultingDialectCodeList); return _res; } static PyObject *OSAObj_OSAExecuteEvent(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AppleEvent theAppleEvent; OSAID contextID; long modeFlags; OSAID resultingScriptValueID; #ifndef OSAExecuteEvent PyMac_PRECHECK(OSAExecuteEvent); #endif if (!PyArg_ParseTuple(_args, "O&ll", AEDesc_Convert, &theAppleEvent, &contextID, &modeFlags)) return NULL; _err = OSAExecuteEvent(_self->ob_itself, &theAppleEvent, contextID, modeFlags, &resultingScriptValueID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingScriptValueID); return _res; } static PyObject *OSAObj_OSADoEvent(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AppleEvent theAppleEvent; OSAID contextID; long modeFlags; AppleEvent reply; #ifndef OSADoEvent PyMac_PRECHECK(OSADoEvent); #endif if (!PyArg_ParseTuple(_args, "O&ll", AEDesc_Convert, &theAppleEvent, &contextID, &modeFlags)) return NULL; _err = OSADoEvent(_self->ob_itself, &theAppleEvent, contextID, modeFlags, &reply); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &reply); return _res; } static PyObject *OSAObj_OSAMakeContext(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; AEDesc contextName; OSAID parentContext; OSAID resultingContextID; #ifndef OSAMakeContext PyMac_PRECHECK(OSAMakeContext); #endif if (!PyArg_ParseTuple(_args, "O&l", AEDesc_Convert, &contextName, &parentContext)) return NULL; _err = OSAMakeContext(_self->ob_itself, &contextName, parentContext, &resultingContextID); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", resultingContextID); return _res; } static PyObject *OSAObj_OSADebuggerCreateSession(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSAID inScript; OSAID inContext; OSADebugSessionRef outSession; #ifndef OSADebuggerCreateSession PyMac_PRECHECK(OSADebuggerCreateSession); #endif if (!PyArg_ParseTuple(_args, "ll", &inScript, &inContext)) return NULL; _err = OSADebuggerCreateSession(_self->ob_itself, inScript, inContext, &outSession); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outSession); return _res; } static PyObject *OSAObj_OSADebuggerGetSessionState(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; AERecord outState; #ifndef OSADebuggerGetSessionState PyMac_PRECHECK(OSADebuggerGetSessionState); #endif if (!PyArg_ParseTuple(_args, "l", &inSession)) return NULL; _err = OSADebuggerGetSessionState(_self->ob_itself, inSession, &outState); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &outState); return _res; } static PyObject *OSAObj_OSADebuggerSessionStep(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; OSADebugStepKind inKind; #ifndef OSADebuggerSessionStep PyMac_PRECHECK(OSADebuggerSessionStep); #endif if (!PyArg_ParseTuple(_args, "ll", &inSession, &inKind)) return NULL; _err = OSADebuggerSessionStep(_self->ob_itself, inSession, inKind); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSADebuggerDisposeSession(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; #ifndef OSADebuggerDisposeSession PyMac_PRECHECK(OSADebuggerDisposeSession); #endif if (!PyArg_ParseTuple(_args, "l", &inSession)) return NULL; _err = OSADebuggerDisposeSession(_self->ob_itself, inSession); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSADebuggerGetStatementRanges(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; AEDescList outStatementRangeArray; #ifndef OSADebuggerGetStatementRanges PyMac_PRECHECK(OSADebuggerGetStatementRanges); #endif if (!PyArg_ParseTuple(_args, "l", &inSession)) return NULL; _err = OSADebuggerGetStatementRanges(_self->ob_itself, inSession, &outStatementRangeArray); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &outStatementRangeArray); return _res; } static PyObject *OSAObj_OSADebuggerGetBreakpoint(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; UInt32 inSrcOffset; OSAID outBreakpoint; #ifndef OSADebuggerGetBreakpoint PyMac_PRECHECK(OSADebuggerGetBreakpoint); #endif if (!PyArg_ParseTuple(_args, "ll", &inSession, &inSrcOffset)) return NULL; _err = OSADebuggerGetBreakpoint(_self->ob_itself, inSession, inSrcOffset, &outBreakpoint); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outBreakpoint); return _res; } static PyObject *OSAObj_OSADebuggerSetBreakpoint(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; UInt32 inSrcOffset; OSAID inBreakpoint; #ifndef OSADebuggerSetBreakpoint PyMac_PRECHECK(OSADebuggerSetBreakpoint); #endif if (!PyArg_ParseTuple(_args, "lll", &inSession, &inSrcOffset, &inBreakpoint)) return NULL; _err = OSADebuggerSetBreakpoint(_self->ob_itself, inSession, inSrcOffset, inBreakpoint); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSADebuggerGetDefaultBreakpoint(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; OSAID outBreakpoint; #ifndef OSADebuggerGetDefaultBreakpoint PyMac_PRECHECK(OSADebuggerGetDefaultBreakpoint); #endif if (!PyArg_ParseTuple(_args, "l", &inSession)) return NULL; _err = OSADebuggerGetDefaultBreakpoint(_self->ob_itself, inSession, &outBreakpoint); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outBreakpoint); return _res; } static PyObject *OSAObj_OSADebuggerGetCurrentCallFrame(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugSessionRef inSession; OSADebugCallFrameRef outCallFrame; #ifndef OSADebuggerGetCurrentCallFrame PyMac_PRECHECK(OSADebuggerGetCurrentCallFrame); #endif if (!PyArg_ParseTuple(_args, "l", &inSession)) return NULL; _err = OSADebuggerGetCurrentCallFrame(_self->ob_itself, inSession, &outCallFrame); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outCallFrame); return _res; } static PyObject *OSAObj_OSADebuggerGetCallFrameState(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugCallFrameRef inCallFrame; AERecord outState; #ifndef OSADebuggerGetCallFrameState PyMac_PRECHECK(OSADebuggerGetCallFrameState); #endif if (!PyArg_ParseTuple(_args, "l", &inCallFrame)) return NULL; _err = OSADebuggerGetCallFrameState(_self->ob_itself, inCallFrame, &outState); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("O&", AEDesc_New, &outState); return _res; } static PyObject *OSAObj_OSADebuggerGetVariable(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugCallFrameRef inCallFrame; AEDesc inVariableName; OSAID outVariable; #ifndef OSADebuggerGetVariable PyMac_PRECHECK(OSADebuggerGetVariable); #endif if (!PyArg_ParseTuple(_args, "lO&", &inCallFrame, AEDesc_Convert, &inVariableName)) return NULL; _err = OSADebuggerGetVariable(_self->ob_itself, inCallFrame, &inVariableName, &outVariable); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outVariable); return _res; } static PyObject *OSAObj_OSADebuggerSetVariable(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugCallFrameRef inCallFrame; AEDesc inVariableName; OSAID inVariable; #ifndef OSADebuggerSetVariable PyMac_PRECHECK(OSADebuggerSetVariable); #endif if (!PyArg_ParseTuple(_args, "lO&l", &inCallFrame, AEDesc_Convert, &inVariableName, &inVariable)) return NULL; _err = OSADebuggerSetVariable(_self->ob_itself, inCallFrame, &inVariableName, inVariable); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyObject *OSAObj_OSADebuggerGetPreviousCallFrame(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugCallFrameRef inCurrentFrame; OSADebugCallFrameRef outPrevFrame; #ifndef OSADebuggerGetPreviousCallFrame PyMac_PRECHECK(OSADebuggerGetPreviousCallFrame); #endif if (!PyArg_ParseTuple(_args, "l", &inCurrentFrame)) return NULL; _err = OSADebuggerGetPreviousCallFrame(_self->ob_itself, inCurrentFrame, &outPrevFrame); if (_err != noErr) return PyMac_Error(_err); _res = Py_BuildValue("l", outPrevFrame); return _res; } static PyObject *OSAObj_OSADebuggerDisposeCallFrame(OSAComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSAError _err; OSADebugCallFrameRef inCallFrame; #ifndef OSADebuggerDisposeCallFrame PyMac_PRECHECK(OSADebuggerDisposeCallFrame); #endif if (!PyArg_ParseTuple(_args, "l", &inCallFrame)) return NULL; _err = OSADebuggerDisposeCallFrame(_self->ob_itself, inCallFrame); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; } static PyMethodDef OSAObj_methods[] = { {"OSALoad", (PyCFunction)OSAObj_OSALoad, 1, PyDoc_STR("(AEDesc scriptData, long modeFlags) -> (OSAID resultingScriptID)")}, {"OSAStore", (PyCFunction)OSAObj_OSAStore, 1, PyDoc_STR("(OSAID scriptID, DescType desiredType, long modeFlags) -> (AEDesc resultingScriptData)")}, {"OSAExecute", (PyCFunction)OSAObj_OSAExecute, 1, PyDoc_STR("(OSAID compiledScriptID, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")}, {"OSADisplay", (PyCFunction)OSAObj_OSADisplay, 1, PyDoc_STR("(OSAID scriptValueID, DescType desiredType, long modeFlags) -> (AEDesc resultingText)")}, {"OSAScriptError", (PyCFunction)OSAObj_OSAScriptError, 1, PyDoc_STR("(OSType selector, DescType desiredType) -> (AEDesc resultingErrorDescription)")}, {"OSADispose", (PyCFunction)OSAObj_OSADispose, 1, PyDoc_STR("(OSAID scriptID) -> None")}, {"OSASetScriptInfo", (PyCFunction)OSAObj_OSASetScriptInfo, 1, PyDoc_STR("(OSAID scriptID, OSType selector, long value) -> None")}, {"OSAGetScriptInfo", (PyCFunction)OSAObj_OSAGetScriptInfo, 1, PyDoc_STR("(OSAID scriptID, OSType selector) -> (long result)")}, {"OSAScriptingComponentName", (PyCFunction)OSAObj_OSAScriptingComponentName, 1, PyDoc_STR("() -> (AEDesc resultingScriptingComponentName)")}, {"OSACompile", (PyCFunction)OSAObj_OSACompile, 1, PyDoc_STR("(AEDesc sourceData, long modeFlags) -> (OSAID previousAndResultingScriptID)")}, {"OSACopyID", (PyCFunction)OSAObj_OSACopyID, 1, PyDoc_STR("(OSAID fromID) -> (OSAID toID)")}, {"OSAGetSource", (PyCFunction)OSAObj_OSAGetSource, 1, PyDoc_STR("(OSAID scriptID, DescType desiredType) -> (AEDesc resultingSourceData)")}, {"OSACoerceFromDesc", (PyCFunction)OSAObj_OSACoerceFromDesc, 1, PyDoc_STR("(AEDesc scriptData, long modeFlags) -> (OSAID resultingScriptID)")}, {"OSACoerceToDesc", (PyCFunction)OSAObj_OSACoerceToDesc, 1, PyDoc_STR("(OSAID scriptID, DescType desiredType, long modeFlags) -> (AEDesc result)")}, {"OSASetDefaultTarget", (PyCFunction)OSAObj_OSASetDefaultTarget, 1, PyDoc_STR("(AEAddressDesc target) -> None")}, {"OSAStartRecording", (PyCFunction)OSAObj_OSAStartRecording, 1, PyDoc_STR("() -> (OSAID compiledScriptToModifyID)")}, {"OSAStopRecording", (PyCFunction)OSAObj_OSAStopRecording, 1, PyDoc_STR("(OSAID compiledScriptID) -> None")}, {"OSALoadExecute", (PyCFunction)OSAObj_OSALoadExecute, 1, PyDoc_STR("(AEDesc scriptData, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")}, {"OSACompileExecute", (PyCFunction)OSAObj_OSACompileExecute, 1, PyDoc_STR("(AEDesc sourceData, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")}, {"OSADoScript", (PyCFunction)OSAObj_OSADoScript, 1, PyDoc_STR("(AEDesc sourceData, OSAID contextID, DescType desiredType, long modeFlags) -> (AEDesc resultingText)")}, {"OSASetCurrentDialect", (PyCFunction)OSAObj_OSASetCurrentDialect, 1, PyDoc_STR("(short dialectCode) -> None")}, {"OSAGetCurrentDialect", (PyCFunction)OSAObj_OSAGetCurrentDialect, 1, PyDoc_STR("() -> (short resultingDialectCode)")}, {"OSAAvailableDialects", (PyCFunction)OSAObj_OSAAvailableDialects, 1, PyDoc_STR("() -> (AEDesc resultingDialectInfoList)")}, {"OSAGetDialectInfo", (PyCFunction)OSAObj_OSAGetDialectInfo, 1, PyDoc_STR("(short dialectCode, OSType selector) -> (AEDesc resultingDialectInfo)")}, {"OSAAvailableDialectCodeList", (PyCFunction)OSAObj_OSAAvailableDialectCodeList, 1, PyDoc_STR("() -> (AEDesc resultingDialectCodeList)")}, {"OSAExecuteEvent", (PyCFunction)OSAObj_OSAExecuteEvent, 1, PyDoc_STR("(AppleEvent theAppleEvent, OSAID contextID, long modeFlags) -> (OSAID resultingScriptValueID)")}, {"OSADoEvent", (PyCFunction)OSAObj_OSADoEvent, 1, PyDoc_STR("(AppleEvent theAppleEvent, OSAID contextID, long modeFlags) -> (AppleEvent reply)")}, {"OSAMakeContext", (PyCFunction)OSAObj_OSAMakeContext, 1, PyDoc_STR("(AEDesc contextName, OSAID parentContext) -> (OSAID resultingContextID)")}, {"OSADebuggerCreateSession", (PyCFunction)OSAObj_OSADebuggerCreateSession, 1, PyDoc_STR("(OSAID inScript, OSAID inContext) -> (OSADebugSessionRef outSession)")}, {"OSADebuggerGetSessionState", (PyCFunction)OSAObj_OSADebuggerGetSessionState, 1, PyDoc_STR("(OSADebugSessionRef inSession) -> (AERecord outState)")}, {"OSADebuggerSessionStep", (PyCFunction)OSAObj_OSADebuggerSessionStep, 1, PyDoc_STR("(OSADebugSessionRef inSession, OSADebugStepKind inKind) -> None")}, {"OSADebuggerDisposeSession", (PyCFunction)OSAObj_OSADebuggerDisposeSession, 1, PyDoc_STR("(OSADebugSessionRef inSession) -> None")}, {"OSADebuggerGetStatementRanges", (PyCFunction)OSAObj_OSADebuggerGetStatementRanges, 1, PyDoc_STR("(OSADebugSessionRef inSession) -> (AEDescList outStatementRangeArray)")}, {"OSADebuggerGetBreakpoint", (PyCFunction)OSAObj_OSADebuggerGetBreakpoint, 1, PyDoc_STR("(OSADebugSessionRef inSession, UInt32 inSrcOffset) -> (OSAID outBreakpoint)")}, {"OSADebuggerSetBreakpoint", (PyCFunction)OSAObj_OSADebuggerSetBreakpoint, 1, PyDoc_STR("(OSADebugSessionRef inSession, UInt32 inSrcOffset, OSAID inBreakpoint) -> None")}, {"OSADebuggerGetDefaultBreakpoint", (PyCFunction)OSAObj_OSADebuggerGetDefaultBreakpoint, 1, PyDoc_STR("(OSADebugSessionRef inSession) -> (OSAID outBreakpoint)")}, {"OSADebuggerGetCurrentCallFrame", (PyCFunction)OSAObj_OSADebuggerGetCurrentCallFrame, 1, PyDoc_STR("(OSADebugSessionRef inSession) -> (OSADebugCallFrameRef outCallFrame)")}, {"OSADebuggerGetCallFrameState", (PyCFunction)OSAObj_OSADebuggerGetCallFrameState, 1, PyDoc_STR("(OSADebugCallFrameRef inCallFrame) -> (AERecord outState)")}, {"OSADebuggerGetVariable", (PyCFunction)OSAObj_OSADebuggerGetVariable, 1, PyDoc_STR("(OSADebugCallFrameRef inCallFrame, AEDesc inVariableName) -> (OSAID outVariable)")}, {"OSADebuggerSetVariable", (PyCFunction)OSAObj_OSADebuggerSetVariable, 1, PyDoc_STR("(OSADebugCallFrameRef inCallFrame, AEDesc inVariableName, OSAID inVariable) -> None")}, {"OSADebuggerGetPreviousCallFrame", (PyCFunction)OSAObj_OSADebuggerGetPreviousCallFrame, 1, PyDoc_STR("(OSADebugCallFrameRef inCurrentFrame) -> (OSADebugCallFrameRef outPrevFrame)")}, {"OSADebuggerDisposeCallFrame", (PyCFunction)OSAObj_OSADebuggerDisposeCallFrame, 1, PyDoc_STR("(OSADebugCallFrameRef inCallFrame) -> None")}, {NULL, NULL, 0} }; #define OSAObj_getsetlist NULL #define OSAObj_compare NULL #define OSAObj_repr NULL #define OSAObj_hash NULL #define OSAObj_tp_init 0 #define OSAObj_tp_alloc PyType_GenericAlloc static PyObject *OSAObj_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { PyObject *self; ComponentInstance itself; char *kw[] = {"itself", 0}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "O&", kw, OSAObj_Convert, &itself)) return NULL; if ((self = type->tp_alloc(type, 0)) == NULL) return NULL; ((OSAComponentInstanceObject *)self)->ob_itself = itself; return self; } #define OSAObj_tp_free PyObject_Del PyTypeObject OSAComponentInstance_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "_OSA.OSAComponentInstance", /*tp_name*/ sizeof(OSAComponentInstanceObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ /* methods */ (destructor) OSAObj_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ (getattrfunc)0, /*tp_getattr*/ (setattrfunc)0, /*tp_setattr*/ (cmpfunc) OSAObj_compare, /*tp_compare*/ (reprfunc) OSAObj_repr, /*tp_repr*/ (PyNumberMethods *)0, /* tp_as_number */ (PySequenceMethods *)0, /* tp_as_sequence */ (PyMappingMethods *)0, /* tp_as_mapping */ (hashfunc) OSAObj_hash, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ PyObject_GenericGetAttr, /*tp_getattro*/ PyObject_GenericSetAttr, /*tp_setattro */ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ OSAObj_methods, /* tp_methods */ 0, /*tp_members*/ OSAObj_getsetlist, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ OSAObj_tp_init, /* tp_init */ OSAObj_tp_alloc, /* tp_alloc */ OSAObj_tp_new, /* tp_new */ OSAObj_tp_free, /* tp_free */ }; /* -------------- End object type OSAComponentInstance -------------- */ static PyMethodDef OSA_methods[] = { {NULL, NULL, 0} }; void init_OSA(void) { PyObject *m; PyObject *d; /* PyMac_INIT_TOOLBOX_OBJECT_NEW(ComponentInstance, OSAObj_New); PyMac_INIT_TOOLBOX_OBJECT_CONVERT(ComponentInstance, OSAObj_Convert); */ m = Py_InitModule("_OSA", OSA_methods); d = PyModule_GetDict(m); OSA_Error = PyMac_GetOSErrException(); if (OSA_Error == NULL || PyDict_SetItemString(d, "Error", OSA_Error) != 0) return; OSAComponentInstance_Type.ob_type = &PyType_Type; if (PyType_Ready(&OSAComponentInstance_Type) < 0) return; Py_INCREF(&OSAComponentInstance_Type); PyModule_AddObject(m, "OSAComponentInstance", (PyObject *)&OSAComponentInstance_Type); /* Backward-compatible name */ Py_INCREF(&OSAComponentInstance_Type); PyModule_AddObject(m, "OSAComponentInstanceType", (PyObject *)&OSAComponentInstance_Type); } /* ======================== End module _OSA ========================= */