From d2f53eb32409ea9dbf654febc7853badc81a8e4b Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Sat, 26 Jul 2008 14:46:58 +0000 Subject: reviewed by: 2008-07-26 Johan Dahlin reviewed by: * glib/pyglib-python-compat.h: * glib/pyglib.h: Make a few macros public * gobject/Makefile.am: * gobject/gobjectmodule.c (init_gobject): * gobject/pyginterface.c (pyg_interface_init), (pyg_interface_free), (pyg_register_interface), (pyg_register_interface_info), (pyg_lookup_interface_info), (pygobject_interface_register_types): * gobject/pyginterface.h: * gobject/pygobject-private.h: * gobject/pygobject.c: Move GInterface wrapper into its own file svn path=/trunk/; revision=875 --- glib/pyglib.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'glib/pyglib.h') diff --git a/glib/pyglib.h b/glib/pyglib.h index 384b60d..5659e77 100644 --- a/glib/pyglib.h +++ b/glib/pyglib.h @@ -60,6 +60,27 @@ GOptionGroup * pyglib_option_group_transfer_group(PyObject *self); PyEval_RestoreThread(_save); \ } G_STMT_END +#define PYGLIB_MODULE_START(symbol, modname) \ +DL_EXPORT(void) init##symbol(void) \ +{ \ + PyObject *module; \ + module = Py_InitModule(modname, symbol##_functions); +#define PYGLIB_MODULE_END } +#define PYGLIB_DEFINE_TYPE(typename, symbol, csymbol) \ +PyTypeObject symbol = { \ + PyObject_HEAD_INIT(NULL) \ + 0, \ + typename, \ + sizeof(csymbol) \ +}; +#define PYGLIB_REGISTER_TYPE(d, type, name) \ + if (!type.tp_alloc) \ + type.tp_alloc = PyType_GenericAlloc; \ + if (!type.tp_new) \ + type.tp_new = PyType_GenericNew; \ + if (PyType_Ready(&type)) \ + return; \ + PyDict_SetItemString(d, name, (PyObject *)&type); G_END_DECLS -- cgit