diff options
Diffstat (limited to 'gi/pygi-closure.h')
-rw-r--r-- | gi/pygi-closure.h | 20 |
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 |