summaryrefslogtreecommitdiff
path: root/gi/pygi-ccallback.c
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:44:59 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2017-07-12 08:45:02 +0900
commit55e9ab1b728021859bb9ef5d5f27049c530d880e (patch)
tree552ec5019ef1ab124a63dfde97be187374a2d505 /gi/pygi-ccallback.c
parent8ee8219e2a010b7cc8ec068d42af27ad58556ada (diff)
downloadpygobject2-55e9ab1b728021859bb9ef5d5f27049c530d880e.tar.gz
pygobject2-55e9ab1b728021859bb9ef5d5f27049c530d880e.tar.bz2
pygobject2-55e9ab1b728021859bb9ef5d5f27049c530d880e.zip
Imported Upstream version 3.2.0
Change-Id: Icdce2dbd074e763b749f5af1a12d4db4809a71b7 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'gi/pygi-ccallback.c')
-rw-r--r--gi/pygi-ccallback.c102
1 files changed, 0 insertions, 102 deletions
diff --git a/gi/pygi-ccallback.c b/gi/pygi-ccallback.c
deleted file mode 100644
index 9c6e47e..0000000
--- a/gi/pygi-ccallback.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * vim: tabstop=4 shiftwidth=4 expandtab
- *
- * Copyright (C) 2011 John (J5) Palmieri <johnp@redhat.com>, Red Hat, Inc.
- *
- * pygi-boxed-closure.c: wrapper to handle GClosure box types with C callbacks.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#include "pygi-private.h"
-#include "pygobject-private.h"
-
-#include <girepository.h>
-#include <pyglib-python-compat.h>
-
-
-static PyObject *
-_ccallback_call(PyGICCallback *self, PyObject *args, PyObject *kwargs)
-{
- PyObject *result;
-
- if (self->cache == NULL) {
- self->cache = (PyGICCallbackCache *)pygi_ccallback_cache_new (self->info,
- self->callback);
- if (self->cache == NULL)
- return NULL;
- }
-
- result = pygi_ccallback_cache_invoke (self->cache,
- args,
- kwargs,
- self->user_data);
- return result;
-}
-
-PYGLIB_DEFINE_TYPE("gi.CCallback", PyGICCallback_Type, PyGICCallback);
-
-PyObject *
-_pygi_ccallback_new (GCallback callback,
- gpointer user_data,
- GIScopeType scope,
- GIFunctionInfo *info,
- GDestroyNotify destroy_notify)
-{
- PyGICCallback *self;
-
- if (!callback) {
- Py_RETURN_NONE;
- }
-
- self = (PyGICCallback *) PyGICCallback_Type.tp_alloc (&PyGICCallback_Type, 0);
- if (self == NULL) {
- return NULL;
- }
-
- self->callback = (GCallback) callback;
- self->user_data = user_data;
- self->scope = scope;
- self->destroy_notify_func = destroy_notify;
- self->info = g_base_info_ref( (GIBaseInfo *) info);
-
- return (PyObject *) self;
-}
-
-static void
-_ccallback_dealloc (PyGICCallback *self)
-{
- g_base_info_unref ( (GIBaseInfo *)self->info);
-
- if (self->cache != NULL) {
- pygi_callable_cache_free ( (PyGICallableCache *)self->cache);
- }
-
- Py_TYPE (self)->tp_free ((PyObject *)self);
-}
-
-void
-_pygi_ccallback_register_types (PyObject *m)
-{
- Py_TYPE(&PyGICCallback_Type) = &PyType_Type;
- PyGICCallback_Type.tp_flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE);
- PyGICCallback_Type.tp_dealloc = (destructor) _ccallback_dealloc;
- PyGICCallback_Type.tp_call = (ternaryfunc) _ccallback_call;
-
-
- if (PyType_Ready (&PyGICCallback_Type))
- return;
- if (PyModule_AddObject (m, "CCallback", (PyObject *) &PyGICCallback_Type))
- return;
-}