From 86f25fb1d26eabaa8520ffbbbf449733440533b8 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 6 Mar 2003 23:02:04 +0000 Subject: [PATCH] Module to get OSA terminology description through the "official channels", in stead of manually getting the AETE/AEUT resource. Donated by Donovan Preston. This is his original code (but with the filename changed) checked in for reference only. --- Mac/Modules/OSATerminology.c | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Mac/Modules/OSATerminology.c diff --git a/Mac/Modules/OSATerminology.c b/Mac/Modules/OSATerminology.c new file mode 100644 index 0000000000..f76f49ebd7 --- /dev/null +++ b/Mac/Modules/OSATerminology.c @@ -0,0 +1,70 @@ +#include +#include +#include + +PyObject * PyOSA_GetAppTerminology(PyObject* self, PyObject* args) { + AEDesc temp; + FSSpec tempFSSpec; + + ComponentInstance defaultComponent; + ScriptingComponentSelector theType; + SInt16 defaultTerminology; + Boolean didLaunch; + + OSAError err; + + PyObject * returnVal; + + if (!PyArg_ParseTuple(args, "O&", PyMac_GetFSSpec, &tempFSSpec)) return NULL; + + defaultComponent = OpenDefaultComponent (kOSAComponentType, + 'ascr'); +// kOSAGenericScriptingComponentSubtype); + + err = GetComponentInstanceError (defaultComponent); + printf("OpenDefaultComponent: %d\n", err); + err = OSAGetCurrentDialect(defaultComponent, &defaultTerminology); + printf("getcurrentdialect: %d\n", err); + err = OSAGetAppTerminology ( + defaultComponent, + kOSAModeNull, + &tempFSSpec, + defaultTerminology, + &didLaunch, + &temp + ); + +/* err = ASGetAppTerminology ( + defaultComponent, + &tempFSSpec, + defaultTerminology, + &didLaunch, + &temp + );*/ + + printf("getappterminology: %d\n", err); + + returnVal = Py_BuildValue("O&i", + AEDesc_New, &temp, didLaunch); + return returnVal; +} + +/* + * List of methods defined in the module + */ +static struct PyMethodDef PyOSA_methods[] = +{ + {"GetAppTerminology", + (PyCFunction) PyOSA_GetAppTerminology, + METH_VARARGS, + "Get an applications terminology, as an AEDesc object."}, + + {NULL, (PyCFunction) NULL, 0, NULL} +}; + + +void +initPyOSA(void) +{ + Py_InitModule("PyOSA", PyOSA_methods); +} \ No newline at end of file -- 2.50.1