Change LGPL-2.1+ to LGPL-2.1-or-later
[platform/upstream/glib.git] / gobject / gmarshal.h
1 /* GObject - GLib Type, Object, Parameter and Signal Library
2  *
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General
14  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #ifndef __G_MARSHAL_H__
18 #define __G_MARSHAL_H__
19
20 G_BEGIN_DECLS
21
22 /* VOID:VOID */
23 GOBJECT_AVAILABLE_IN_ALL
24 void g_cclosure_marshal_VOID__VOID (GClosure     *closure,
25                                     GValue       *return_value,
26                                     guint         n_param_values,
27                                     const GValue *param_values,
28                                     gpointer      invocation_hint,
29                                     gpointer      marshal_data);
30 GOBJECT_AVAILABLE_IN_ALL
31 void g_cclosure_marshal_VOID__VOIDv (GClosure *closure,
32                                      GValue   *return_value,
33                                      gpointer  instance,
34                                      va_list   args,
35                                      gpointer  marshal_data,
36                                      int       n_params,
37                                      GType    *param_types);
38
39 /* VOID:BOOLEAN */
40 GOBJECT_AVAILABLE_IN_ALL
41 void g_cclosure_marshal_VOID__BOOLEAN (GClosure     *closure,
42                                        GValue       *return_value,
43                                        guint         n_param_values,
44                                        const GValue *param_values,
45                                        gpointer      invocation_hint,
46                                        gpointer      marshal_data);
47 GOBJECT_AVAILABLE_IN_ALL
48 void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure,
49                                         GValue   *return_value,
50                                         gpointer  instance,
51                                         va_list   args,
52                                         gpointer  marshal_data,
53                                         int       n_params,
54                                         GType    *param_types);
55
56 /* VOID:CHAR */
57 GOBJECT_AVAILABLE_IN_ALL
58 void g_cclosure_marshal_VOID__CHAR (GClosure     *closure,
59                                     GValue       *return_value,
60                                     guint         n_param_values,
61                                     const GValue *param_values,
62                                     gpointer      invocation_hint,
63                                     gpointer      marshal_data);
64 GOBJECT_AVAILABLE_IN_ALL
65 void g_cclosure_marshal_VOID__CHARv (GClosure *closure,
66                                      GValue   *return_value,
67                                      gpointer  instance,
68                                      va_list   args,
69                                      gpointer  marshal_data,
70                                      int       n_params,
71                                      GType    *param_types);
72
73 /* VOID:UCHAR */
74 GOBJECT_AVAILABLE_IN_ALL
75 void g_cclosure_marshal_VOID__UCHAR (GClosure     *closure,
76                                      GValue       *return_value,
77                                      guint         n_param_values,
78                                      const GValue *param_values,
79                                      gpointer      invocation_hint,
80                                      gpointer      marshal_data);
81 GOBJECT_AVAILABLE_IN_ALL
82 void g_cclosure_marshal_VOID__UCHARv (GClosure *closure,
83                                       GValue   *return_value,
84                                       gpointer  instance,
85                                       va_list   args,
86                                       gpointer  marshal_data,
87                                       int       n_params,
88                                       GType    *param_types);
89
90 /* VOID:INT */
91 GOBJECT_AVAILABLE_IN_ALL
92 void g_cclosure_marshal_VOID__INT (GClosure     *closure,
93                                    GValue       *return_value,
94                                    guint         n_param_values,
95                                    const GValue *param_values,
96                                    gpointer      invocation_hint,
97                                    gpointer      marshal_data);
98 GOBJECT_AVAILABLE_IN_ALL
99 void g_cclosure_marshal_VOID__INTv (GClosure *closure,
100                                     GValue   *return_value,
101                                     gpointer  instance,
102                                     va_list   args,
103                                     gpointer  marshal_data,
104                                     int       n_params,
105                                     GType    *param_types);
106
107 /* VOID:UINT */
108 GOBJECT_AVAILABLE_IN_ALL
109 void g_cclosure_marshal_VOID__UINT (GClosure     *closure,
110                                     GValue       *return_value,
111                                     guint         n_param_values,
112                                     const GValue *param_values,
113                                     gpointer      invocation_hint,
114                                     gpointer      marshal_data);
115 GOBJECT_AVAILABLE_IN_ALL
116 void g_cclosure_marshal_VOID__UINTv (GClosure *closure,
117                                      GValue   *return_value,
118                                      gpointer  instance,
119                                      va_list   args,
120                                      gpointer  marshal_data,
121                                      int       n_params,
122                                      GType    *param_types);
123
124 /* VOID:LONG */
125 GOBJECT_AVAILABLE_IN_ALL
126 void g_cclosure_marshal_VOID__LONG (GClosure     *closure,
127                                     GValue       *return_value,
128                                     guint         n_param_values,
129                                     const GValue *param_values,
130                                     gpointer      invocation_hint,
131                                     gpointer      marshal_data);
132 GOBJECT_AVAILABLE_IN_ALL
133 void g_cclosure_marshal_VOID__LONGv (GClosure *closure,
134                                      GValue   *return_value,
135                                      gpointer  instance,
136                                      va_list   args,
137                                      gpointer  marshal_data,
138                                      int       n_params,
139                                      GType    *param_types);
140
141 /* VOID:ULONG */
142 GOBJECT_AVAILABLE_IN_ALL
143 void g_cclosure_marshal_VOID__ULONG (GClosure     *closure,
144                                      GValue       *return_value,
145                                      guint         n_param_values,
146                                      const GValue *param_values,
147                                      gpointer      invocation_hint,
148                                      gpointer      marshal_data);
149 GOBJECT_AVAILABLE_IN_ALL
150 void g_cclosure_marshal_VOID__ULONGv (GClosure *closure,
151                                       GValue   *return_value,
152                                       gpointer  instance,
153                                       va_list   args,
154                                       gpointer  marshal_data,
155                                       int       n_params,
156                                       GType    *param_types);
157
158 /* VOID:ENUM */
159 GOBJECT_AVAILABLE_IN_ALL
160 void g_cclosure_marshal_VOID__ENUM (GClosure     *closure,
161                                     GValue       *return_value,
162                                     guint         n_param_values,
163                                     const GValue *param_values,
164                                     gpointer      invocation_hint,
165                                     gpointer      marshal_data);
166 GOBJECT_AVAILABLE_IN_ALL
167 void g_cclosure_marshal_VOID__ENUMv (GClosure *closure,
168                                      GValue   *return_value,
169                                      gpointer  instance,
170                                      va_list   args,
171                                      gpointer  marshal_data,
172                                      int       n_params,
173                                      GType    *param_types);
174
175 /* VOID:FLAGS */
176 GOBJECT_AVAILABLE_IN_ALL
177 void g_cclosure_marshal_VOID__FLAGS (GClosure     *closure,
178                                      GValue       *return_value,
179                                      guint         n_param_values,
180                                      const GValue *param_values,
181                                      gpointer      invocation_hint,
182                                      gpointer      marshal_data);
183 GOBJECT_AVAILABLE_IN_ALL
184 void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure,
185                                       GValue   *return_value,
186                                       gpointer  instance,
187                                       va_list   args,
188                                       gpointer  marshal_data,
189                                       int       n_params,
190                                       GType    *param_types);
191
192 /* VOID:FLOAT */
193 GOBJECT_AVAILABLE_IN_ALL
194 void g_cclosure_marshal_VOID__FLOAT (GClosure     *closure,
195                                      GValue       *return_value,
196                                      guint         n_param_values,
197                                      const GValue *param_values,
198                                      gpointer      invocation_hint,
199                                      gpointer      marshal_data);
200 GOBJECT_AVAILABLE_IN_ALL
201 void g_cclosure_marshal_VOID__FLOATv (GClosure *closure,
202                                       GValue   *return_value,
203                                       gpointer  instance,
204                                       va_list   args,
205                                       gpointer  marshal_data,
206                                       int       n_params,
207                                       GType    *param_types);
208
209 /* VOID:DOUBLE */
210 GOBJECT_AVAILABLE_IN_ALL
211 void g_cclosure_marshal_VOID__DOUBLE (GClosure     *closure,
212                                       GValue       *return_value,
213                                       guint         n_param_values,
214                                       const GValue *param_values,
215                                       gpointer      invocation_hint,
216                                       gpointer      marshal_data);
217 GOBJECT_AVAILABLE_IN_ALL
218 void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure,
219                                        GValue   *return_value,
220                                        gpointer  instance,
221                                        va_list   args,
222                                        gpointer  marshal_data,
223                                        int       n_params,
224                                        GType    *param_types);
225
226 /* VOID:STRING */
227 GOBJECT_AVAILABLE_IN_ALL
228 void g_cclosure_marshal_VOID__STRING (GClosure     *closure,
229                                       GValue       *return_value,
230                                       guint         n_param_values,
231                                       const GValue *param_values,
232                                       gpointer      invocation_hint,
233                                       gpointer      marshal_data);
234 GOBJECT_AVAILABLE_IN_ALL
235 void g_cclosure_marshal_VOID__STRINGv (GClosure *closure,
236                                        GValue   *return_value,
237                                        gpointer  instance,
238                                        va_list   args,
239                                        gpointer  marshal_data,
240                                        int       n_params,
241                                        GType    *param_types);
242
243 /* VOID:PARAM */
244 GOBJECT_AVAILABLE_IN_ALL
245 void g_cclosure_marshal_VOID__PARAM (GClosure     *closure,
246                                      GValue       *return_value,
247                                      guint         n_param_values,
248                                      const GValue *param_values,
249                                      gpointer      invocation_hint,
250                                      gpointer      marshal_data);
251 GOBJECT_AVAILABLE_IN_ALL
252 void g_cclosure_marshal_VOID__PARAMv (GClosure *closure,
253                                       GValue   *return_value,
254                                       gpointer  instance,
255                                       va_list   args,
256                                       gpointer  marshal_data,
257                                       int       n_params,
258                                       GType    *param_types);
259
260 /* VOID:BOXED */
261 GOBJECT_AVAILABLE_IN_ALL
262 void g_cclosure_marshal_VOID__BOXED (GClosure     *closure,
263                                      GValue       *return_value,
264                                      guint         n_param_values,
265                                      const GValue *param_values,
266                                      gpointer      invocation_hint,
267                                      gpointer      marshal_data);
268 GOBJECT_AVAILABLE_IN_ALL
269 void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure,
270                                       GValue   *return_value,
271                                       gpointer  instance,
272                                       va_list   args,
273                                       gpointer  marshal_data,
274                                       int       n_params,
275                                       GType    *param_types);
276
277 /* VOID:POINTER */
278 GOBJECT_AVAILABLE_IN_ALL
279 void g_cclosure_marshal_VOID__POINTER (GClosure     *closure,
280                                        GValue       *return_value,
281                                        guint         n_param_values,
282                                        const GValue *param_values,
283                                        gpointer      invocation_hint,
284                                        gpointer      marshal_data);
285 GOBJECT_AVAILABLE_IN_ALL
286 void g_cclosure_marshal_VOID__POINTERv (GClosure *closure,
287                                         GValue   *return_value,
288                                         gpointer  instance,
289                                         va_list   args,
290                                         gpointer  marshal_data,
291                                         int       n_params,
292                                         GType    *param_types);
293
294 /* VOID:OBJECT */
295 GOBJECT_AVAILABLE_IN_ALL
296 void g_cclosure_marshal_VOID__OBJECT (GClosure     *closure,
297                                       GValue       *return_value,
298                                       guint         n_param_values,
299                                       const GValue *param_values,
300                                       gpointer      invocation_hint,
301                                       gpointer      marshal_data);
302 GOBJECT_AVAILABLE_IN_ALL
303 void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure,
304                                        GValue   *return_value,
305                                        gpointer  instance,
306                                        va_list   args,
307                                        gpointer  marshal_data,
308                                        int       n_params,
309                                        GType    *param_types);
310
311 /* VOID:VARIANT */
312 GOBJECT_AVAILABLE_IN_ALL
313 void g_cclosure_marshal_VOID__VARIANT (GClosure     *closure,
314                                        GValue       *return_value,
315                                        guint         n_param_values,
316                                        const GValue *param_values,
317                                        gpointer      invocation_hint,
318                                        gpointer      marshal_data);
319 GOBJECT_AVAILABLE_IN_ALL
320 void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure,
321                                         GValue   *return_value,
322                                         gpointer  instance,
323                                         va_list   args,
324                                         gpointer  marshal_data,
325                                         int       n_params,
326                                         GType    *param_types);
327
328 /* VOID:UINT,POINTER */
329 GOBJECT_AVAILABLE_IN_ALL
330 void g_cclosure_marshal_VOID__UINT_POINTER (GClosure     *closure,
331                                             GValue       *return_value,
332                                             guint         n_param_values,
333                                             const GValue *param_values,
334                                             gpointer      invocation_hint,
335                                             gpointer      marshal_data);
336 GOBJECT_AVAILABLE_IN_ALL
337 void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure,
338                                              GValue   *return_value,
339                                              gpointer  instance,
340                                              va_list   args,
341                                              gpointer  marshal_data,
342                                              int       n_params,
343                                              GType    *param_types);
344
345 /* BOOL:FLAGS */
346 GOBJECT_AVAILABLE_IN_ALL
347 void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure     *closure,
348                                         GValue       *return_value,
349                                         guint         n_param_values,
350                                         const GValue *param_values,
351                                         gpointer      invocation_hint,
352                                         gpointer      marshal_data);
353 GOBJECT_AVAILABLE_IN_ALL
354 void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure,
355                                          GValue   *return_value,
356                                          gpointer  instance,
357                                          va_list   args,
358                                          gpointer  marshal_data,
359                                          int       n_params,
360                                          GType    *param_types);
361
362 /**
363  * g_cclosure_marshal_BOOL__FLAGS:
364  * @closure: A #GClosure.
365  * @return_value: A #GValue to store the return value. May be %NULL
366  *   if the callback of closure doesn't return a value.
367  * @n_param_values: The length of the @param_values array.
368  * @param_values: An array of #GValues holding the arguments
369  *   on which to invoke the callback of closure.
370  * @invocation_hint: The invocation hint given as the last argument to
371  *   g_closure_invoke().
372  * @marshal_data: Additional data specified when registering the
373  *   marshaller, see g_closure_set_marshal() and
374  *   g_closure_set_meta_marshal()
375  *
376  * An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
377  */
378 #define g_cclosure_marshal_BOOL__FLAGS  g_cclosure_marshal_BOOLEAN__FLAGS
379
380 /* STRING:OBJECT,POINTER */
381 GOBJECT_AVAILABLE_IN_ALL
382 void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure     *closure,
383                                                 GValue       *return_value,
384                                                 guint         n_param_values,
385                                                 const GValue *param_values,
386                                                 gpointer      invocation_hint,
387                                                 gpointer      marshal_data);
388 GOBJECT_AVAILABLE_IN_ALL
389 void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure,
390                                                  GValue   *return_value,
391                                                  gpointer  instance,
392                                                  va_list   args,
393                                                  gpointer  marshal_data,
394                                                  int       n_params,
395                                                  GType    *param_types);
396
397 /* BOOL:BOXED,BOXED */
398 GOBJECT_AVAILABLE_IN_ALL
399 void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure     *closure,
400                                               GValue       *return_value,
401                                               guint         n_param_values,
402                                               const GValue *param_values,
403                                               gpointer      invocation_hint,
404                                               gpointer      marshal_data);
405 GOBJECT_AVAILABLE_IN_ALL
406 void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure,
407                                                GValue   *return_value,
408                                                gpointer  instance,
409                                                va_list   args,
410                                                gpointer  marshal_data,
411                                                int       n_params,
412                                                GType    *param_types);
413
414 /**
415  * g_cclosure_marshal_BOOL__BOXED_BOXED:
416  * @closure: A #GClosure.
417  * @return_value: A #GValue to store the return value. May be %NULL
418  *   if the callback of closure doesn't return a value.
419  * @n_param_values: The length of the @param_values array.
420  * @param_values: An array of #GValues holding the arguments
421  *   on which to invoke the callback of closure.
422  * @invocation_hint: The invocation hint given as the last argument to
423  *   g_closure_invoke().
424  * @marshal_data: Additional data specified when registering the
425  *   marshaller, see g_closure_set_marshal() and
426  *   g_closure_set_meta_marshal()
427  *
428  * An old alias for g_cclosure_marshal_BOOLEAN__BOXED_BOXED().
429  */
430 #define g_cclosure_marshal_BOOL__BOXED_BOXED    g_cclosure_marshal_BOOLEAN__BOXED_BOXED
431
432 G_END_DECLS
433
434 #endif /* __G_MARSHAL_H__ */