summaryrefslogtreecommitdiff
path: root/gi/pygi-ccallback.h
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2012-02-21 15:13:42 +0100
committerMartin Pitt <martinpitt@gnome.org>2012-03-27 18:23:30 +0200
commitd03696c1aaa7e66f8f16554cf4a4b97addb5aea1 (patch)
treea5cef3747d0cc285a951af923dd5018233c6a880 /gi/pygi-ccallback.h
parentdb7e1d078db16b6f11dee51aa97525c451346632 (diff)
downloadpygobject-d03696c1aaa7e66f8f16554cf4a4b97addb5aea1.tar.gz
Add a ccallback type which is used to invoke callbacks passed to a vfunc
Used when overriding methods like gtk_container_forall wich pass in a callback that needs to be executed on internal children: def do_forall(self, callback, userdata): callback(self.custom_child, userdata) https://bugzilla.gnome.org/show_bug.cgi?id=644926 Co-authored-by: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> Co-authored-by: Simon Schampijer <simon@laptop.org> Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Diffstat (limited to 'gi/pygi-ccallback.h')
-rw-r--r--gi/pygi-ccallback.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/gi/pygi-ccallback.h b/gi/pygi-ccallback.h
new file mode 100644
index 00000000..c7960922
--- /dev/null
+++ b/gi/pygi-ccallback.h
@@ -0,0 +1,41 @@
+/* -*- Mode: C; c-basic-offset: 4 -*-
+ * vim: tabstop=4 shiftwidth=4 expandtab
+ *
+ * Copyright (C) 2011 John (J5) Palmieri <johnp@redhat.com>, Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ */
+
+#ifndef __PYGI_CCLOSURE_H__
+#define __PYGI_CCLOSURE_H__
+
+#include <Python.h>
+
+G_BEGIN_DECLS
+
+extern PyTypeObject PyGICCallback_Type;
+
+PyObject * _pygi_ccallback_new (GCallback callback,
+ gpointer user_data,
+ GIScopeType scope,
+ GIFunctionInfo *info,
+ GDestroyNotify destroy_notify);
+
+void _pygi_ccallback_register_types (PyObject *m);
+
+G_END_DECLS
+
+#endif /* __PYGI_CCLOSURE_H__ */