diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/ah/_AHmodule.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Mac/Modules/ah/_AHmodule.c Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,144 @@ + +/* =========================== Module _AH =========================== */ + +#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) + + +#include + + +static PyObject *Ah_Error; + +static PyObject *Ah_AHSearch(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + CFStringRef bookname; + CFStringRef query; + if (!PyArg_ParseTuple(_args, "O&O&", + CFStringRefObj_Convert, &bookname, + CFStringRefObj_Convert, &query)) + return NULL; + _err = AHSearch(bookname, + query); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Ah_AHGotoMainTOC(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + AHTOCType toctype; + if (!PyArg_ParseTuple(_args, "h", + &toctype)) + return NULL; + _err = AHGotoMainTOC(toctype); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Ah_AHGotoPage(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + CFStringRef bookname; + CFStringRef path; + CFStringRef anchor; + if (!PyArg_ParseTuple(_args, "O&O&O&", + CFStringRefObj_Convert, &bookname, + CFStringRefObj_Convert, &path, + CFStringRefObj_Convert, &anchor)) + return NULL; + _err = AHGotoPage(bookname, + path, + anchor); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Ah_AHLookupAnchor(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + CFStringRef bookname; + CFStringRef anchor; + if (!PyArg_ParseTuple(_args, "O&O&", + CFStringRefObj_Convert, &bookname, + CFStringRefObj_Convert, &anchor)) + return NULL; + _err = AHLookupAnchor(bookname, + anchor); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyObject *Ah_AHRegisterHelpBook(PyObject *_self, PyObject *_args) +{ + PyObject *_res = NULL; + OSStatus _err; + FSRef appBundleRef; + if (!PyArg_ParseTuple(_args, "O&", + PyMac_GetFSRef, &appBundleRef)) + return NULL; + _err = AHRegisterHelpBook(&appBundleRef); + if (_err != noErr) return PyMac_Error(_err); + Py_INCREF(Py_None); + _res = Py_None; + return _res; +} + +static PyMethodDef Ah_methods[] = { + {"AHSearch", (PyCFunction)Ah_AHSearch, 1, + PyDoc_STR("(CFStringRef bookname, CFStringRef query) -> None")}, + {"AHGotoMainTOC", (PyCFunction)Ah_AHGotoMainTOC, 1, + PyDoc_STR("(AHTOCType toctype) -> None")}, + {"AHGotoPage", (PyCFunction)Ah_AHGotoPage, 1, + PyDoc_STR("(CFStringRef bookname, CFStringRef path, CFStringRef anchor) -> None")}, + {"AHLookupAnchor", (PyCFunction)Ah_AHLookupAnchor, 1, + PyDoc_STR("(CFStringRef bookname, CFStringRef anchor) -> None")}, + {"AHRegisterHelpBook", (PyCFunction)Ah_AHRegisterHelpBook, 1, + PyDoc_STR("(FSRef appBundleRef) -> None")}, + {NULL, NULL, 0} +}; + + + + +void init_AH(void) +{ + PyObject *m; + PyObject *d; + + + + + m = Py_InitModule("_AH", Ah_methods); + d = PyModule_GetDict(m); + Ah_Error = PyMac_GetOSErrException(); + if (Ah_Error == NULL || + PyDict_SetItemString(d, "Error", Ah_Error) != 0) + return; +} + +/* ========================= End module _AH ========================= */ +