static void tr_free(void *ptr) { PyObject *m = (PyObject *)ptr; tr_context *tr_ctx = PyModule_GetState(m); tr_context_fini(tr_ctx); return; }
PyMODINIT_FUNC PyInit_PageLauncherHook(void) { pygobject_init(-1, -1, -1); PyObject * m; m = PyModule_Create(&moduledef); if (m == NULL) return NULL; /* create the PageLauncherHook exception */ ((struct module_state*)PyModule_GetState(m))->Error = PyErr_NewException("PageLauncherHook.error", NULL, NULL); Py_INCREF(((struct module_state*)PyModule_GetState(m))->Error); PyModule_AddObject(m, "error", ((struct module_state*)PyModule_GetState(m))->Error); /** init numpy **/ //import_array(); return m; }
PyMODINIT_FUNC PyInit_threering(void) { PyObject *m; md.m_size = tr_context_size(), m = PyModule_Create(&md); tr_ctx = PyModule_GetState(m); tr_context_init(tr_ctx); Py_TYPE(&PyDsoType) = &PyType_Type; if (PyType_Ready(&PyDsoType) < 0) return NULL; /* PJ TODO: add path object */ return m; }
static int PageLauncherHook_clear(PyObject *m) { Py_CLEAR(((struct module_state*)PyModule_GetState(m))->Error); return 0; }
static int PageLauncherHook_traverse(PyObject *m, visitproc visit, void *arg) { Py_VISIT(((struct module_state*)PyModule_GetState(m))->Error); return 0; }