359644deaf3075faa8955dbf8e85a6cf060e6501
[platform/upstream/pygobject2.git] / gi / pygi-marshal-to-py.h
1 /* -*- Mode: C; c-basic-offset: 4 -*-
2  * vim: tabstop=4 shiftwidth=4 expandtab
3  *
4  * Copyright (C) 2011 John (J5) Palmieri <johnp@redhat.com>, Red Hat, Inc.
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 __PYGI_MARSHAL_TO_PY_H__
23 #define __PYGI_MARSHAL_TO_PY_H__
24
25 PyObject *_pygi_marshal_to_py_void      (PyGIInvokeState   *state,
26                                          PyGICallableCache *callable_cache,
27                                          PyGIArgCache      *arg_cache,
28                                          GIArgument        *arg);
29 PyObject *_pygi_marshal_to_py_boolean   (PyGIInvokeState   *state,
30                                          PyGICallableCache *callable_cache,
31                                          PyGIArgCache      *arg_cache,
32                                          GIArgument        *arg);
33 PyObject *_pygi_marshal_to_py_int8      (PyGIInvokeState   *state,
34                                          PyGICallableCache *callable_cache,
35                                          PyGIArgCache      *arg_cache,
36                                          GIArgument        *arg);
37 PyObject *_pygi_marshal_to_py_uint8     (PyGIInvokeState   *state,
38                                          PyGICallableCache *callable_cache,
39                                          PyGIArgCache      *arg_cache,
40                                          GIArgument        *arg);
41 PyObject *_pygi_marshal_to_py_int16     (PyGIInvokeState   *state,
42                                          PyGICallableCache *callable_cache,
43                                          PyGIArgCache      *arg_cache,
44                                          GIArgument        *arg);
45 PyObject *_pygi_marshal_to_py_uint16    (PyGIInvokeState   *state,
46                                          PyGICallableCache *callable_cache,
47                                          PyGIArgCache      *arg_cache,
48                                          GIArgument        *arg);
49 PyObject *_pygi_marshal_to_py_int32     (PyGIInvokeState   *state,
50                                          PyGICallableCache *callable_cache,
51                                          PyGIArgCache      *arg_cache,
52                                          GIArgument        *arg);
53 PyObject *_pygi_marshal_to_py_uint32    (PyGIInvokeState   *state,
54                                          PyGICallableCache *callable_cache,
55                                          PyGIArgCache      *arg_cache,
56                                          GIArgument        *arg);
57 PyObject *_pygi_marshal_to_py_int64     (PyGIInvokeState   *state,
58                                          PyGICallableCache *callable_cache,
59                                          PyGIArgCache      *arg_cache,
60                                          GIArgument        *arg);
61 PyObject *_pygi_marshal_to_py_uint64    (PyGIInvokeState   *state,
62                                          PyGICallableCache *callable_cache,
63                                          PyGIArgCache      *arg_cache,
64                                          GIArgument        *arg);
65 PyObject *_pygi_marshal_to_py_float     (PyGIInvokeState   *state,
66                                          PyGICallableCache *callable_cache,
67                                          PyGIArgCache      *arg_cache,
68                                          GIArgument        *arg);
69 PyObject *_pygi_marshal_to_py_double    (PyGIInvokeState   *state,
70                                          PyGICallableCache *callable_cache,
71                                          PyGIArgCache      *arg_cache,
72                                          GIArgument        *arg);
73 PyObject *_pygi_marshal_to_py_unichar   (PyGIInvokeState   *state,
74                                          PyGICallableCache *callable_cache,
75                                          PyGIArgCache      *arg_cache,
76                                          GIArgument        *arg);
77 PyObject *_pygi_marshal_to_py_gtype     (PyGIInvokeState   *state,
78                                          PyGICallableCache *callable_cache,
79                                          PyGIArgCache      *arg_cache,
80                                          GIArgument        *arg);
81 PyObject *_pygi_marshal_to_py_utf8      (PyGIInvokeState   *state,
82                                          PyGICallableCache *callable_cache,
83                                          PyGIArgCache      *arg_cache,
84                                          GIArgument        *arg);
85 PyObject *_pygi_marshal_to_py_filename  (PyGIInvokeState   *state,
86                                          PyGICallableCache *callable_cache,
87                                          PyGIArgCache      *arg_cache,
88                                          GIArgument        *arg);
89 PyObject *_pygi_marshal_to_py_array     (PyGIInvokeState   *state,
90                                          PyGICallableCache *callable_cache,
91                                          PyGIArgCache      *arg_cache,
92                                          GIArgument        *arg);
93 PyObject *_pygi_marshal_to_py_glist     (PyGIInvokeState   *state,
94                                          PyGICallableCache *callable_cache,
95                                          PyGIArgCache      *arg_cache,
96                                          GIArgument        *arg);
97 PyObject *_pygi_marshal_to_py_gslist    (PyGIInvokeState   *state,
98                                          PyGICallableCache *callable_cache,
99                                          PyGIArgCache      *arg_cache,
100                                          GIArgument        *arg);
101 PyObject *_pygi_marshal_to_py_ghash     (PyGIInvokeState   *state,
102                                          PyGICallableCache *callable_cache,
103                                          PyGIArgCache      *arg_cache,
104                                          GIArgument        *arg);
105 PyObject *_pygi_marshal_to_py_gerror    (PyGIInvokeState   *state,
106                                          PyGICallableCache *callable_cache,
107                                          PyGIArgCache      *arg_cache,
108                                          GIArgument        *arg);
109 PyObject *_pygi_marshal_to_py_interface_callback(PyGIInvokeState   *state,
110                                                  PyGICallableCache *callable_cache,
111                                                  PyGIArgCache      *arg_cache,
112                                                  GIArgument        *arg);
113 PyObject *_pygi_marshal_to_py_interface_enum   (PyGIInvokeState   *state,
114                                                 PyGICallableCache *callable_cache,
115                                                 PyGIArgCache      *arg_cache,
116                                                 GIArgument        *arg);
117 PyObject *_pygi_marshal_to_py_interface_flags  (PyGIInvokeState   *state,
118                                                 PyGICallableCache *callable_cache,
119                                                 PyGIArgCache      *arg_cache,
120                                                 GIArgument        *arg);
121 PyObject *_pygi_marshal_to_py_interface_struct (PyGIInvokeState   *state,
122                                                 PyGICallableCache *callable_cache,
123                                                 PyGIArgCache      *arg_cache,
124                                                 GIArgument        *arg);
125 PyObject *_pygi_marshal_to_py_interface_interface(PyGIInvokeState   *state,
126                                                   PyGICallableCache *callable_cache,
127                                                   PyGIArgCache      *arg_cache,
128                                                   GIArgument        *arg);
129 PyObject *_pygi_marshal_to_py_interface_boxed  (PyGIInvokeState   *state,
130                                                 PyGICallableCache *callable_cache,
131                                                 PyGIArgCache      *arg_cache,
132                                                 GIArgument        *arg);
133 PyObject *_pygi_marshal_to_py_interface_object (PyGIInvokeState   *state,
134                                                 PyGICallableCache *callable_cache,
135                                                 PyGIArgCache      *arg_cache,
136                                                 GIArgument        *arg);
137 PyObject *_pygi_marshal_to_py_interface_union  (PyGIInvokeState   *state,
138                                                 PyGICallableCache *callable_cache,
139                                                 PyGIArgCache      *arg_cache,
140                                                 GIArgument        *arg);
141
142 /* Simplified marshalers shared between vfunc/closure and direct function calls. */
143
144 PyObject *pygi_marshal_to_py_object (GIArgument *arg,
145                                      GITransfer transfer);
146
147 PyObject *pygi_marshal_to_py_interface_struct (GIArgument *arg,
148                                                GIInterfaceInfo *interface_info,
149                                                GType g_type,
150                                                PyObject *py_type,
151                                                GITransfer transfer,
152                                                gboolean is_allocated,
153                                                gboolean is_foreign);
154
155 G_END_DECLS
156
157 #endif /* __PYGI_MARSHAL_TO_PY_H__ */