static PyObject *AE_GetAppTerminology(PyObject* self, PyObject* args) { #if defined(__LP64__) PyErr_SetString(PyExc_NotImplementedError, "aem.ae.getappterminology isn't available in 64-bit processes."); return NULL; #else static ComponentInstance defaultComponent; FSRef fsRef; FSSpec fss; AEDesc theDesc; Boolean didLaunch; OSAError err; if (!PyArg_ParseTuple(args, "O&", AE_GetFSRef, &fsRef)) return NULL; err = FSGetCatalogInfo(&fsRef, kFSCatInfoNone, NULL, NULL, &fss, NULL); if (err != noErr) return AE_MacOSError(err); if (!defaultComponent) { defaultComponent = OpenDefaultComponent(kOSAComponentType, 'ascr'); err = GetComponentInstanceError(defaultComponent); if (err) return AE_MacOSError(err); } err = OSAGetAppTerminology(defaultComponent, kOSAModeNull, &fss, 0, &didLaunch, &theDesc); if (err) return AE_MacOSError(err); return BuildTerminologyList(&theDesc, typeAETE); #endif }
static PyObject * PyOSA_GetAppTerminology(PyObject* self, PyObject* args) { AEDesc theDesc = {0,0}; FSSpec fss; ComponentInstance defaultComponent = NULL; SInt16 defaultTerminology = 0; Boolean didLaunch = 0; OSAError err; REALLYLONG modeFlags = 0; if (!PyArg_ParseTuple(args, "O&|i", PyMac_GetFSSpec, &fss, &modeFlags)) return NULL; /* ** Note that we have to use the AppleScript component here. Who knows why ** OSAGetAppTerminology should require a scripting component in the ** first place, but it does. Note: doesn't work with the generic scripting ** component, which is unfortunate as the AS component is currently very ** slow (~1 sec?) to load, but we just have to live with this. */ defaultComponent = OpenDefaultComponent (kOSAComponentType, 'ascr'); err = GetComponentInstanceError (defaultComponent); if (err) return PyMac_Error(err); err = OSAGetAppTerminology ( defaultComponent, kOSAModeNull, &fss, defaultTerminology, &didLaunch, &theDesc ); if (err) return PyMac_Error(err); return Py_BuildValue("O&i", AEDesc_New, &theDesc, didLaunch); }
static PyObject * PyOSA_GetSysTerminology(PyObject* self, PyObject* args) { AEDesc theDesc = {0,0}; FSSpec fss; ComponentInstance defaultComponent = NULL; SInt16 defaultTerminology = 0; Boolean didLaunch = 0; OSAError err; long modeFlags = 0; if (!PyArg_ParseTuple(args, "O&|i", PyMac_GetFSSpec, &fss, &modeFlags)) return NULL; defaultComponent = OpenDefaultComponent (kOSAComponentType, 'ascr'); err = GetComponentInstanceError (defaultComponent); if (err) return PyMac_Error(err); err = OSAGetAppTerminology ( defaultComponent, modeFlags, &fss, defaultTerminology, &didLaunch, &theDesc ); if (err) return PyMac_Error(err); return Py_BuildValue("O&i", AEDesc_New, &theDesc, didLaunch); }
int __stdcall QuickTimeComponentVersion(char *type, char *subtype) { OSType real_type, real_subtype; ComponentInstance ci; long version; // If we don't have QuickTime, we can't have any components, either. if (QuickTimeVersion() == 0) return 0; // If our type or subtype is invalid, return 0. if (strlen(type) != 4 || strlen(subtype) != 4) return 0; // Convert our type strings to Macintosh OSType codes. real_type = (type[0] << 24 | type[1] << 16 | type[2] << 8 | type[3]); real_subtype = (subtype[0] << 24 | subtype[1] << 16 | subtype[2] << 8 | subtype[3]); // Open up an instance of our component. ci = OpenDefaultComponent(real_type, real_subtype); if (!ci) return 0; // Get the version of our component. version = GetComponentVersion(ci); if (GetComponentInstanceError(ci) != noErr) return 0; // Close our component instance. if (CloseComponent(ci) != noErr) return 0; return version; }
static PyObject *CmpInstObj_GetComponentInstanceError(ComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; OSErr _err; #ifndef GetComponentInstanceError PyMac_PRECHECK(GetComponentInstanceError); #endif if (!PyArg_ParseTuple(_args, "")) return NULL; _err = GetComponentInstanceError(_self->ob_itself); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; }
static PyObject *AE_GetSysTerminology(PyObject* self, PyObject* args) { OSType componentSubType; ComponentInstance component; AEDesc theDesc; OSAError err; if (!PyArg_ParseTuple(args, "O&", AE_GetOSType, &componentSubType)) return NULL; component = OpenDefaultComponent(kOSAComponentType, componentSubType); err = GetComponentInstanceError(component); if (err) return AE_MacOSError(err); err = OSAGetSysTerminology(component, kOSAModeNull, 0, &theDesc); CloseComponent(component); if (err) return AE_MacOSError(err); return BuildTerminologyList(&theDesc, typeAEUT); }
static PyObject * PyOSA_GetSysTerminology(PyObject* self, PyObject* args) { AEDesc theDesc = {0,0}; ComponentInstance defaultComponent = NULL; SInt16 defaultTerminology = 0; OSAError err; /* Accept any args for sake of backwards compatibility, then ignore them. */ defaultComponent = OpenDefaultComponent (kOSAComponentType, 'ascr'); err = GetComponentInstanceError (defaultComponent); if (err) return PyMac_Error(err); err = OSAGetSysTerminology ( defaultComponent, kOSAModeNull, defaultTerminology, &theDesc ); if (err) return PyMac_Error(err); return Py_BuildValue("O&", AEDesc_New, &theDesc); }