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#include "config.h"
18
19#include <glib-object.h>
20#include "gmarshal-internal.h"
21
22#ifdef G_ENABLE_DEBUG
23#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
24#define g_marshal_value_peek_char(v) g_value_get_schar (v)
25#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
26#define g_marshal_value_peek_int(v) g_value_get_int (v)
27#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
28#define g_marshal_value_peek_long(v) g_value_get_long (v)
29#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
30#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
31#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
32#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
33#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
34#define g_marshal_value_peek_float(v) g_value_get_float (v)
35#define g_marshal_value_peek_double(v) g_value_get_double (v)
36#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
37#define g_marshal_value_peek_param(v) g_value_get_param (v)
38#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
39#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
40#define g_marshal_value_peek_object(v) g_value_get_object (v)
41#define g_marshal_value_peek_variant(v) g_value_get_variant (v)
42#else /* !G_ENABLE_DEBUG */
43/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
44 * Do not access GValues directly in your code. Instead, use the
45 * g_value_get_*() functions
46 */
47#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
48#define g_marshal_value_peek_char(v) (v)->data[0].v_int
49#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
50#define g_marshal_value_peek_int(v) (v)->data[0].v_int
51#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
52#define g_marshal_value_peek_long(v) (v)->data[0].v_long
53#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
54#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
55#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
56#define g_marshal_value_peek_enum(v) (v)->data[0].v_long
57#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
58#define g_marshal_value_peek_float(v) (v)->data[0].v_float
59#define g_marshal_value_peek_double(v) (v)->data[0].v_double
60#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
61#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
62#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
63#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
64#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
65#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer
66#endif /* !G_ENABLE_DEBUG */
67
68/* BOOLEAN:OBJECT */
69void
70_g_cclosure_marshal_BOOLEAN__OBJECT (GClosure *closure,
71 GValue *return_value,
72 guint n_param_values,
73 const GValue *param_values,
74 gpointer invocation_hint G_GNUC_UNUSED,
75 gpointer marshal_data)
76{
77 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT) (gpointer data1,
78 gpointer arg1,
79 gpointer data2);
80 GCClosure *cc = (GCClosure *) closure;
81 gpointer data1, data2;
82 GMarshalFunc_BOOLEAN__OBJECT callback;
83 gboolean v_return;
84
85 g_return_if_fail (return_value != NULL);
86 g_return_if_fail (n_param_values == 2);
87
88 if (G_CCLOSURE_SWAP_DATA (closure))
89 {
90 data1 = closure->data;
91 data2 = g_value_peek_pointer (value: param_values + 0);
92 }
93 else
94 {
95 data1 = g_value_peek_pointer (value: param_values + 0);
96 data2 = closure->data;
97 }
98 callback = (GMarshalFunc_BOOLEAN__OBJECT) (marshal_data ? marshal_data : cc->callback);
99
100 v_return = callback (data1,
101 g_marshal_value_peek_object (param_values + 1),
102 data2);
103
104 g_value_set_boolean (value: return_value, v_boolean: v_return);
105}
106
107void
108_g_cclosure_marshal_BOOLEAN__OBJECTv (GClosure *closure,
109 GValue *return_value,
110 gpointer instance,
111 va_list args,
112 gpointer marshal_data,
113 int n_params,
114 GType *param_types)
115{
116 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT) (gpointer data1,
117 gpointer arg1,
118 gpointer data2);
119 GCClosure *cc = (GCClosure *) closure;
120 gpointer data1, data2;
121 GMarshalFunc_BOOLEAN__OBJECT callback;
122 gboolean v_return;
123 gpointer arg0;
124 va_list args_copy;
125
126 G_VA_COPY (args_copy, args);
127 arg0 = (gpointer) va_arg (args_copy, gpointer);
128 if (arg0 != NULL)
129 arg0 = g_object_ref (arg0);
130 va_end (args_copy);
131
132 g_return_if_fail (return_value != NULL);
133
134 if (G_CCLOSURE_SWAP_DATA (closure))
135 {
136 data1 = closure->data;
137 data2 = instance;
138 }
139 else
140 {
141 data1 = instance;
142 data2 = closure->data;
143 }
144 callback = (GMarshalFunc_BOOLEAN__OBJECT) (marshal_data ? marshal_data : cc->callback);
145
146 v_return = callback (data1,
147 arg0,
148 data2);
149 if (arg0 != NULL)
150 g_object_unref (object: arg0);
151
152 g_value_set_boolean (value: return_value, v_boolean: v_return);
153}
154
155/* BOOLEAN:OBJECT,FLAGS */
156void
157_g_cclosure_marshal_BOOLEAN__OBJECT_FLAGS (GClosure *closure,
158 GValue *return_value,
159 guint n_param_values,
160 const GValue *param_values,
161 gpointer invocation_hint G_GNUC_UNUSED,
162 gpointer marshal_data)
163{
164 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_FLAGS) (gpointer data1,
165 gpointer arg1,
166 guint arg2,
167 gpointer data2);
168 GCClosure *cc = (GCClosure *) closure;
169 gpointer data1, data2;
170 GMarshalFunc_BOOLEAN__OBJECT_FLAGS callback;
171 gboolean v_return;
172
173 g_return_if_fail (return_value != NULL);
174 g_return_if_fail (n_param_values == 3);
175
176 if (G_CCLOSURE_SWAP_DATA (closure))
177 {
178 data1 = closure->data;
179 data2 = g_value_peek_pointer (value: param_values + 0);
180 }
181 else
182 {
183 data1 = g_value_peek_pointer (value: param_values + 0);
184 data2 = closure->data;
185 }
186 callback = (GMarshalFunc_BOOLEAN__OBJECT_FLAGS) (marshal_data ? marshal_data : cc->callback);
187
188 v_return = callback (data1,
189 g_marshal_value_peek_object (param_values + 1),
190 g_marshal_value_peek_flags (param_values + 2),
191 data2);
192
193 g_value_set_boolean (value: return_value, v_boolean: v_return);
194}
195
196void
197_g_cclosure_marshal_BOOLEAN__OBJECT_FLAGSv (GClosure *closure,
198 GValue *return_value,
199 gpointer instance,
200 va_list args,
201 gpointer marshal_data,
202 int n_params,
203 GType *param_types)
204{
205 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_FLAGS) (gpointer data1,
206 gpointer arg1,
207 guint arg2,
208 gpointer data2);
209 GCClosure *cc = (GCClosure *) closure;
210 gpointer data1, data2;
211 GMarshalFunc_BOOLEAN__OBJECT_FLAGS callback;
212 gboolean v_return;
213 gpointer arg0;
214 guint arg1;
215 va_list args_copy;
216
217 G_VA_COPY (args_copy, args);
218 arg0 = (gpointer) va_arg (args_copy, gpointer);
219 if (arg0 != NULL)
220 arg0 = g_object_ref (arg0);
221 arg1 = (guint) va_arg (args_copy, guint);
222 va_end (args_copy);
223
224 g_return_if_fail (return_value != NULL);
225
226 if (G_CCLOSURE_SWAP_DATA (closure))
227 {
228 data1 = closure->data;
229 data2 = instance;
230 }
231 else
232 {
233 data1 = instance;
234 data2 = closure->data;
235 }
236 callback = (GMarshalFunc_BOOLEAN__OBJECT_FLAGS) (marshal_data ? marshal_data : cc->callback);
237
238 v_return = callback (data1,
239 arg0,
240 arg1,
241 data2);
242 if (arg0 != NULL)
243 g_object_unref (object: arg0);
244
245 g_value_set_boolean (value: return_value, v_boolean: v_return);
246}
247
248/* BOOLEAN:OBJECT,OBJECT */
249void
250_g_cclosure_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure,
251 GValue *return_value,
252 guint n_param_values,
253 const GValue *param_values,
254 gpointer invocation_hint G_GNUC_UNUSED,
255 gpointer marshal_data)
256{
257 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_OBJECT) (gpointer data1,
258 gpointer arg1,
259 gpointer arg2,
260 gpointer data2);
261 GCClosure *cc = (GCClosure *) closure;
262 gpointer data1, data2;
263 GMarshalFunc_BOOLEAN__OBJECT_OBJECT callback;
264 gboolean v_return;
265
266 g_return_if_fail (return_value != NULL);
267 g_return_if_fail (n_param_values == 3);
268
269 if (G_CCLOSURE_SWAP_DATA (closure))
270 {
271 data1 = closure->data;
272 data2 = g_value_peek_pointer (value: param_values + 0);
273 }
274 else
275 {
276 data1 = g_value_peek_pointer (value: param_values + 0);
277 data2 = closure->data;
278 }
279 callback = (GMarshalFunc_BOOLEAN__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
280
281 v_return = callback (data1,
282 g_marshal_value_peek_object (param_values + 1),
283 g_marshal_value_peek_object (param_values + 2),
284 data2);
285
286 g_value_set_boolean (value: return_value, v_boolean: v_return);
287}
288
289void
290_g_cclosure_marshal_BOOLEAN__OBJECT_OBJECTv (GClosure *closure,
291 GValue *return_value,
292 gpointer instance,
293 va_list args,
294 gpointer marshal_data,
295 int n_params,
296 GType *param_types)
297{
298 typedef gboolean (*GMarshalFunc_BOOLEAN__OBJECT_OBJECT) (gpointer data1,
299 gpointer arg1,
300 gpointer arg2,
301 gpointer data2);
302 GCClosure *cc = (GCClosure *) closure;
303 gpointer data1, data2;
304 GMarshalFunc_BOOLEAN__OBJECT_OBJECT callback;
305 gboolean v_return;
306 gpointer arg0;
307 gpointer arg1;
308 va_list args_copy;
309
310 G_VA_COPY (args_copy, args);
311 arg0 = (gpointer) va_arg (args_copy, gpointer);
312 if (arg0 != NULL)
313 arg0 = g_object_ref (arg0);
314 arg1 = (gpointer) va_arg (args_copy, gpointer);
315 if (arg1 != NULL)
316 arg1 = g_object_ref (arg1);
317 va_end (args_copy);
318
319 g_return_if_fail (return_value != NULL);
320
321 if (G_CCLOSURE_SWAP_DATA (closure))
322 {
323 data1 = closure->data;
324 data2 = instance;
325 }
326 else
327 {
328 data1 = instance;
329 data2 = closure->data;
330 }
331 callback = (GMarshalFunc_BOOLEAN__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
332
333 v_return = callback (data1,
334 arg0,
335 arg1,
336 data2);
337 if (arg0 != NULL)
338 g_object_unref (object: arg0);
339 if (arg1 != NULL)
340 g_object_unref (object: arg1);
341
342 g_value_set_boolean (value: return_value, v_boolean: v_return);
343}
344
345/* BOOLEAN:POINTER,INT */
346void
347_g_cclosure_marshal_BOOLEAN__POINTER_INT (GClosure *closure,
348 GValue *return_value,
349 guint n_param_values,
350 const GValue *param_values,
351 gpointer invocation_hint G_GNUC_UNUSED,
352 gpointer marshal_data)
353{
354 typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_INT) (gpointer data1,
355 gpointer arg1,
356 gint arg2,
357 gpointer data2);
358 GCClosure *cc = (GCClosure *) closure;
359 gpointer data1, data2;
360 GMarshalFunc_BOOLEAN__POINTER_INT callback;
361 gboolean v_return;
362
363 g_return_if_fail (return_value != NULL);
364 g_return_if_fail (n_param_values == 3);
365
366 if (G_CCLOSURE_SWAP_DATA (closure))
367 {
368 data1 = closure->data;
369 data2 = g_value_peek_pointer (value: param_values + 0);
370 }
371 else
372 {
373 data1 = g_value_peek_pointer (value: param_values + 0);
374 data2 = closure->data;
375 }
376 callback = (GMarshalFunc_BOOLEAN__POINTER_INT) (marshal_data ? marshal_data : cc->callback);
377
378 v_return = callback (data1,
379 g_marshal_value_peek_pointer (param_values + 1),
380 g_marshal_value_peek_int (param_values + 2),
381 data2);
382
383 g_value_set_boolean (value: return_value, v_boolean: v_return);
384}
385
386void
387_g_cclosure_marshal_BOOLEAN__POINTER_INTv (GClosure *closure,
388 GValue *return_value,
389 gpointer instance,
390 va_list args,
391 gpointer marshal_data,
392 int n_params,
393 GType *param_types)
394{
395 typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_INT) (gpointer data1,
396 gpointer arg1,
397 gint arg2,
398 gpointer data2);
399 GCClosure *cc = (GCClosure *) closure;
400 gpointer data1, data2;
401 GMarshalFunc_BOOLEAN__POINTER_INT callback;
402 gboolean v_return;
403 gpointer arg0;
404 gint arg1;
405 va_list args_copy;
406
407 G_VA_COPY (args_copy, args);
408 arg0 = (gpointer) va_arg (args_copy, gpointer);
409 arg1 = (gint) va_arg (args_copy, gint);
410 va_end (args_copy);
411
412 g_return_if_fail (return_value != NULL);
413
414 if (G_CCLOSURE_SWAP_DATA (closure))
415 {
416 data1 = closure->data;
417 data2 = instance;
418 }
419 else
420 {
421 data1 = instance;
422 data2 = closure->data;
423 }
424 callback = (GMarshalFunc_BOOLEAN__POINTER_INT) (marshal_data ? marshal_data : cc->callback);
425
426 v_return = callback (data1,
427 arg0,
428 arg1,
429 data2);
430
431
432 g_value_set_boolean (value: return_value, v_boolean: v_return);
433}
434
435/* BOOLEAN:STRING */
436void
437_g_cclosure_marshal_BOOLEAN__STRING (GClosure *closure,
438 GValue *return_value,
439 guint n_param_values,
440 const GValue *param_values,
441 gpointer invocation_hint G_GNUC_UNUSED,
442 gpointer marshal_data)
443{
444 typedef gboolean (*GMarshalFunc_BOOLEAN__STRING) (gpointer data1,
445 gpointer arg1,
446 gpointer data2);
447 GCClosure *cc = (GCClosure *) closure;
448 gpointer data1, data2;
449 GMarshalFunc_BOOLEAN__STRING callback;
450 gboolean v_return;
451
452 g_return_if_fail (return_value != NULL);
453 g_return_if_fail (n_param_values == 2);
454
455 if (G_CCLOSURE_SWAP_DATA (closure))
456 {
457 data1 = closure->data;
458 data2 = g_value_peek_pointer (value: param_values + 0);
459 }
460 else
461 {
462 data1 = g_value_peek_pointer (value: param_values + 0);
463 data2 = closure->data;
464 }
465 callback = (GMarshalFunc_BOOLEAN__STRING) (marshal_data ? marshal_data : cc->callback);
466
467 v_return = callback (data1,
468 g_marshal_value_peek_string (param_values + 1),
469 data2);
470
471 g_value_set_boolean (value: return_value, v_boolean: v_return);
472}
473
474void
475_g_cclosure_marshal_BOOLEAN__STRINGv (GClosure *closure,
476 GValue *return_value,
477 gpointer instance,
478 va_list args,
479 gpointer marshal_data,
480 int n_params,
481 GType *param_types)
482{
483 typedef gboolean (*GMarshalFunc_BOOLEAN__STRING) (gpointer data1,
484 gpointer arg1,
485 gpointer data2);
486 GCClosure *cc = (GCClosure *) closure;
487 gpointer data1, data2;
488 GMarshalFunc_BOOLEAN__STRING callback;
489 gboolean v_return;
490 gpointer arg0;
491 va_list args_copy;
492
493 G_VA_COPY (args_copy, args);
494 arg0 = (gpointer) va_arg (args_copy, gpointer);
495 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
496 arg0 = g_strdup (str: arg0);
497 va_end (args_copy);
498
499 g_return_if_fail (return_value != NULL);
500
501 if (G_CCLOSURE_SWAP_DATA (closure))
502 {
503 data1 = closure->data;
504 data2 = instance;
505 }
506 else
507 {
508 data1 = instance;
509 data2 = closure->data;
510 }
511 callback = (GMarshalFunc_BOOLEAN__STRING) (marshal_data ? marshal_data : cc->callback);
512
513 v_return = callback (data1,
514 arg0,
515 data2);
516 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
517 g_free (mem: arg0);
518
519 g_value_set_boolean (value: return_value, v_boolean: v_return);
520}
521
522/* BOOLEAN:UINT */
523void
524_g_cclosure_marshal_BOOLEAN__UINT (GClosure *closure,
525 GValue *return_value,
526 guint n_param_values,
527 const GValue *param_values,
528 gpointer invocation_hint G_GNUC_UNUSED,
529 gpointer marshal_data)
530{
531 typedef gboolean (*GMarshalFunc_BOOLEAN__UINT) (gpointer data1,
532 guint arg1,
533 gpointer data2);
534 GCClosure *cc = (GCClosure *) closure;
535 gpointer data1, data2;
536 GMarshalFunc_BOOLEAN__UINT callback;
537 gboolean v_return;
538
539 g_return_if_fail (return_value != NULL);
540 g_return_if_fail (n_param_values == 2);
541
542 if (G_CCLOSURE_SWAP_DATA (closure))
543 {
544 data1 = closure->data;
545 data2 = g_value_peek_pointer (value: param_values + 0);
546 }
547 else
548 {
549 data1 = g_value_peek_pointer (value: param_values + 0);
550 data2 = closure->data;
551 }
552 callback = (GMarshalFunc_BOOLEAN__UINT) (marshal_data ? marshal_data : cc->callback);
553
554 v_return = callback (data1,
555 g_marshal_value_peek_uint (param_values + 1),
556 data2);
557
558 g_value_set_boolean (value: return_value, v_boolean: v_return);
559}
560
561void
562_g_cclosure_marshal_BOOLEAN__UINTv (GClosure *closure,
563 GValue *return_value,
564 gpointer instance,
565 va_list args,
566 gpointer marshal_data,
567 int n_params,
568 GType *param_types)
569{
570 typedef gboolean (*GMarshalFunc_BOOLEAN__UINT) (gpointer data1,
571 guint arg1,
572 gpointer data2);
573 GCClosure *cc = (GCClosure *) closure;
574 gpointer data1, data2;
575 GMarshalFunc_BOOLEAN__UINT callback;
576 gboolean v_return;
577 guint arg0;
578 va_list args_copy;
579
580 G_VA_COPY (args_copy, args);
581 arg0 = (guint) va_arg (args_copy, guint);
582 va_end (args_copy);
583
584 g_return_if_fail (return_value != NULL);
585
586 if (G_CCLOSURE_SWAP_DATA (closure))
587 {
588 data1 = closure->data;
589 data2 = instance;
590 }
591 else
592 {
593 data1 = instance;
594 data2 = closure->data;
595 }
596 callback = (GMarshalFunc_BOOLEAN__UINT) (marshal_data ? marshal_data : cc->callback);
597
598 v_return = callback (data1,
599 arg0,
600 data2);
601
602
603 g_value_set_boolean (value: return_value, v_boolean: v_return);
604}
605
606/* BOOLEAN:VOID */
607void
608_g_cclosure_marshal_BOOLEAN__VOID (GClosure *closure,
609 GValue *return_value,
610 guint n_param_values,
611 const GValue *param_values,
612 gpointer invocation_hint G_GNUC_UNUSED,
613 gpointer marshal_data)
614{
615 typedef gboolean (*GMarshalFunc_BOOLEAN__VOID) (gpointer data1,
616 gpointer data2);
617 GCClosure *cc = (GCClosure *) closure;
618 gpointer data1, data2;
619 GMarshalFunc_BOOLEAN__VOID callback;
620 gboolean v_return;
621
622 g_return_if_fail (return_value != NULL);
623 g_return_if_fail (n_param_values == 1);
624
625 if (G_CCLOSURE_SWAP_DATA (closure))
626 {
627 data1 = closure->data;
628 data2 = g_value_peek_pointer (value: param_values + 0);
629 }
630 else
631 {
632 data1 = g_value_peek_pointer (value: param_values + 0);
633 data2 = closure->data;
634 }
635 callback = (GMarshalFunc_BOOLEAN__VOID) (marshal_data ? marshal_data : cc->callback);
636
637 v_return = callback (data1,
638 data2);
639
640 g_value_set_boolean (value: return_value, v_boolean: v_return);
641}
642
643void
644_g_cclosure_marshal_BOOLEAN__VOIDv (GClosure *closure,
645 GValue *return_value,
646 gpointer instance,
647 va_list args,
648 gpointer marshal_data,
649 int n_params,
650 GType *param_types)
651{
652 typedef gboolean (*GMarshalFunc_BOOLEAN__VOID) (gpointer data1,
653 gpointer data2);
654 GCClosure *cc = (GCClosure *) closure;
655 gpointer data1, data2;
656 GMarshalFunc_BOOLEAN__VOID callback;
657 gboolean v_return;
658
659 g_return_if_fail (return_value != NULL);
660
661 if (G_CCLOSURE_SWAP_DATA (closure))
662 {
663 data1 = closure->data;
664 data2 = instance;
665 }
666 else
667 {
668 data1 = instance;
669 data2 = closure->data;
670 }
671 callback = (GMarshalFunc_BOOLEAN__VOID) (marshal_data ? marshal_data : cc->callback);
672
673 v_return = callback (data1,
674 data2);
675
676
677 g_value_set_boolean (value: return_value, v_boolean: v_return);
678}
679
680/* INT:BOXED */
681void
682_g_cclosure_marshal_INT__BOXED (GClosure *closure,
683 GValue *return_value,
684 guint n_param_values,
685 const GValue *param_values,
686 gpointer invocation_hint G_GNUC_UNUSED,
687 gpointer marshal_data)
688{
689 typedef gint (*GMarshalFunc_INT__BOXED) (gpointer data1,
690 gpointer arg1,
691 gpointer data2);
692 GCClosure *cc = (GCClosure *) closure;
693 gpointer data1, data2;
694 GMarshalFunc_INT__BOXED callback;
695 gint v_return;
696
697 g_return_if_fail (return_value != NULL);
698 g_return_if_fail (n_param_values == 2);
699
700 if (G_CCLOSURE_SWAP_DATA (closure))
701 {
702 data1 = closure->data;
703 data2 = g_value_peek_pointer (value: param_values + 0);
704 }
705 else
706 {
707 data1 = g_value_peek_pointer (value: param_values + 0);
708 data2 = closure->data;
709 }
710 callback = (GMarshalFunc_INT__BOXED) (marshal_data ? marshal_data : cc->callback);
711
712 v_return = callback (data1,
713 g_marshal_value_peek_boxed (param_values + 1),
714 data2);
715
716 g_value_set_int (value: return_value, v_int: v_return);
717}
718
719void
720_g_cclosure_marshal_INT__BOXEDv (GClosure *closure,
721 GValue *return_value,
722 gpointer instance,
723 va_list args,
724 gpointer marshal_data,
725 int n_params,
726 GType *param_types)
727{
728 typedef gint (*GMarshalFunc_INT__BOXED) (gpointer data1,
729 gpointer arg1,
730 gpointer data2);
731 GCClosure *cc = (GCClosure *) closure;
732 gpointer data1, data2;
733 GMarshalFunc_INT__BOXED callback;
734 gint v_return;
735 gpointer arg0;
736 va_list args_copy;
737
738 G_VA_COPY (args_copy, args);
739 arg0 = (gpointer) va_arg (args_copy, gpointer);
740 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
741 arg0 = g_boxed_copy (boxed_type: param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg0);
742 va_end (args_copy);
743
744 g_return_if_fail (return_value != NULL);
745
746 if (G_CCLOSURE_SWAP_DATA (closure))
747 {
748 data1 = closure->data;
749 data2 = instance;
750 }
751 else
752 {
753 data1 = instance;
754 data2 = closure->data;
755 }
756 callback = (GMarshalFunc_INT__BOXED) (marshal_data ? marshal_data : cc->callback);
757
758 v_return = callback (data1,
759 arg0,
760 data2);
761 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
762 g_boxed_free (boxed_type: param_types[0] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg0);
763
764 g_value_set_int (value: return_value, v_int: v_return);
765}
766
767/* INT:OBJECT */
768void
769_g_cclosure_marshal_INT__OBJECT (GClosure *closure,
770 GValue *return_value,
771 guint n_param_values,
772 const GValue *param_values,
773 gpointer invocation_hint G_GNUC_UNUSED,
774 gpointer marshal_data)
775{
776 typedef gint (*GMarshalFunc_INT__OBJECT) (gpointer data1,
777 gpointer arg1,
778 gpointer data2);
779 GCClosure *cc = (GCClosure *) closure;
780 gpointer data1, data2;
781 GMarshalFunc_INT__OBJECT callback;
782 gint v_return;
783
784 g_return_if_fail (return_value != NULL);
785 g_return_if_fail (n_param_values == 2);
786
787 if (G_CCLOSURE_SWAP_DATA (closure))
788 {
789 data1 = closure->data;
790 data2 = g_value_peek_pointer (value: param_values + 0);
791 }
792 else
793 {
794 data1 = g_value_peek_pointer (value: param_values + 0);
795 data2 = closure->data;
796 }
797 callback = (GMarshalFunc_INT__OBJECT) (marshal_data ? marshal_data : cc->callback);
798
799 v_return = callback (data1,
800 g_marshal_value_peek_object (param_values + 1),
801 data2);
802
803 g_value_set_int (value: return_value, v_int: v_return);
804}
805
806void
807_g_cclosure_marshal_INT__OBJECTv (GClosure *closure,
808 GValue *return_value,
809 gpointer instance,
810 va_list args,
811 gpointer marshal_data,
812 int n_params,
813 GType *param_types)
814{
815 typedef gint (*GMarshalFunc_INT__OBJECT) (gpointer data1,
816 gpointer arg1,
817 gpointer data2);
818 GCClosure *cc = (GCClosure *) closure;
819 gpointer data1, data2;
820 GMarshalFunc_INT__OBJECT callback;
821 gint v_return;
822 gpointer arg0;
823 va_list args_copy;
824
825 G_VA_COPY (args_copy, args);
826 arg0 = (gpointer) va_arg (args_copy, gpointer);
827 if (arg0 != NULL)
828 arg0 = g_object_ref (arg0);
829 va_end (args_copy);
830
831 g_return_if_fail (return_value != NULL);
832
833 if (G_CCLOSURE_SWAP_DATA (closure))
834 {
835 data1 = closure->data;
836 data2 = instance;
837 }
838 else
839 {
840 data1 = instance;
841 data2 = closure->data;
842 }
843 callback = (GMarshalFunc_INT__OBJECT) (marshal_data ? marshal_data : cc->callback);
844
845 v_return = callback (data1,
846 arg0,
847 data2);
848 if (arg0 != NULL)
849 g_object_unref (object: arg0);
850
851 g_value_set_int (value: return_value, v_int: v_return);
852}
853
854/* VOID:BOOLEAN,BOXED */
855void
856_g_cclosure_marshal_VOID__BOOLEAN_BOXED (GClosure *closure,
857 GValue *return_value G_GNUC_UNUSED,
858 guint n_param_values,
859 const GValue *param_values,
860 gpointer invocation_hint G_GNUC_UNUSED,
861 gpointer marshal_data)
862{
863 typedef void (*GMarshalFunc_VOID__BOOLEAN_BOXED) (gpointer data1,
864 gboolean arg1,
865 gpointer arg2,
866 gpointer data2);
867 GCClosure *cc = (GCClosure *) closure;
868 gpointer data1, data2;
869 GMarshalFunc_VOID__BOOLEAN_BOXED callback;
870
871 g_return_if_fail (n_param_values == 3);
872
873 if (G_CCLOSURE_SWAP_DATA (closure))
874 {
875 data1 = closure->data;
876 data2 = g_value_peek_pointer (value: param_values + 0);
877 }
878 else
879 {
880 data1 = g_value_peek_pointer (value: param_values + 0);
881 data2 = closure->data;
882 }
883 callback = (GMarshalFunc_VOID__BOOLEAN_BOXED) (marshal_data ? marshal_data : cc->callback);
884
885 callback (data1,
886 g_marshal_value_peek_boolean (param_values + 1),
887 g_marshal_value_peek_boxed (param_values + 2),
888 data2);
889}
890
891void
892_g_cclosure_marshal_VOID__BOOLEAN_BOXEDv (GClosure *closure,
893 GValue *return_value G_GNUC_UNUSED,
894 gpointer instance,
895 va_list args,
896 gpointer marshal_data,
897 int n_params,
898 GType *param_types)
899{
900 typedef void (*GMarshalFunc_VOID__BOOLEAN_BOXED) (gpointer data1,
901 gboolean arg1,
902 gpointer arg2,
903 gpointer data2);
904 GCClosure *cc = (GCClosure *) closure;
905 gpointer data1, data2;
906 GMarshalFunc_VOID__BOOLEAN_BOXED callback;
907 gboolean arg0;
908 gpointer arg1;
909 va_list args_copy;
910
911 G_VA_COPY (args_copy, args);
912 arg0 = (gboolean) va_arg (args_copy, gboolean);
913 arg1 = (gpointer) va_arg (args_copy, gpointer);
914 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
915 arg1 = g_boxed_copy (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg1);
916 va_end (args_copy);
917
918
919 if (G_CCLOSURE_SWAP_DATA (closure))
920 {
921 data1 = closure->data;
922 data2 = instance;
923 }
924 else
925 {
926 data1 = instance;
927 data2 = closure->data;
928 }
929 callback = (GMarshalFunc_VOID__BOOLEAN_BOXED) (marshal_data ? marshal_data : cc->callback);
930
931 callback (data1,
932 arg0,
933 arg1,
934 data2);
935 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
936 g_boxed_free (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg1);
937}
938
939/* VOID:ENUM,OBJECT */
940void
941_g_cclosure_marshal_VOID__ENUM_OBJECT (GClosure *closure,
942 GValue *return_value G_GNUC_UNUSED,
943 guint n_param_values,
944 const GValue *param_values,
945 gpointer invocation_hint G_GNUC_UNUSED,
946 gpointer marshal_data)
947{
948 typedef void (*GMarshalFunc_VOID__ENUM_OBJECT) (gpointer data1,
949 gint arg1,
950 gpointer arg2,
951 gpointer data2);
952 GCClosure *cc = (GCClosure *) closure;
953 gpointer data1, data2;
954 GMarshalFunc_VOID__ENUM_OBJECT callback;
955
956 g_return_if_fail (n_param_values == 3);
957
958 if (G_CCLOSURE_SWAP_DATA (closure))
959 {
960 data1 = closure->data;
961 data2 = g_value_peek_pointer (value: param_values + 0);
962 }
963 else
964 {
965 data1 = g_value_peek_pointer (value: param_values + 0);
966 data2 = closure->data;
967 }
968 callback = (GMarshalFunc_VOID__ENUM_OBJECT) (marshal_data ? marshal_data : cc->callback);
969
970 callback (data1,
971 g_marshal_value_peek_enum (param_values + 1),
972 g_marshal_value_peek_object (param_values + 2),
973 data2);
974}
975
976void
977_g_cclosure_marshal_VOID__ENUM_OBJECTv (GClosure *closure,
978 GValue *return_value G_GNUC_UNUSED,
979 gpointer instance,
980 va_list args,
981 gpointer marshal_data,
982 int n_params,
983 GType *param_types)
984{
985 typedef void (*GMarshalFunc_VOID__ENUM_OBJECT) (gpointer data1,
986 gint arg1,
987 gpointer arg2,
988 gpointer data2);
989 GCClosure *cc = (GCClosure *) closure;
990 gpointer data1, data2;
991 GMarshalFunc_VOID__ENUM_OBJECT callback;
992 gint arg0;
993 gpointer arg1;
994 va_list args_copy;
995
996 G_VA_COPY (args_copy, args);
997 arg0 = (gint) va_arg (args_copy, gint);
998 arg1 = (gpointer) va_arg (args_copy, gpointer);
999 if (arg1 != NULL)
1000 arg1 = g_object_ref (arg1);
1001 va_end (args_copy);
1002
1003
1004 if (G_CCLOSURE_SWAP_DATA (closure))
1005 {
1006 data1 = closure->data;
1007 data2 = instance;
1008 }
1009 else
1010 {
1011 data1 = instance;
1012 data2 = closure->data;
1013 }
1014 callback = (GMarshalFunc_VOID__ENUM_OBJECT) (marshal_data ? marshal_data : cc->callback);
1015
1016 callback (data1,
1017 arg0,
1018 arg1,
1019 data2);
1020 if (arg1 != NULL)
1021 g_object_unref (object: arg1);
1022}
1023
1024/* VOID:ENUM,OBJECT,OBJECT */
1025void
1026_g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECT (GClosure *closure,
1027 GValue *return_value G_GNUC_UNUSED,
1028 guint n_param_values,
1029 const GValue *param_values,
1030 gpointer invocation_hint G_GNUC_UNUSED,
1031 gpointer marshal_data)
1032{
1033 typedef void (*GMarshalFunc_VOID__ENUM_OBJECT_OBJECT) (gpointer data1,
1034 gint arg1,
1035 gpointer arg2,
1036 gpointer arg3,
1037 gpointer data2);
1038 GCClosure *cc = (GCClosure *) closure;
1039 gpointer data1, data2;
1040 GMarshalFunc_VOID__ENUM_OBJECT_OBJECT callback;
1041
1042 g_return_if_fail (n_param_values == 4);
1043
1044 if (G_CCLOSURE_SWAP_DATA (closure))
1045 {
1046 data1 = closure->data;
1047 data2 = g_value_peek_pointer (value: param_values + 0);
1048 }
1049 else
1050 {
1051 data1 = g_value_peek_pointer (value: param_values + 0);
1052 data2 = closure->data;
1053 }
1054 callback = (GMarshalFunc_VOID__ENUM_OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
1055
1056 callback (data1,
1057 g_marshal_value_peek_enum (param_values + 1),
1058 g_marshal_value_peek_object (param_values + 2),
1059 g_marshal_value_peek_object (param_values + 3),
1060 data2);
1061}
1062
1063void
1064_g_cclosure_marshal_VOID__ENUM_OBJECT_OBJECTv (GClosure *closure,
1065 GValue *return_value G_GNUC_UNUSED,
1066 gpointer instance,
1067 va_list args,
1068 gpointer marshal_data,
1069 int n_params,
1070 GType *param_types)
1071{
1072 typedef void (*GMarshalFunc_VOID__ENUM_OBJECT_OBJECT) (gpointer data1,
1073 gint arg1,
1074 gpointer arg2,
1075 gpointer arg3,
1076 gpointer data2);
1077 GCClosure *cc = (GCClosure *) closure;
1078 gpointer data1, data2;
1079 GMarshalFunc_VOID__ENUM_OBJECT_OBJECT callback;
1080 gint arg0;
1081 gpointer arg1;
1082 gpointer arg2;
1083 va_list args_copy;
1084
1085 G_VA_COPY (args_copy, args);
1086 arg0 = (gint) va_arg (args_copy, gint);
1087 arg1 = (gpointer) va_arg (args_copy, gpointer);
1088 if (arg1 != NULL)
1089 arg1 = g_object_ref (arg1);
1090 arg2 = (gpointer) va_arg (args_copy, gpointer);
1091 if (arg2 != NULL)
1092 arg2 = g_object_ref (arg2);
1093 va_end (args_copy);
1094
1095
1096 if (G_CCLOSURE_SWAP_DATA (closure))
1097 {
1098 data1 = closure->data;
1099 data2 = instance;
1100 }
1101 else
1102 {
1103 data1 = instance;
1104 data2 = closure->data;
1105 }
1106 callback = (GMarshalFunc_VOID__ENUM_OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
1107
1108 callback (data1,
1109 arg0,
1110 arg1,
1111 arg2,
1112 data2);
1113 if (arg1 != NULL)
1114 g_object_unref (object: arg1);
1115 if (arg2 != NULL)
1116 g_object_unref (object: arg2);
1117}
1118
1119/* VOID:INT,INT,INT */
1120void
1121_g_cclosure_marshal_VOID__INT_INT_INT (GClosure *closure,
1122 GValue *return_value G_GNUC_UNUSED,
1123 guint n_param_values,
1124 const GValue *param_values,
1125 gpointer invocation_hint G_GNUC_UNUSED,
1126 gpointer marshal_data)
1127{
1128 typedef void (*GMarshalFunc_VOID__INT_INT_INT) (gpointer data1,
1129 gint arg1,
1130 gint arg2,
1131 gint arg3,
1132 gpointer data2);
1133 GCClosure *cc = (GCClosure *) closure;
1134 gpointer data1, data2;
1135 GMarshalFunc_VOID__INT_INT_INT callback;
1136
1137 g_return_if_fail (n_param_values == 4);
1138
1139 if (G_CCLOSURE_SWAP_DATA (closure))
1140 {
1141 data1 = closure->data;
1142 data2 = g_value_peek_pointer (value: param_values + 0);
1143 }
1144 else
1145 {
1146 data1 = g_value_peek_pointer (value: param_values + 0);
1147 data2 = closure->data;
1148 }
1149 callback = (GMarshalFunc_VOID__INT_INT_INT) (marshal_data ? marshal_data : cc->callback);
1150
1151 callback (data1,
1152 g_marshal_value_peek_int (param_values + 1),
1153 g_marshal_value_peek_int (param_values + 2),
1154 g_marshal_value_peek_int (param_values + 3),
1155 data2);
1156}
1157
1158void
1159_g_cclosure_marshal_VOID__INT_INT_INTv (GClosure *closure,
1160 GValue *return_value G_GNUC_UNUSED,
1161 gpointer instance,
1162 va_list args,
1163 gpointer marshal_data,
1164 int n_params,
1165 GType *param_types)
1166{
1167 typedef void (*GMarshalFunc_VOID__INT_INT_INT) (gpointer data1,
1168 gint arg1,
1169 gint arg2,
1170 gint arg3,
1171 gpointer data2);
1172 GCClosure *cc = (GCClosure *) closure;
1173 gpointer data1, data2;
1174 GMarshalFunc_VOID__INT_INT_INT callback;
1175 gint arg0;
1176 gint arg1;
1177 gint arg2;
1178 va_list args_copy;
1179
1180 G_VA_COPY (args_copy, args);
1181 arg0 = (gint) va_arg (args_copy, gint);
1182 arg1 = (gint) va_arg (args_copy, gint);
1183 arg2 = (gint) va_arg (args_copy, gint);
1184 va_end (args_copy);
1185
1186
1187 if (G_CCLOSURE_SWAP_DATA (closure))
1188 {
1189 data1 = closure->data;
1190 data2 = instance;
1191 }
1192 else
1193 {
1194 data1 = instance;
1195 data2 = closure->data;
1196 }
1197 callback = (GMarshalFunc_VOID__INT_INT_INT) (marshal_data ? marshal_data : cc->callback);
1198
1199 callback (data1,
1200 arg0,
1201 arg1,
1202 arg2,
1203 data2);
1204
1205}
1206
1207/* VOID:OBJECT,OBJECT */
1208void
1209_g_cclosure_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
1210 GValue *return_value G_GNUC_UNUSED,
1211 guint n_param_values,
1212 const GValue *param_values,
1213 gpointer invocation_hint G_GNUC_UNUSED,
1214 gpointer marshal_data)
1215{
1216 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
1217 gpointer arg1,
1218 gpointer arg2,
1219 gpointer data2);
1220 GCClosure *cc = (GCClosure *) closure;
1221 gpointer data1, data2;
1222 GMarshalFunc_VOID__OBJECT_OBJECT callback;
1223
1224 g_return_if_fail (n_param_values == 3);
1225
1226 if (G_CCLOSURE_SWAP_DATA (closure))
1227 {
1228 data1 = closure->data;
1229 data2 = g_value_peek_pointer (value: param_values + 0);
1230 }
1231 else
1232 {
1233 data1 = g_value_peek_pointer (value: param_values + 0);
1234 data2 = closure->data;
1235 }
1236 callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
1237
1238 callback (data1,
1239 g_marshal_value_peek_object (param_values + 1),
1240 g_marshal_value_peek_object (param_values + 2),
1241 data2);
1242}
1243
1244void
1245_g_cclosure_marshal_VOID__OBJECT_OBJECTv (GClosure *closure,
1246 GValue *return_value G_GNUC_UNUSED,
1247 gpointer instance,
1248 va_list args,
1249 gpointer marshal_data,
1250 int n_params,
1251 GType *param_types)
1252{
1253 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
1254 gpointer arg1,
1255 gpointer arg2,
1256 gpointer data2);
1257 GCClosure *cc = (GCClosure *) closure;
1258 gpointer data1, data2;
1259 GMarshalFunc_VOID__OBJECT_OBJECT callback;
1260 gpointer arg0;
1261 gpointer arg1;
1262 va_list args_copy;
1263
1264 G_VA_COPY (args_copy, args);
1265 arg0 = (gpointer) va_arg (args_copy, gpointer);
1266 if (arg0 != NULL)
1267 arg0 = g_object_ref (arg0);
1268 arg1 = (gpointer) va_arg (args_copy, gpointer);
1269 if (arg1 != NULL)
1270 arg1 = g_object_ref (arg1);
1271 va_end (args_copy);
1272
1273
1274 if (G_CCLOSURE_SWAP_DATA (closure))
1275 {
1276 data1 = closure->data;
1277 data2 = instance;
1278 }
1279 else
1280 {
1281 data1 = instance;
1282 data2 = closure->data;
1283 }
1284 callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
1285
1286 callback (data1,
1287 arg0,
1288 arg1,
1289 data2);
1290 if (arg0 != NULL)
1291 g_object_unref (object: arg0);
1292 if (arg1 != NULL)
1293 g_object_unref (object: arg1);
1294}
1295
1296/* VOID:OBJECT,OBJECT,ENUM */
1297void
1298_g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUM (GClosure *closure,
1299 GValue *return_value G_GNUC_UNUSED,
1300 guint n_param_values,
1301 const GValue *param_values,
1302 gpointer invocation_hint G_GNUC_UNUSED,
1303 gpointer marshal_data)
1304{
1305 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_ENUM) (gpointer data1,
1306 gpointer arg1,
1307 gpointer arg2,
1308 gint arg3,
1309 gpointer data2);
1310 GCClosure *cc = (GCClosure *) closure;
1311 gpointer data1, data2;
1312 GMarshalFunc_VOID__OBJECT_OBJECT_ENUM callback;
1313
1314 g_return_if_fail (n_param_values == 4);
1315
1316 if (G_CCLOSURE_SWAP_DATA (closure))
1317 {
1318 data1 = closure->data;
1319 data2 = g_value_peek_pointer (value: param_values + 0);
1320 }
1321 else
1322 {
1323 data1 = g_value_peek_pointer (value: param_values + 0);
1324 data2 = closure->data;
1325 }
1326 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_ENUM) (marshal_data ? marshal_data : cc->callback);
1327
1328 callback (data1,
1329 g_marshal_value_peek_object (param_values + 1),
1330 g_marshal_value_peek_object (param_values + 2),
1331 g_marshal_value_peek_enum (param_values + 3),
1332 data2);
1333}
1334
1335void
1336_g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUMv (GClosure *closure,
1337 GValue *return_value G_GNUC_UNUSED,
1338 gpointer instance,
1339 va_list args,
1340 gpointer marshal_data,
1341 int n_params,
1342 GType *param_types)
1343{
1344 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_ENUM) (gpointer data1,
1345 gpointer arg1,
1346 gpointer arg2,
1347 gint arg3,
1348 gpointer data2);
1349 GCClosure *cc = (GCClosure *) closure;
1350 gpointer data1, data2;
1351 GMarshalFunc_VOID__OBJECT_OBJECT_ENUM callback;
1352 gpointer arg0;
1353 gpointer arg1;
1354 gint arg2;
1355 va_list args_copy;
1356
1357 G_VA_COPY (args_copy, args);
1358 arg0 = (gpointer) va_arg (args_copy, gpointer);
1359 if (arg0 != NULL)
1360 arg0 = g_object_ref (arg0);
1361 arg1 = (gpointer) va_arg (args_copy, gpointer);
1362 if (arg1 != NULL)
1363 arg1 = g_object_ref (arg1);
1364 arg2 = (gint) va_arg (args_copy, gint);
1365 va_end (args_copy);
1366
1367
1368 if (G_CCLOSURE_SWAP_DATA (closure))
1369 {
1370 data1 = closure->data;
1371 data2 = instance;
1372 }
1373 else
1374 {
1375 data1 = instance;
1376 data2 = closure->data;
1377 }
1378 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_ENUM) (marshal_data ? marshal_data : cc->callback);
1379
1380 callback (data1,
1381 arg0,
1382 arg1,
1383 arg2,
1384 data2);
1385 if (arg0 != NULL)
1386 g_object_unref (object: arg0);
1387 if (arg1 != NULL)
1388 g_object_unref (object: arg1);
1389}
1390
1391/* VOID:OBJECT,OBJECT,STRING,STRING,VARIANT */
1392void
1393_g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT (GClosure *closure,
1394 GValue *return_value G_GNUC_UNUSED,
1395 guint n_param_values,
1396 const GValue *param_values,
1397 gpointer invocation_hint G_GNUC_UNUSED,
1398 gpointer marshal_data)
1399{
1400 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT) (gpointer data1,
1401 gpointer arg1,
1402 gpointer arg2,
1403 gpointer arg3,
1404 gpointer arg4,
1405 gpointer arg5,
1406 gpointer data2);
1407 GCClosure *cc = (GCClosure *) closure;
1408 gpointer data1, data2;
1409 GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT callback;
1410
1411 g_return_if_fail (n_param_values == 6);
1412
1413 if (G_CCLOSURE_SWAP_DATA (closure))
1414 {
1415 data1 = closure->data;
1416 data2 = g_value_peek_pointer (value: param_values + 0);
1417 }
1418 else
1419 {
1420 data1 = g_value_peek_pointer (value: param_values + 0);
1421 data2 = closure->data;
1422 }
1423 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
1424
1425 callback (data1,
1426 g_marshal_value_peek_object (param_values + 1),
1427 g_marshal_value_peek_object (param_values + 2),
1428 g_marshal_value_peek_string (param_values + 3),
1429 g_marshal_value_peek_string (param_values + 4),
1430 g_marshal_value_peek_variant (param_values + 5),
1431 data2);
1432}
1433
1434void
1435_g_cclosure_marshal_VOID__OBJECT_OBJECT_STRING_STRING_VARIANTv (GClosure *closure,
1436 GValue *return_value G_GNUC_UNUSED,
1437 gpointer instance,
1438 va_list args,
1439 gpointer marshal_data,
1440 int n_params,
1441 GType *param_types)
1442{
1443 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT) (gpointer data1,
1444 gpointer arg1,
1445 gpointer arg2,
1446 gpointer arg3,
1447 gpointer arg4,
1448 gpointer arg5,
1449 gpointer data2);
1450 GCClosure *cc = (GCClosure *) closure;
1451 gpointer data1, data2;
1452 GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT callback;
1453 gpointer arg0;
1454 gpointer arg1;
1455 gpointer arg2;
1456 gpointer arg3;
1457 gpointer arg4;
1458 va_list args_copy;
1459
1460 G_VA_COPY (args_copy, args);
1461 arg0 = (gpointer) va_arg (args_copy, gpointer);
1462 if (arg0 != NULL)
1463 arg0 = g_object_ref (arg0);
1464 arg1 = (gpointer) va_arg (args_copy, gpointer);
1465 if (arg1 != NULL)
1466 arg1 = g_object_ref (arg1);
1467 arg2 = (gpointer) va_arg (args_copy, gpointer);
1468 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1469 arg2 = g_strdup (str: arg2);
1470 arg3 = (gpointer) va_arg (args_copy, gpointer);
1471 if ((param_types[3] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg3 != NULL)
1472 arg3 = g_strdup (str: arg3);
1473 arg4 = (gpointer) va_arg (args_copy, gpointer);
1474 if ((param_types[4] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg4 != NULL)
1475 arg4 = g_variant_ref_sink (value: arg4);
1476 va_end (args_copy);
1477
1478
1479 if (G_CCLOSURE_SWAP_DATA (closure))
1480 {
1481 data1 = closure->data;
1482 data2 = instance;
1483 }
1484 else
1485 {
1486 data1 = instance;
1487 data2 = closure->data;
1488 }
1489 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_STRING_STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
1490
1491 callback (data1,
1492 arg0,
1493 arg1,
1494 arg2,
1495 arg3,
1496 arg4,
1497 data2);
1498 if (arg0 != NULL)
1499 g_object_unref (object: arg0);
1500 if (arg1 != NULL)
1501 g_object_unref (object: arg1);
1502 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1503 g_free (mem: arg2);
1504 if ((param_types[3] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg3 != NULL)
1505 g_free (mem: arg3);
1506 if ((param_types[4] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg4 != NULL)
1507 g_variant_unref (value: arg4);
1508}
1509
1510/* VOID:OBJECT,OBJECT,VARIANT,BOXED */
1511void
1512_g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXED (GClosure *closure,
1513 GValue *return_value G_GNUC_UNUSED,
1514 guint n_param_values,
1515 const GValue *param_values,
1516 gpointer invocation_hint G_GNUC_UNUSED,
1517 gpointer marshal_data)
1518{
1519 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED) (gpointer data1,
1520 gpointer arg1,
1521 gpointer arg2,
1522 gpointer arg3,
1523 gpointer arg4,
1524 gpointer data2);
1525 GCClosure *cc = (GCClosure *) closure;
1526 gpointer data1, data2;
1527 GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED callback;
1528
1529 g_return_if_fail (n_param_values == 5);
1530
1531 if (G_CCLOSURE_SWAP_DATA (closure))
1532 {
1533 data1 = closure->data;
1534 data2 = g_value_peek_pointer (value: param_values + 0);
1535 }
1536 else
1537 {
1538 data1 = g_value_peek_pointer (value: param_values + 0);
1539 data2 = closure->data;
1540 }
1541 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED) (marshal_data ? marshal_data : cc->callback);
1542
1543 callback (data1,
1544 g_marshal_value_peek_object (param_values + 1),
1545 g_marshal_value_peek_object (param_values + 2),
1546 g_marshal_value_peek_variant (param_values + 3),
1547 g_marshal_value_peek_boxed (param_values + 4),
1548 data2);
1549}
1550
1551void
1552_g_cclosure_marshal_VOID__OBJECT_OBJECT_VARIANT_BOXEDv (GClosure *closure,
1553 GValue *return_value G_GNUC_UNUSED,
1554 gpointer instance,
1555 va_list args,
1556 gpointer marshal_data,
1557 int n_params,
1558 GType *param_types)
1559{
1560 typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED) (gpointer data1,
1561 gpointer arg1,
1562 gpointer arg2,
1563 gpointer arg3,
1564 gpointer arg4,
1565 gpointer data2);
1566 GCClosure *cc = (GCClosure *) closure;
1567 gpointer data1, data2;
1568 GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED callback;
1569 gpointer arg0;
1570 gpointer arg1;
1571 gpointer arg2;
1572 gpointer arg3;
1573 va_list args_copy;
1574
1575 G_VA_COPY (args_copy, args);
1576 arg0 = (gpointer) va_arg (args_copy, gpointer);
1577 if (arg0 != NULL)
1578 arg0 = g_object_ref (arg0);
1579 arg1 = (gpointer) va_arg (args_copy, gpointer);
1580 if (arg1 != NULL)
1581 arg1 = g_object_ref (arg1);
1582 arg2 = (gpointer) va_arg (args_copy, gpointer);
1583 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1584 arg2 = g_variant_ref_sink (value: arg2);
1585 arg3 = (gpointer) va_arg (args_copy, gpointer);
1586 if ((param_types[3] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg3 != NULL)
1587 arg3 = g_boxed_copy (boxed_type: param_types[3] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg3);
1588 va_end (args_copy);
1589
1590
1591 if (G_CCLOSURE_SWAP_DATA (closure))
1592 {
1593 data1 = closure->data;
1594 data2 = instance;
1595 }
1596 else
1597 {
1598 data1 = instance;
1599 data2 = closure->data;
1600 }
1601 callback = (GMarshalFunc_VOID__OBJECT_OBJECT_VARIANT_BOXED) (marshal_data ? marshal_data : cc->callback);
1602
1603 callback (data1,
1604 arg0,
1605 arg1,
1606 arg2,
1607 arg3,
1608 data2);
1609 if (arg0 != NULL)
1610 g_object_unref (object: arg0);
1611 if (arg1 != NULL)
1612 g_object_unref (object: arg1);
1613 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1614 g_variant_unref (value: arg2);
1615 if ((param_types[3] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg3 != NULL)
1616 g_boxed_free (boxed_type: param_types[3] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg3);
1617}
1618
1619/* VOID:OBJECT,VARIANT */
1620void
1621_g_cclosure_marshal_VOID__OBJECT_VARIANT (GClosure *closure,
1622 GValue *return_value G_GNUC_UNUSED,
1623 guint n_param_values,
1624 const GValue *param_values,
1625 gpointer invocation_hint G_GNUC_UNUSED,
1626 gpointer marshal_data)
1627{
1628 typedef void (*GMarshalFunc_VOID__OBJECT_VARIANT) (gpointer data1,
1629 gpointer arg1,
1630 gpointer arg2,
1631 gpointer data2);
1632 GCClosure *cc = (GCClosure *) closure;
1633 gpointer data1, data2;
1634 GMarshalFunc_VOID__OBJECT_VARIANT callback;
1635
1636 g_return_if_fail (n_param_values == 3);
1637
1638 if (G_CCLOSURE_SWAP_DATA (closure))
1639 {
1640 data1 = closure->data;
1641 data2 = g_value_peek_pointer (value: param_values + 0);
1642 }
1643 else
1644 {
1645 data1 = g_value_peek_pointer (value: param_values + 0);
1646 data2 = closure->data;
1647 }
1648 callback = (GMarshalFunc_VOID__OBJECT_VARIANT) (marshal_data ? marshal_data : cc->callback);
1649
1650 callback (data1,
1651 g_marshal_value_peek_object (param_values + 1),
1652 g_marshal_value_peek_variant (param_values + 2),
1653 data2);
1654}
1655
1656void
1657_g_cclosure_marshal_VOID__OBJECT_VARIANTv (GClosure *closure,
1658 GValue *return_value G_GNUC_UNUSED,
1659 gpointer instance,
1660 va_list args,
1661 gpointer marshal_data,
1662 int n_params,
1663 GType *param_types)
1664{
1665 typedef void (*GMarshalFunc_VOID__OBJECT_VARIANT) (gpointer data1,
1666 gpointer arg1,
1667 gpointer arg2,
1668 gpointer data2);
1669 GCClosure *cc = (GCClosure *) closure;
1670 gpointer data1, data2;
1671 GMarshalFunc_VOID__OBJECT_VARIANT callback;
1672 gpointer arg0;
1673 gpointer arg1;
1674 va_list args_copy;
1675
1676 G_VA_COPY (args_copy, args);
1677 arg0 = (gpointer) va_arg (args_copy, gpointer);
1678 if (arg0 != NULL)
1679 arg0 = g_object_ref (arg0);
1680 arg1 = (gpointer) va_arg (args_copy, gpointer);
1681 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
1682 arg1 = g_variant_ref_sink (value: arg1);
1683 va_end (args_copy);
1684
1685
1686 if (G_CCLOSURE_SWAP_DATA (closure))
1687 {
1688 data1 = closure->data;
1689 data2 = instance;
1690 }
1691 else
1692 {
1693 data1 = instance;
1694 data2 = closure->data;
1695 }
1696 callback = (GMarshalFunc_VOID__OBJECT_VARIANT) (marshal_data ? marshal_data : cc->callback);
1697
1698 callback (data1,
1699 arg0,
1700 arg1,
1701 data2);
1702 if (arg0 != NULL)
1703 g_object_unref (object: arg0);
1704 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
1705 g_variant_unref (value: arg1);
1706}
1707
1708/* VOID:POINTER,INT,STRING */
1709void
1710_g_cclosure_marshal_VOID__POINTER_INT_STRING (GClosure *closure,
1711 GValue *return_value G_GNUC_UNUSED,
1712 guint n_param_values,
1713 const GValue *param_values,
1714 gpointer invocation_hint G_GNUC_UNUSED,
1715 gpointer marshal_data)
1716{
1717 typedef void (*GMarshalFunc_VOID__POINTER_INT_STRING) (gpointer data1,
1718 gpointer arg1,
1719 gint arg2,
1720 gpointer arg3,
1721 gpointer data2);
1722 GCClosure *cc = (GCClosure *) closure;
1723 gpointer data1, data2;
1724 GMarshalFunc_VOID__POINTER_INT_STRING callback;
1725
1726 g_return_if_fail (n_param_values == 4);
1727
1728 if (G_CCLOSURE_SWAP_DATA (closure))
1729 {
1730 data1 = closure->data;
1731 data2 = g_value_peek_pointer (value: param_values + 0);
1732 }
1733 else
1734 {
1735 data1 = g_value_peek_pointer (value: param_values + 0);
1736 data2 = closure->data;
1737 }
1738 callback = (GMarshalFunc_VOID__POINTER_INT_STRING) (marshal_data ? marshal_data : cc->callback);
1739
1740 callback (data1,
1741 g_marshal_value_peek_pointer (param_values + 1),
1742 g_marshal_value_peek_int (param_values + 2),
1743 g_marshal_value_peek_string (param_values + 3),
1744 data2);
1745}
1746
1747void
1748_g_cclosure_marshal_VOID__POINTER_INT_STRINGv (GClosure *closure,
1749 GValue *return_value G_GNUC_UNUSED,
1750 gpointer instance,
1751 va_list args,
1752 gpointer marshal_data,
1753 int n_params,
1754 GType *param_types)
1755{
1756 typedef void (*GMarshalFunc_VOID__POINTER_INT_STRING) (gpointer data1,
1757 gpointer arg1,
1758 gint arg2,
1759 gpointer arg3,
1760 gpointer data2);
1761 GCClosure *cc = (GCClosure *) closure;
1762 gpointer data1, data2;
1763 GMarshalFunc_VOID__POINTER_INT_STRING callback;
1764 gpointer arg0;
1765 gint arg1;
1766 gpointer arg2;
1767 va_list args_copy;
1768
1769 G_VA_COPY (args_copy, args);
1770 arg0 = (gpointer) va_arg (args_copy, gpointer);
1771 arg1 = (gint) va_arg (args_copy, gint);
1772 arg2 = (gpointer) va_arg (args_copy, gpointer);
1773 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1774 arg2 = g_strdup (str: arg2);
1775 va_end (args_copy);
1776
1777
1778 if (G_CCLOSURE_SWAP_DATA (closure))
1779 {
1780 data1 = closure->data;
1781 data2 = instance;
1782 }
1783 else
1784 {
1785 data1 = instance;
1786 data2 = closure->data;
1787 }
1788 callback = (GMarshalFunc_VOID__POINTER_INT_STRING) (marshal_data ? marshal_data : cc->callback);
1789
1790 callback (data1,
1791 arg0,
1792 arg1,
1793 arg2,
1794 data2);
1795 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
1796 g_free (mem: arg2);
1797}
1798
1799/* VOID:STRING,BOOLEAN */
1800void
1801_g_cclosure_marshal_VOID__STRING_BOOLEAN (GClosure *closure,
1802 GValue *return_value G_GNUC_UNUSED,
1803 guint n_param_values,
1804 const GValue *param_values,
1805 gpointer invocation_hint G_GNUC_UNUSED,
1806 gpointer marshal_data)
1807{
1808 typedef void (*GMarshalFunc_VOID__STRING_BOOLEAN) (gpointer data1,
1809 gpointer arg1,
1810 gboolean arg2,
1811 gpointer data2);
1812 GCClosure *cc = (GCClosure *) closure;
1813 gpointer data1, data2;
1814 GMarshalFunc_VOID__STRING_BOOLEAN callback;
1815
1816 g_return_if_fail (n_param_values == 3);
1817
1818 if (G_CCLOSURE_SWAP_DATA (closure))
1819 {
1820 data1 = closure->data;
1821 data2 = g_value_peek_pointer (value: param_values + 0);
1822 }
1823 else
1824 {
1825 data1 = g_value_peek_pointer (value: param_values + 0);
1826 data2 = closure->data;
1827 }
1828 callback = (GMarshalFunc_VOID__STRING_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
1829
1830 callback (data1,
1831 g_marshal_value_peek_string (param_values + 1),
1832 g_marshal_value_peek_boolean (param_values + 2),
1833 data2);
1834}
1835
1836void
1837_g_cclosure_marshal_VOID__STRING_BOOLEANv (GClosure *closure,
1838 GValue *return_value G_GNUC_UNUSED,
1839 gpointer instance,
1840 va_list args,
1841 gpointer marshal_data,
1842 int n_params,
1843 GType *param_types)
1844{
1845 typedef void (*GMarshalFunc_VOID__STRING_BOOLEAN) (gpointer data1,
1846 gpointer arg1,
1847 gboolean arg2,
1848 gpointer data2);
1849 GCClosure *cc = (GCClosure *) closure;
1850 gpointer data1, data2;
1851 GMarshalFunc_VOID__STRING_BOOLEAN callback;
1852 gpointer arg0;
1853 gboolean arg1;
1854 va_list args_copy;
1855
1856 G_VA_COPY (args_copy, args);
1857 arg0 = (gpointer) va_arg (args_copy, gpointer);
1858 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
1859 arg0 = g_strdup (str: arg0);
1860 arg1 = (gboolean) va_arg (args_copy, gboolean);
1861 va_end (args_copy);
1862
1863
1864 if (G_CCLOSURE_SWAP_DATA (closure))
1865 {
1866 data1 = closure->data;
1867 data2 = instance;
1868 }
1869 else
1870 {
1871 data1 = instance;
1872 data2 = closure->data;
1873 }
1874 callback = (GMarshalFunc_VOID__STRING_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
1875
1876 callback (data1,
1877 arg0,
1878 arg1,
1879 data2);
1880 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
1881 g_free (mem: arg0);
1882}
1883
1884/* VOID:STRING,BOXED */
1885void
1886_g_cclosure_marshal_VOID__STRING_BOXED (GClosure *closure,
1887 GValue *return_value G_GNUC_UNUSED,
1888 guint n_param_values,
1889 const GValue *param_values,
1890 gpointer invocation_hint G_GNUC_UNUSED,
1891 gpointer marshal_data)
1892{
1893 typedef void (*GMarshalFunc_VOID__STRING_BOXED) (gpointer data1,
1894 gpointer arg1,
1895 gpointer arg2,
1896 gpointer data2);
1897 GCClosure *cc = (GCClosure *) closure;
1898 gpointer data1, data2;
1899 GMarshalFunc_VOID__STRING_BOXED callback;
1900
1901 g_return_if_fail (n_param_values == 3);
1902
1903 if (G_CCLOSURE_SWAP_DATA (closure))
1904 {
1905 data1 = closure->data;
1906 data2 = g_value_peek_pointer (value: param_values + 0);
1907 }
1908 else
1909 {
1910 data1 = g_value_peek_pointer (value: param_values + 0);
1911 data2 = closure->data;
1912 }
1913 callback = (GMarshalFunc_VOID__STRING_BOXED) (marshal_data ? marshal_data : cc->callback);
1914
1915 callback (data1,
1916 g_marshal_value_peek_string (param_values + 1),
1917 g_marshal_value_peek_boxed (param_values + 2),
1918 data2);
1919}
1920
1921void
1922_g_cclosure_marshal_VOID__STRING_BOXEDv (GClosure *closure,
1923 GValue *return_value G_GNUC_UNUSED,
1924 gpointer instance,
1925 va_list args,
1926 gpointer marshal_data,
1927 int n_params,
1928 GType *param_types)
1929{
1930 typedef void (*GMarshalFunc_VOID__STRING_BOXED) (gpointer data1,
1931 gpointer arg1,
1932 gpointer arg2,
1933 gpointer data2);
1934 GCClosure *cc = (GCClosure *) closure;
1935 gpointer data1, data2;
1936 GMarshalFunc_VOID__STRING_BOXED callback;
1937 gpointer arg0;
1938 gpointer arg1;
1939 va_list args_copy;
1940
1941 G_VA_COPY (args_copy, args);
1942 arg0 = (gpointer) va_arg (args_copy, gpointer);
1943 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
1944 arg0 = g_strdup (str: arg0);
1945 arg1 = (gpointer) va_arg (args_copy, gpointer);
1946 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
1947 arg1 = g_boxed_copy (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg1);
1948 va_end (args_copy);
1949
1950
1951 if (G_CCLOSURE_SWAP_DATA (closure))
1952 {
1953 data1 = closure->data;
1954 data2 = instance;
1955 }
1956 else
1957 {
1958 data1 = instance;
1959 data2 = closure->data;
1960 }
1961 callback = (GMarshalFunc_VOID__STRING_BOXED) (marshal_data ? marshal_data : cc->callback);
1962
1963 callback (data1,
1964 arg0,
1965 arg1,
1966 data2);
1967 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
1968 g_free (mem: arg0);
1969 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
1970 g_boxed_free (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg1);
1971}
1972
1973/* VOID:STRING,BOXED,BOXED */
1974void
1975_g_cclosure_marshal_VOID__STRING_BOXED_BOXED (GClosure *closure,
1976 GValue *return_value G_GNUC_UNUSED,
1977 guint n_param_values,
1978 const GValue *param_values,
1979 gpointer invocation_hint G_GNUC_UNUSED,
1980 gpointer marshal_data)
1981{
1982 typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED) (gpointer data1,
1983 gpointer arg1,
1984 gpointer arg2,
1985 gpointer arg3,
1986 gpointer data2);
1987 GCClosure *cc = (GCClosure *) closure;
1988 gpointer data1, data2;
1989 GMarshalFunc_VOID__STRING_BOXED_BOXED callback;
1990
1991 g_return_if_fail (n_param_values == 4);
1992
1993 if (G_CCLOSURE_SWAP_DATA (closure))
1994 {
1995 data1 = closure->data;
1996 data2 = g_value_peek_pointer (value: param_values + 0);
1997 }
1998 else
1999 {
2000 data1 = g_value_peek_pointer (value: param_values + 0);
2001 data2 = closure->data;
2002 }
2003 callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED) (marshal_data ? marshal_data : cc->callback);
2004
2005 callback (data1,
2006 g_marshal_value_peek_string (param_values + 1),
2007 g_marshal_value_peek_boxed (param_values + 2),
2008 g_marshal_value_peek_boxed (param_values + 3),
2009 data2);
2010}
2011
2012void
2013_g_cclosure_marshal_VOID__STRING_BOXED_BOXEDv (GClosure *closure,
2014 GValue *return_value G_GNUC_UNUSED,
2015 gpointer instance,
2016 va_list args,
2017 gpointer marshal_data,
2018 int n_params,
2019 GType *param_types)
2020{
2021 typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED) (gpointer data1,
2022 gpointer arg1,
2023 gpointer arg2,
2024 gpointer arg3,
2025 gpointer data2);
2026 GCClosure *cc = (GCClosure *) closure;
2027 gpointer data1, data2;
2028 GMarshalFunc_VOID__STRING_BOXED_BOXED callback;
2029 gpointer arg0;
2030 gpointer arg1;
2031 gpointer arg2;
2032 va_list args_copy;
2033
2034 G_VA_COPY (args_copy, args);
2035 arg0 = (gpointer) va_arg (args_copy, gpointer);
2036 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2037 arg0 = g_strdup (str: arg0);
2038 arg1 = (gpointer) va_arg (args_copy, gpointer);
2039 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2040 arg1 = g_boxed_copy (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg1);
2041 arg2 = (gpointer) va_arg (args_copy, gpointer);
2042 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2043 arg2 = g_boxed_copy (boxed_type: param_types[2] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg2);
2044 va_end (args_copy);
2045
2046
2047 if (G_CCLOSURE_SWAP_DATA (closure))
2048 {
2049 data1 = closure->data;
2050 data2 = instance;
2051 }
2052 else
2053 {
2054 data1 = instance;
2055 data2 = closure->data;
2056 }
2057 callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED) (marshal_data ? marshal_data : cc->callback);
2058
2059 callback (data1,
2060 arg0,
2061 arg1,
2062 arg2,
2063 data2);
2064 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2065 g_free (mem: arg0);
2066 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2067 g_boxed_free (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg1);
2068 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2069 g_boxed_free (boxed_type: param_types[2] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg2);
2070}
2071
2072/* VOID:STRING,INT64,INT64 */
2073void
2074_g_cclosure_marshal_VOID__STRING_INT64_INT64 (GClosure *closure,
2075 GValue *return_value G_GNUC_UNUSED,
2076 guint n_param_values,
2077 const GValue *param_values,
2078 gpointer invocation_hint G_GNUC_UNUSED,
2079 gpointer marshal_data)
2080{
2081 typedef void (*GMarshalFunc_VOID__STRING_INT64_INT64) (gpointer data1,
2082 gpointer arg1,
2083 gint64 arg2,
2084 gint64 arg3,
2085 gpointer data2);
2086 GCClosure *cc = (GCClosure *) closure;
2087 gpointer data1, data2;
2088 GMarshalFunc_VOID__STRING_INT64_INT64 callback;
2089
2090 g_return_if_fail (n_param_values == 4);
2091
2092 if (G_CCLOSURE_SWAP_DATA (closure))
2093 {
2094 data1 = closure->data;
2095 data2 = g_value_peek_pointer (value: param_values + 0);
2096 }
2097 else
2098 {
2099 data1 = g_value_peek_pointer (value: param_values + 0);
2100 data2 = closure->data;
2101 }
2102 callback = (GMarshalFunc_VOID__STRING_INT64_INT64) (marshal_data ? marshal_data : cc->callback);
2103
2104 callback (data1,
2105 g_marshal_value_peek_string (param_values + 1),
2106 g_marshal_value_peek_int64 (param_values + 2),
2107 g_marshal_value_peek_int64 (param_values + 3),
2108 data2);
2109}
2110
2111void
2112_g_cclosure_marshal_VOID__STRING_INT64_INT64v (GClosure *closure,
2113 GValue *return_value G_GNUC_UNUSED,
2114 gpointer instance,
2115 va_list args,
2116 gpointer marshal_data,
2117 int n_params,
2118 GType *param_types)
2119{
2120 typedef void (*GMarshalFunc_VOID__STRING_INT64_INT64) (gpointer data1,
2121 gpointer arg1,
2122 gint64 arg2,
2123 gint64 arg3,
2124 gpointer data2);
2125 GCClosure *cc = (GCClosure *) closure;
2126 gpointer data1, data2;
2127 GMarshalFunc_VOID__STRING_INT64_INT64 callback;
2128 gpointer arg0;
2129 gint64 arg1;
2130 gint64 arg2;
2131 va_list args_copy;
2132
2133 G_VA_COPY (args_copy, args);
2134 arg0 = (gpointer) va_arg (args_copy, gpointer);
2135 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2136 arg0 = g_strdup (str: arg0);
2137 arg1 = (gint64) va_arg (args_copy, gint64);
2138 arg2 = (gint64) va_arg (args_copy, gint64);
2139 va_end (args_copy);
2140
2141
2142 if (G_CCLOSURE_SWAP_DATA (closure))
2143 {
2144 data1 = closure->data;
2145 data2 = instance;
2146 }
2147 else
2148 {
2149 data1 = instance;
2150 data2 = closure->data;
2151 }
2152 callback = (GMarshalFunc_VOID__STRING_INT64_INT64) (marshal_data ? marshal_data : cc->callback);
2153
2154 callback (data1,
2155 arg0,
2156 arg1,
2157 arg2,
2158 data2);
2159 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2160 g_free (mem: arg0);
2161}
2162
2163/* VOID:STRING,STRING,STRING,FLAGS */
2164void
2165_g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGS (GClosure *closure,
2166 GValue *return_value G_GNUC_UNUSED,
2167 guint n_param_values,
2168 const GValue *param_values,
2169 gpointer invocation_hint G_GNUC_UNUSED,
2170 gpointer marshal_data)
2171{
2172 typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS) (gpointer data1,
2173 gpointer arg1,
2174 gpointer arg2,
2175 gpointer arg3,
2176 guint arg4,
2177 gpointer data2);
2178 GCClosure *cc = (GCClosure *) closure;
2179 gpointer data1, data2;
2180 GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS callback;
2181
2182 g_return_if_fail (n_param_values == 5);
2183
2184 if (G_CCLOSURE_SWAP_DATA (closure))
2185 {
2186 data1 = closure->data;
2187 data2 = g_value_peek_pointer (value: param_values + 0);
2188 }
2189 else
2190 {
2191 data1 = g_value_peek_pointer (value: param_values + 0);
2192 data2 = closure->data;
2193 }
2194 callback = (GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS) (marshal_data ? marshal_data : cc->callback);
2195
2196 callback (data1,
2197 g_marshal_value_peek_string (param_values + 1),
2198 g_marshal_value_peek_string (param_values + 2),
2199 g_marshal_value_peek_string (param_values + 3),
2200 g_marshal_value_peek_flags (param_values + 4),
2201 data2);
2202}
2203
2204void
2205_g_cclosure_marshal_VOID__STRING_STRING_STRING_FLAGSv (GClosure *closure,
2206 GValue *return_value G_GNUC_UNUSED,
2207 gpointer instance,
2208 va_list args,
2209 gpointer marshal_data,
2210 int n_params,
2211 GType *param_types)
2212{
2213 typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS) (gpointer data1,
2214 gpointer arg1,
2215 gpointer arg2,
2216 gpointer arg3,
2217 guint arg4,
2218 gpointer data2);
2219 GCClosure *cc = (GCClosure *) closure;
2220 gpointer data1, data2;
2221 GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS callback;
2222 gpointer arg0;
2223 gpointer arg1;
2224 gpointer arg2;
2225 guint arg3;
2226 va_list args_copy;
2227
2228 G_VA_COPY (args_copy, args);
2229 arg0 = (gpointer) va_arg (args_copy, gpointer);
2230 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2231 arg0 = g_strdup (str: arg0);
2232 arg1 = (gpointer) va_arg (args_copy, gpointer);
2233 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2234 arg1 = g_strdup (str: arg1);
2235 arg2 = (gpointer) va_arg (args_copy, gpointer);
2236 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2237 arg2 = g_strdup (str: arg2);
2238 arg3 = (guint) va_arg (args_copy, guint);
2239 va_end (args_copy);
2240
2241
2242 if (G_CCLOSURE_SWAP_DATA (closure))
2243 {
2244 data1 = closure->data;
2245 data2 = instance;
2246 }
2247 else
2248 {
2249 data1 = instance;
2250 data2 = closure->data;
2251 }
2252 callback = (GMarshalFunc_VOID__STRING_STRING_STRING_FLAGS) (marshal_data ? marshal_data : cc->callback);
2253
2254 callback (data1,
2255 arg0,
2256 arg1,
2257 arg2,
2258 arg3,
2259 data2);
2260 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2261 g_free (mem: arg0);
2262 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2263 g_free (mem: arg1);
2264 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2265 g_free (mem: arg2);
2266}
2267
2268/* VOID:STRING,STRING,VARIANT */
2269void
2270_g_cclosure_marshal_VOID__STRING_STRING_VARIANT (GClosure *closure,
2271 GValue *return_value G_GNUC_UNUSED,
2272 guint n_param_values,
2273 const GValue *param_values,
2274 gpointer invocation_hint G_GNUC_UNUSED,
2275 gpointer marshal_data)
2276{
2277 typedef void (*GMarshalFunc_VOID__STRING_STRING_VARIANT) (gpointer data1,
2278 gpointer arg1,
2279 gpointer arg2,
2280 gpointer arg3,
2281 gpointer data2);
2282 GCClosure *cc = (GCClosure *) closure;
2283 gpointer data1, data2;
2284 GMarshalFunc_VOID__STRING_STRING_VARIANT callback;
2285
2286 g_return_if_fail (n_param_values == 4);
2287
2288 if (G_CCLOSURE_SWAP_DATA (closure))
2289 {
2290 data1 = closure->data;
2291 data2 = g_value_peek_pointer (value: param_values + 0);
2292 }
2293 else
2294 {
2295 data1 = g_value_peek_pointer (value: param_values + 0);
2296 data2 = closure->data;
2297 }
2298 callback = (GMarshalFunc_VOID__STRING_STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
2299
2300 callback (data1,
2301 g_marshal_value_peek_string (param_values + 1),
2302 g_marshal_value_peek_string (param_values + 2),
2303 g_marshal_value_peek_variant (param_values + 3),
2304 data2);
2305}
2306
2307void
2308_g_cclosure_marshal_VOID__STRING_STRING_VARIANTv (GClosure *closure,
2309 GValue *return_value G_GNUC_UNUSED,
2310 gpointer instance,
2311 va_list args,
2312 gpointer marshal_data,
2313 int n_params,
2314 GType *param_types)
2315{
2316 typedef void (*GMarshalFunc_VOID__STRING_STRING_VARIANT) (gpointer data1,
2317 gpointer arg1,
2318 gpointer arg2,
2319 gpointer arg3,
2320 gpointer data2);
2321 GCClosure *cc = (GCClosure *) closure;
2322 gpointer data1, data2;
2323 GMarshalFunc_VOID__STRING_STRING_VARIANT callback;
2324 gpointer arg0;
2325 gpointer arg1;
2326 gpointer arg2;
2327 va_list args_copy;
2328
2329 G_VA_COPY (args_copy, args);
2330 arg0 = (gpointer) va_arg (args_copy, gpointer);
2331 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2332 arg0 = g_strdup (str: arg0);
2333 arg1 = (gpointer) va_arg (args_copy, gpointer);
2334 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2335 arg1 = g_strdup (str: arg1);
2336 arg2 = (gpointer) va_arg (args_copy, gpointer);
2337 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2338 arg2 = g_variant_ref_sink (value: arg2);
2339 va_end (args_copy);
2340
2341
2342 if (G_CCLOSURE_SWAP_DATA (closure))
2343 {
2344 data1 = closure->data;
2345 data2 = instance;
2346 }
2347 else
2348 {
2349 data1 = instance;
2350 data2 = closure->data;
2351 }
2352 callback = (GMarshalFunc_VOID__STRING_STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
2353
2354 callback (data1,
2355 arg0,
2356 arg1,
2357 arg2,
2358 data2);
2359 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2360 g_free (mem: arg0);
2361 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2362 g_free (mem: arg1);
2363 if ((param_types[2] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg2 != NULL)
2364 g_variant_unref (value: arg2);
2365}
2366
2367/* VOID:STRING,VARIANT */
2368void
2369_g_cclosure_marshal_VOID__STRING_VARIANT (GClosure *closure,
2370 GValue *return_value G_GNUC_UNUSED,
2371 guint n_param_values,
2372 const GValue *param_values,
2373 gpointer invocation_hint G_GNUC_UNUSED,
2374 gpointer marshal_data)
2375{
2376 typedef void (*GMarshalFunc_VOID__STRING_VARIANT) (gpointer data1,
2377 gpointer arg1,
2378 gpointer arg2,
2379 gpointer data2);
2380 GCClosure *cc = (GCClosure *) closure;
2381 gpointer data1, data2;
2382 GMarshalFunc_VOID__STRING_VARIANT callback;
2383
2384 g_return_if_fail (n_param_values == 3);
2385
2386 if (G_CCLOSURE_SWAP_DATA (closure))
2387 {
2388 data1 = closure->data;
2389 data2 = g_value_peek_pointer (value: param_values + 0);
2390 }
2391 else
2392 {
2393 data1 = g_value_peek_pointer (value: param_values + 0);
2394 data2 = closure->data;
2395 }
2396 callback = (GMarshalFunc_VOID__STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
2397
2398 callback (data1,
2399 g_marshal_value_peek_string (param_values + 1),
2400 g_marshal_value_peek_variant (param_values + 2),
2401 data2);
2402}
2403
2404void
2405_g_cclosure_marshal_VOID__STRING_VARIANTv (GClosure *closure,
2406 GValue *return_value G_GNUC_UNUSED,
2407 gpointer instance,
2408 va_list args,
2409 gpointer marshal_data,
2410 int n_params,
2411 GType *param_types)
2412{
2413 typedef void (*GMarshalFunc_VOID__STRING_VARIANT) (gpointer data1,
2414 gpointer arg1,
2415 gpointer arg2,
2416 gpointer data2);
2417 GCClosure *cc = (GCClosure *) closure;
2418 gpointer data1, data2;
2419 GMarshalFunc_VOID__STRING_VARIANT callback;
2420 gpointer arg0;
2421 gpointer arg1;
2422 va_list args_copy;
2423
2424 G_VA_COPY (args_copy, args);
2425 arg0 = (gpointer) va_arg (args_copy, gpointer);
2426 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2427 arg0 = g_strdup (str: arg0);
2428 arg1 = (gpointer) va_arg (args_copy, gpointer);
2429 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2430 arg1 = g_variant_ref_sink (value: arg1);
2431 va_end (args_copy);
2432
2433
2434 if (G_CCLOSURE_SWAP_DATA (closure))
2435 {
2436 data1 = closure->data;
2437 data2 = instance;
2438 }
2439 else
2440 {
2441 data1 = instance;
2442 data2 = closure->data;
2443 }
2444 callback = (GMarshalFunc_VOID__STRING_VARIANT) (marshal_data ? marshal_data : cc->callback);
2445
2446 callback (data1,
2447 arg0,
2448 arg1,
2449 data2);
2450 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2451 g_free (mem: arg0);
2452 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2453 g_variant_unref (value: arg1);
2454}
2455
2456/* VOID:UINT,UINT,UINT */
2457void
2458_g_cclosure_marshal_VOID__UINT_UINT_UINT (GClosure *closure,
2459 GValue *return_value G_GNUC_UNUSED,
2460 guint n_param_values,
2461 const GValue *param_values,
2462 gpointer invocation_hint G_GNUC_UNUSED,
2463 gpointer marshal_data)
2464{
2465 typedef void (*GMarshalFunc_VOID__UINT_UINT_UINT) (gpointer data1,
2466 guint arg1,
2467 guint arg2,
2468 guint arg3,
2469 gpointer data2);
2470 GCClosure *cc = (GCClosure *) closure;
2471 gpointer data1, data2;
2472 GMarshalFunc_VOID__UINT_UINT_UINT callback;
2473
2474 g_return_if_fail (n_param_values == 4);
2475
2476 if (G_CCLOSURE_SWAP_DATA (closure))
2477 {
2478 data1 = closure->data;
2479 data2 = g_value_peek_pointer (value: param_values + 0);
2480 }
2481 else
2482 {
2483 data1 = g_value_peek_pointer (value: param_values + 0);
2484 data2 = closure->data;
2485 }
2486 callback = (GMarshalFunc_VOID__UINT_UINT_UINT) (marshal_data ? marshal_data : cc->callback);
2487
2488 callback (data1,
2489 g_marshal_value_peek_uint (param_values + 1),
2490 g_marshal_value_peek_uint (param_values + 2),
2491 g_marshal_value_peek_uint (param_values + 3),
2492 data2);
2493}
2494
2495void
2496_g_cclosure_marshal_VOID__UINT_UINT_UINTv (GClosure *closure,
2497 GValue *return_value G_GNUC_UNUSED,
2498 gpointer instance,
2499 va_list args,
2500 gpointer marshal_data,
2501 int n_params,
2502 GType *param_types)
2503{
2504 typedef void (*GMarshalFunc_VOID__UINT_UINT_UINT) (gpointer data1,
2505 guint arg1,
2506 guint arg2,
2507 guint arg3,
2508 gpointer data2);
2509 GCClosure *cc = (GCClosure *) closure;
2510 gpointer data1, data2;
2511 GMarshalFunc_VOID__UINT_UINT_UINT callback;
2512 guint arg0;
2513 guint arg1;
2514 guint arg2;
2515 va_list args_copy;
2516
2517 G_VA_COPY (args_copy, args);
2518 arg0 = (guint) va_arg (args_copy, guint);
2519 arg1 = (guint) va_arg (args_copy, guint);
2520 arg2 = (guint) va_arg (args_copy, guint);
2521 va_end (args_copy);
2522
2523
2524 if (G_CCLOSURE_SWAP_DATA (closure))
2525 {
2526 data1 = closure->data;
2527 data2 = instance;
2528 }
2529 else
2530 {
2531 data1 = instance;
2532 data2 = closure->data;
2533 }
2534 callback = (GMarshalFunc_VOID__UINT_UINT_UINT) (marshal_data ? marshal_data : cc->callback);
2535
2536 callback (data1,
2537 arg0,
2538 arg1,
2539 arg2,
2540 data2);
2541
2542}
2543
2544/* VOID:VARIANT,BOXED */
2545void
2546_g_cclosure_marshal_VOID__VARIANT_BOXED (GClosure *closure,
2547 GValue *return_value G_GNUC_UNUSED,
2548 guint n_param_values,
2549 const GValue *param_values,
2550 gpointer invocation_hint G_GNUC_UNUSED,
2551 gpointer marshal_data)
2552{
2553 typedef void (*GMarshalFunc_VOID__VARIANT_BOXED) (gpointer data1,
2554 gpointer arg1,
2555 gpointer arg2,
2556 gpointer data2);
2557 GCClosure *cc = (GCClosure *) closure;
2558 gpointer data1, data2;
2559 GMarshalFunc_VOID__VARIANT_BOXED callback;
2560
2561 g_return_if_fail (n_param_values == 3);
2562
2563 if (G_CCLOSURE_SWAP_DATA (closure))
2564 {
2565 data1 = closure->data;
2566 data2 = g_value_peek_pointer (value: param_values + 0);
2567 }
2568 else
2569 {
2570 data1 = g_value_peek_pointer (value: param_values + 0);
2571 data2 = closure->data;
2572 }
2573 callback = (GMarshalFunc_VOID__VARIANT_BOXED) (marshal_data ? marshal_data : cc->callback);
2574
2575 callback (data1,
2576 g_marshal_value_peek_variant (param_values + 1),
2577 g_marshal_value_peek_boxed (param_values + 2),
2578 data2);
2579}
2580
2581void
2582_g_cclosure_marshal_VOID__VARIANT_BOXEDv (GClosure *closure,
2583 GValue *return_value G_GNUC_UNUSED,
2584 gpointer instance,
2585 va_list args,
2586 gpointer marshal_data,
2587 int n_params,
2588 GType *param_types)
2589{
2590 typedef void (*GMarshalFunc_VOID__VARIANT_BOXED) (gpointer data1,
2591 gpointer arg1,
2592 gpointer arg2,
2593 gpointer data2);
2594 GCClosure *cc = (GCClosure *) closure;
2595 gpointer data1, data2;
2596 GMarshalFunc_VOID__VARIANT_BOXED callback;
2597 gpointer arg0;
2598 gpointer arg1;
2599 va_list args_copy;
2600
2601 G_VA_COPY (args_copy, args);
2602 arg0 = (gpointer) va_arg (args_copy, gpointer);
2603 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2604 arg0 = g_variant_ref_sink (value: arg0);
2605 arg1 = (gpointer) va_arg (args_copy, gpointer);
2606 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2607 arg1 = g_boxed_copy (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, src_boxed: arg1);
2608 va_end (args_copy);
2609
2610
2611 if (G_CCLOSURE_SWAP_DATA (closure))
2612 {
2613 data1 = closure->data;
2614 data2 = instance;
2615 }
2616 else
2617 {
2618 data1 = instance;
2619 data2 = closure->data;
2620 }
2621 callback = (GMarshalFunc_VOID__VARIANT_BOXED) (marshal_data ? marshal_data : cc->callback);
2622
2623 callback (data1,
2624 arg0,
2625 arg1,
2626 data2);
2627 if ((param_types[0] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg0 != NULL)
2628 g_variant_unref (value: arg0);
2629 if ((param_types[1] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && arg1 != NULL)
2630 g_boxed_free (boxed_type: param_types[1] & ~G_SIGNAL_TYPE_STATIC_SCOPE, boxed: arg1);
2631}
2632

source code of gtk/subprojects/glib/gio/gmarshal-internal.c