diff options
-rw-r--r-- | Mac/Modules/OSATerminology.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Mac/Modules/OSATerminology.c b/Mac/Modules/OSATerminology.c new file mode 100644 index 0000000..f76f49e --- /dev/null +++ b/Mac/Modules/OSATerminology.c @@ -0,0 +1,70 @@ +#include <Python/Python.h> +#include <Carbon/Carbon.h> +#include <Python/pymactoolbox.h> + +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 |