1 /* -*- Mode: C; c-basic-offset: 4 -*- 2 * pyglib - Python bindings for GLib toolkit. 3 * Copyright (C) 1998-2003 James Henstridge 4 * 2004-2008 Johan Dahlin 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 19 * USA 20 */ 21 22 #ifndef __PYGLIB_PRIVATE_H__ 23 #define __PYGLIB_PRIVATE_H__ 24 25 #include <Python.h> 26 #include <glib.h> 27 28 #include <pyglib-python-compat.h> 29 30 G_BEGIN_DECLS 31 32 struct _PyGLib_Functions { 33 gboolean threads_enabled; 34 PyObject *gerror_exception; 35 PyGLibThreadBlockFunc block_threads; 36 PyGLibThreadBlockFunc unblock_threads; 37 PyObject* (*main_context_new)(GMainContext *context); 38 PyObject* (*option_context_new)(GOptionContext *context); 39 PyObject* (*option_group_new)(GOptionGroup *group); 40 }; 41 42 gboolean _pyglib_handler_marshal(gpointer user_data); 43 void _pyglib_destroy_notify(gpointer user_data); 44 45 G_END_DECLS 46 47 #endif /* __PYGLIB_PRIVATE_H__ */ 48 49 50