summaryrefslogtreecommitdiff
path: root/gi/pygi-closure.h
diff options
context:
space:
mode:
Diffstat (limited to 'gi/pygi-closure.h')
-rw-r--r--gi/pygi-closure.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/gi/pygi-closure.h b/gi/pygi-closure.h
index 6f98339..8a52b86 100644
--- a/gi/pygi-closure.h
+++ b/gi/pygi-closure.h
@@ -12,9 +12,7 @@
* 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
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __PYGI_CLOSURE_H__
@@ -24,6 +22,8 @@
#include <girffi.h>
#include <ffi.h>
+#include "pygi-cache.h"
+
G_BEGIN_DECLS
@@ -40,17 +40,27 @@ typedef struct _PyGICClosure
GIScopeType scope;
PyObject* user_data;
+
+ PyGIClosureCache *cache;
} PyGICClosure;
void _pygi_closure_handle (ffi_cif *cif, void *result, void
**args, void *userdata);
-void _pygi_invoke_closure_free (gpointer user_data);
+void _pygi_invoke_closure_free (PyGICClosure* invoke_closure);
PyGICClosure* _pygi_make_native_closure (GICallableInfo* info,
+ PyGIClosureCache *cache,
GIScopeType scope,
PyObject *function,
- gpointer user_data);
+ PyObject *user_data);
+
+PyGIArgCache *pygi_arg_callback_new_from_info (GITypeInfo *type_info,
+ GIArgInfo *arg_info, /* may be null */
+ GITransfer transfer,
+ PyGIDirection direction,
+ GIInterfaceInfo *iface_info,
+ PyGICallableCache *callable_cache);
G_END_DECLS