Branch data Line data Source code
1 : : /*
2 : : SPDX-License-Identifier: GPL-2.0-or-later AND LGPL-2.0-or-later AND MIT
3 : : SPDX-FileCopyrightText: 2010-2012 Collabora, Ltd.
4 : : SPDX-FileCopyrightText: 2010 Johan Dahlin
5 : : SPDX-FileCopyrightText: 2010 Sugar Labs
6 : : SPDX-FileCopyrightText: 2010 Zach Goldberg
7 : : SPDX-FileCopyrightText: 2011 Alex Eftimie
8 : : SPDX-FileCopyrightText: 2011-2012 Canonical Ltd.
9 : : SPDX-FileCopyrightText: 2011-2012 Colin Walters <walters@verbum.org>
10 : : SPDX-FileCopyrightText: 2011 Dan Winship
11 : : SPDX-FileCopyrightText: 2011-2012 Giovanni Campagna
12 : : SPDX-FileCopyrightText: 2011 Ignacio Casal Quinteiro
13 : : SPDX-FileCopyrightText: 2011-2012 Jasper St. Pierre
14 : : SPDX-FileCopyrightText: 2011 Laszlo Pandy
15 : : SPDX-FileCopyrightText: 2011, 2013 Red Hat, Inc.
16 : : SPDX-FileCopyrightText: 2012 Bastian Winkler
17 : : SPDX-FileCopyrightText: 2012 Epitech
18 : : SPDX-FileCopyrightText: 2012 Gonzalo Odiard
19 : : SPDX-FileCopyrightText: 2012-2013 Martin Pitt
20 : : SPDX-FileCopyrightText: 2012-2013 Paolo Borelli
21 : : SPDX-FileCopyrightText: 2012 Sebastian Pölsterl
22 : : SPDX-FileCopyrightText: 2013 Simon Feltman
23 : : SPDX-FileCopyrightText: 2014 Lionel Landwerlin
24 : : SPDX-FileCopyrightText: 2014 RIFT.io, Inc.
25 : : SPDX-FileCopyrightText: 2014 SuSE
26 : : SPDX-FileCopyrightText: 2016 Endless Mobile, Inc.
27 : : SPDX-FileCopyrightText: 2017 Christoph Reiter
28 : : SPDX-FileCopyrightText: 2016-2017, 2023, 2025 Philip Chimento
29 : : SPDX-FileCopyrightText: 2018 Tomasz Miąsko
30 : : SPDX-FileCopyrightText: 2019 Stéphane Seng
31 : : SPDX-FileCopyrightText: 2020-2023 Marco Trevisan
32 : : SPDX-FileCopyrightText: 2020, 2024 Simon McVittie
33 : : SPDX-FileCopyrightText: 2021 Carlos Garnacho
34 : : */
35 : :
36 : : #pragma once
37 : :
38 : : #include <stddef.h> /* size_t */
39 : : #include <sys/types.h> /* off_t, time_t */
40 : :
41 : : #include <glib-object.h>
42 : : #include <glib.h>
43 : :
44 : : #ifdef G_OS_UNIX
45 : : #include <sys/socket.h>
46 : : #endif
47 : :
48 : : #include "gitestmacros.h"
49 : :
50 : : typedef struct _GIMarshallingTestsSimpleStruct GIMarshallingTestsSimpleStruct;
51 : : typedef struct _GIMarshallingTestsBoxedStruct GIMarshallingTestsBoxedStruct;
52 : :
53 : : /* Constants */
54 : :
55 : : #define GI_MARSHALLING_TESTS_CONSTANT_NUMBER 42
56 : : #define GI_MARSHALLING_TESTS_CONSTANT_UTF8 "const \xe2\x99\xa5 utf8"
57 : : #define GI_MARSHALLING_TESTS_CONSTANT_UCS4 { 0x63, 0x6f, 0x6e, 0x73, 0x74, \
58 : : 0x20, 0x2665, 0x20, 0x75, 0x74, \
59 : : 0x66, 0x38 }
60 : :
61 : : GI_TEST_EXTERN
62 : : void gi_marshalling_tests_cleanup_unaligned_buffer (void);
63 : :
64 : : /* Booleans */
65 : :
66 : : GI_TEST_EXTERN
67 : : gboolean gi_marshalling_tests_boolean_return_true (void);
68 : :
69 : : GI_TEST_EXTERN
70 : : gboolean gi_marshalling_tests_boolean_return_false (void);
71 : :
72 : : GI_TEST_EXTERN
73 : : void gi_marshalling_tests_boolean_in_true (gboolean v);
74 : :
75 : : GI_TEST_EXTERN
76 : : void gi_marshalling_tests_boolean_in_false (gboolean v);
77 : :
78 : : GI_TEST_EXTERN
79 : : void gi_marshalling_tests_boolean_out_true (gboolean *v);
80 : :
81 : : GI_TEST_EXTERN
82 : : void gi_marshalling_tests_boolean_out_false (gboolean *v);
83 : :
84 : : GI_TEST_EXTERN
85 : : gboolean gi_marshalling_tests_boolean_out_uninitialized (gboolean *v G_GNUC_UNUSED);
86 : :
87 : : GI_TEST_EXTERN
88 : : void gi_marshalling_tests_boolean_inout_true_false (gboolean *v);
89 : :
90 : : GI_TEST_EXTERN
91 : : void gi_marshalling_tests_boolean_inout_false_true (gboolean *v);
92 : :
93 : : /* Integers */
94 : :
95 : : GI_TEST_EXTERN
96 : : gint8 gi_marshalling_tests_int8_return_max (void);
97 : :
98 : : GI_TEST_EXTERN
99 : : gint8 gi_marshalling_tests_int8_return_min (void);
100 : :
101 : : GI_TEST_EXTERN
102 : : void gi_marshalling_tests_int8_in_max (gint8 v);
103 : :
104 : : GI_TEST_EXTERN
105 : : void gi_marshalling_tests_int8_in_min (gint8 v);
106 : :
107 : : GI_TEST_EXTERN
108 : : void gi_marshalling_tests_int8_out_max (gint8 *v);
109 : :
110 : : GI_TEST_EXTERN
111 : : void gi_marshalling_tests_int8_out_min (gint8 *v);
112 : :
113 : : GI_TEST_EXTERN
114 : : gboolean gi_marshalling_tests_int8_out_uninitialized (gint8 *v G_GNUC_UNUSED);
115 : :
116 : : GI_TEST_EXTERN
117 : : void gi_marshalling_tests_int8_inout_max_min (gint8 *v);
118 : :
119 : : GI_TEST_EXTERN
120 : : void gi_marshalling_tests_int8_inout_min_max (gint8 *v);
121 : :
122 : : GI_TEST_EXTERN
123 : : guint8 gi_marshalling_tests_uint8_return (void);
124 : :
125 : : GI_TEST_EXTERN
126 : : void gi_marshalling_tests_uint8_in (guint8 v);
127 : :
128 : : GI_TEST_EXTERN
129 : : void gi_marshalling_tests_uint8_out (guint8 *v);
130 : :
131 : : GI_TEST_EXTERN
132 : : gboolean gi_marshalling_tests_uint8_out_uninitialized (guint8 *v G_GNUC_UNUSED);
133 : :
134 : : GI_TEST_EXTERN
135 : : void gi_marshalling_tests_uint8_inout (guint8 *v);
136 : :
137 : : GI_TEST_EXTERN
138 : : gint16 gi_marshalling_tests_int16_return_max (void);
139 : :
140 : : GI_TEST_EXTERN
141 : : gint16 gi_marshalling_tests_int16_return_min (void);
142 : :
143 : : GI_TEST_EXTERN
144 : : void gi_marshalling_tests_int16_in_max (gint16 v);
145 : :
146 : : GI_TEST_EXTERN
147 : : void gi_marshalling_tests_int16_in_min (gint16 v);
148 : :
149 : : GI_TEST_EXTERN
150 : : void gi_marshalling_tests_int16_out_max (gint16 *v);
151 : :
152 : : GI_TEST_EXTERN
153 : : void gi_marshalling_tests_int16_out_min (gint16 *v);
154 : :
155 : : GI_TEST_EXTERN
156 : : gboolean gi_marshalling_tests_int16_out_uninitialized (gint16 *v G_GNUC_UNUSED);
157 : :
158 : : GI_TEST_EXTERN
159 : : void gi_marshalling_tests_int16_inout_max_min (gint16 *v);
160 : :
161 : : GI_TEST_EXTERN
162 : : void gi_marshalling_tests_int16_inout_min_max (gint16 *v);
163 : :
164 : : GI_TEST_EXTERN
165 : : guint16 gi_marshalling_tests_uint16_return (void);
166 : :
167 : : GI_TEST_EXTERN
168 : : void gi_marshalling_tests_uint16_in (guint16 v);
169 : :
170 : : GI_TEST_EXTERN
171 : : void gi_marshalling_tests_uint16_out (guint16 *v);
172 : :
173 : : GI_TEST_EXTERN
174 : : gboolean gi_marshalling_tests_uint16_out_uninitialized (guint16 *v G_GNUC_UNUSED);
175 : :
176 : : GI_TEST_EXTERN
177 : : void gi_marshalling_tests_uint16_inout (guint16 *v);
178 : :
179 : : GI_TEST_EXTERN
180 : : gint32 gi_marshalling_tests_int32_return_max (void);
181 : :
182 : : GI_TEST_EXTERN
183 : : gint32 gi_marshalling_tests_int32_return_min (void);
184 : :
185 : : GI_TEST_EXTERN
186 : : void gi_marshalling_tests_int32_in_max (gint32 v);
187 : :
188 : : GI_TEST_EXTERN
189 : : void gi_marshalling_tests_int32_in_min (gint32 v);
190 : :
191 : : GI_TEST_EXTERN
192 : : void gi_marshalling_tests_int32_out_max (gint32 *v);
193 : :
194 : : GI_TEST_EXTERN
195 : : void gi_marshalling_tests_int32_out_min (gint32 *v);
196 : :
197 : : GI_TEST_EXTERN
198 : : gboolean gi_marshalling_tests_int32_out_uninitialized (gint32 *v G_GNUC_UNUSED);
199 : :
200 : : GI_TEST_EXTERN
201 : : void gi_marshalling_tests_int32_inout_max_min (gint32 *v);
202 : :
203 : : GI_TEST_EXTERN
204 : : void gi_marshalling_tests_int32_inout_min_max (gint32 *v);
205 : :
206 : : GI_TEST_EXTERN
207 : : guint32 gi_marshalling_tests_uint32_return (void);
208 : :
209 : : GI_TEST_EXTERN
210 : : void gi_marshalling_tests_uint32_in (guint32 v);
211 : :
212 : : GI_TEST_EXTERN
213 : : void gi_marshalling_tests_uint32_out (guint32 *v);
214 : :
215 : : GI_TEST_EXTERN
216 : : gboolean gi_marshalling_tests_uint32_out_uninitialized (guint32 *v G_GNUC_UNUSED);
217 : :
218 : : GI_TEST_EXTERN
219 : : void gi_marshalling_tests_uint32_inout (guint32 *v);
220 : :
221 : : GI_TEST_EXTERN
222 : : gint64 gi_marshalling_tests_int64_return_max (void);
223 : :
224 : : GI_TEST_EXTERN
225 : : gint64 gi_marshalling_tests_int64_return_min (void);
226 : :
227 : : GI_TEST_EXTERN
228 : : void gi_marshalling_tests_int64_in_max (gint64 v);
229 : :
230 : : GI_TEST_EXTERN
231 : : void gi_marshalling_tests_int64_in_min (gint64 v);
232 : :
233 : : GI_TEST_EXTERN
234 : : void gi_marshalling_tests_int64_out_max (gint64 *v);
235 : :
236 : : GI_TEST_EXTERN
237 : : void gi_marshalling_tests_int64_out_min (gint64 *v);
238 : :
239 : : GI_TEST_EXTERN
240 : : gboolean gi_marshalling_tests_int64_out_uninitialized (gint64 *v G_GNUC_UNUSED);
241 : :
242 : : GI_TEST_EXTERN
243 : : void gi_marshalling_tests_int64_inout_max_min (gint64 *v);
244 : :
245 : : GI_TEST_EXTERN
246 : : void gi_marshalling_tests_int64_inout_min_max (gint64 *v);
247 : :
248 : : GI_TEST_EXTERN
249 : : guint64 gi_marshalling_tests_uint64_return (void);
250 : :
251 : : GI_TEST_EXTERN
252 : : void gi_marshalling_tests_uint64_in (guint64 v);
253 : :
254 : : GI_TEST_EXTERN
255 : : void gi_marshalling_tests_uint64_out (guint64 *v);
256 : :
257 : : GI_TEST_EXTERN
258 : : gboolean gi_marshalling_tests_uint64_out_uninitialized (guint64 *v G_GNUC_UNUSED);
259 : :
260 : : GI_TEST_EXTERN
261 : : void gi_marshalling_tests_uint64_inout (guint64 *v);
262 : :
263 : : GI_TEST_EXTERN
264 : : gshort gi_marshalling_tests_short_return_max (void);
265 : :
266 : : GI_TEST_EXTERN
267 : : gshort gi_marshalling_tests_short_return_min (void);
268 : :
269 : : GI_TEST_EXTERN
270 : : void gi_marshalling_tests_short_in_max (gshort short_);
271 : :
272 : : GI_TEST_EXTERN
273 : : void gi_marshalling_tests_short_in_min (gshort short_);
274 : :
275 : : GI_TEST_EXTERN
276 : : void gi_marshalling_tests_short_out_max (gshort *short_);
277 : :
278 : : GI_TEST_EXTERN
279 : : void gi_marshalling_tests_short_out_min (gshort *short_);
280 : :
281 : : GI_TEST_EXTERN
282 : : gboolean gi_marshalling_tests_short_out_uninitialized (gshort *v G_GNUC_UNUSED);
283 : :
284 : : GI_TEST_EXTERN
285 : : void gi_marshalling_tests_short_inout_max_min (gshort *short_);
286 : :
287 : : GI_TEST_EXTERN
288 : : void gi_marshalling_tests_short_inout_min_max (gshort *short_);
289 : :
290 : : GI_TEST_EXTERN
291 : : gushort gi_marshalling_tests_ushort_return (void);
292 : :
293 : : GI_TEST_EXTERN
294 : : void gi_marshalling_tests_ushort_in (gushort ushort_);
295 : :
296 : : GI_TEST_EXTERN
297 : : void gi_marshalling_tests_ushort_out (gushort *ushort_);
298 : :
299 : : GI_TEST_EXTERN
300 : : gboolean gi_marshalling_tests_ushort_out_uninitialized (gushort *v G_GNUC_UNUSED);
301 : :
302 : : GI_TEST_EXTERN
303 : : void gi_marshalling_tests_ushort_inout (gushort *ushort_);
304 : :
305 : : GI_TEST_EXTERN
306 : : gint gi_marshalling_tests_int_return_max (void);
307 : :
308 : : GI_TEST_EXTERN
309 : : gint gi_marshalling_tests_int_return_min (void);
310 : :
311 : : GI_TEST_EXTERN
312 : : void gi_marshalling_tests_int_in_max (gint int_);
313 : :
314 : : GI_TEST_EXTERN
315 : : void gi_marshalling_tests_int_in_min (gint int_);
316 : :
317 : : GI_TEST_EXTERN
318 : : void gi_marshalling_tests_int_out_max (gint *int_);
319 : :
320 : : GI_TEST_EXTERN
321 : : void gi_marshalling_tests_int_out_min (gint *int_);
322 : :
323 : : GI_TEST_EXTERN
324 : : gboolean gi_marshalling_tests_int_out_uninitialized (gint *v G_GNUC_UNUSED);
325 : :
326 : : GI_TEST_EXTERN
327 : : void gi_marshalling_tests_int_inout_max_min (gint *int_);
328 : :
329 : : GI_TEST_EXTERN
330 : : void gi_marshalling_tests_int_inout_min_max (gint *int_);
331 : :
332 : : GI_TEST_EXTERN
333 : : guint gi_marshalling_tests_uint_return (void);
334 : :
335 : : GI_TEST_EXTERN
336 : : void gi_marshalling_tests_uint_in (guint uint_);
337 : :
338 : : GI_TEST_EXTERN
339 : : void gi_marshalling_tests_uint_out (guint *uint_);
340 : :
341 : : GI_TEST_EXTERN
342 : : gboolean gi_marshalling_tests_uint_out_uninitialized (guint *v G_GNUC_UNUSED);
343 : :
344 : : GI_TEST_EXTERN
345 : : void gi_marshalling_tests_uint_inout (guint *uint_);
346 : :
347 : : GI_TEST_EXTERN
348 : : glong gi_marshalling_tests_long_return_max (void);
349 : :
350 : : GI_TEST_EXTERN
351 : : glong gi_marshalling_tests_long_return_min (void);
352 : :
353 : : GI_TEST_EXTERN
354 : : void gi_marshalling_tests_long_in_max (glong long_);
355 : :
356 : : GI_TEST_EXTERN
357 : : void gi_marshalling_tests_long_in_min (glong long_);
358 : :
359 : : GI_TEST_EXTERN
360 : : void gi_marshalling_tests_long_out_max (glong *long_);
361 : :
362 : : GI_TEST_EXTERN
363 : : void gi_marshalling_tests_long_out_min (glong *long_);
364 : :
365 : : GI_TEST_EXTERN
366 : : gboolean gi_marshalling_tests_long_out_uninitialized (glong *v G_GNUC_UNUSED);
367 : :
368 : : GI_TEST_EXTERN
369 : : void gi_marshalling_tests_long_inout_max_min (glong *long_);
370 : :
371 : : GI_TEST_EXTERN
372 : : void gi_marshalling_tests_long_inout_min_max (glong *long_);
373 : :
374 : : GI_TEST_EXTERN
375 : : gulong gi_marshalling_tests_ulong_return (void);
376 : :
377 : : GI_TEST_EXTERN
378 : : void gi_marshalling_tests_ulong_in (gulong ulong_);
379 : :
380 : : GI_TEST_EXTERN
381 : : void gi_marshalling_tests_ulong_out (gulong *ulong_);
382 : :
383 : : GI_TEST_EXTERN
384 : : void gi_marshalling_tests_ulong_inout (gulong *ulong_);
385 : :
386 : : GI_TEST_EXTERN
387 : : gboolean gi_marshalling_tests_ulong_out_uninitialized (gulong *v G_GNUC_UNUSED);
388 : :
389 : : GI_TEST_EXTERN
390 : : gssize gi_marshalling_tests_ssize_return_max (void);
391 : :
392 : : GI_TEST_EXTERN
393 : : gssize gi_marshalling_tests_ssize_return_min (void);
394 : :
395 : : GI_TEST_EXTERN
396 : : void gi_marshalling_tests_ssize_in_max (gssize ssize);
397 : :
398 : : GI_TEST_EXTERN
399 : : void gi_marshalling_tests_ssize_in_min (gssize ssize);
400 : :
401 : : GI_TEST_EXTERN
402 : : void gi_marshalling_tests_ssize_out_max (gssize *ssize);
403 : :
404 : : GI_TEST_EXTERN
405 : : void gi_marshalling_tests_ssize_out_min (gssize *ssize);
406 : :
407 : : GI_TEST_EXTERN
408 : : gboolean gi_marshalling_tests_ssize_out_uninitialized (gssize *v G_GNUC_UNUSED);
409 : :
410 : : GI_TEST_EXTERN
411 : : void gi_marshalling_tests_ssize_inout_max_min (gssize *ssize);
412 : :
413 : : GI_TEST_EXTERN
414 : : void gi_marshalling_tests_ssize_inout_min_max (gssize *ssize);
415 : :
416 : : GI_TEST_EXTERN
417 : : gsize gi_marshalling_tests_size_return (void);
418 : :
419 : : GI_TEST_EXTERN
420 : : void gi_marshalling_tests_size_in (gsize size);
421 : :
422 : : GI_TEST_EXTERN
423 : : void gi_marshalling_tests_size_out (gsize *size);
424 : :
425 : : GI_TEST_EXTERN
426 : : gboolean gi_marshalling_tests_size_out_uninitialized (gsize *v G_GNUC_UNUSED);
427 : :
428 : : GI_TEST_EXTERN
429 : : void gi_marshalling_tests_size_inout (gsize *size);
430 : :
431 : : /* Floating-point */
432 : :
433 : : GI_TEST_EXTERN
434 : : gfloat gi_marshalling_tests_float_return (void);
435 : :
436 : : GI_TEST_EXTERN
437 : : void gi_marshalling_tests_float_in (gfloat v);
438 : :
439 : : GI_TEST_EXTERN
440 : : void gi_marshalling_tests_float_out (gfloat *v);
441 : :
442 : : GI_TEST_EXTERN
443 : : void gi_marshalling_tests_float_noncanonical_nan_out (gfloat *v);
444 : :
445 : : GI_TEST_EXTERN
446 : : gboolean gi_marshalling_tests_float_out_uninitialized (gfloat *v G_GNUC_UNUSED);
447 : :
448 : : GI_TEST_EXTERN
449 : : void gi_marshalling_tests_float_inout (gfloat *v);
450 : :
451 : : GI_TEST_EXTERN
452 : : gdouble gi_marshalling_tests_double_return (void);
453 : :
454 : : GI_TEST_EXTERN
455 : : void gi_marshalling_tests_double_in (gdouble v);
456 : :
457 : : GI_TEST_EXTERN
458 : : void gi_marshalling_tests_double_out (gdouble *v);
459 : :
460 : : GI_TEST_EXTERN
461 : : void gi_marshalling_tests_double_noncanonical_nan_out (gdouble *v);
462 : :
463 : : GI_TEST_EXTERN
464 : : gboolean gi_marshalling_tests_double_out_uninitialized (gdouble *v G_GNUC_UNUSED);
465 : :
466 : : GI_TEST_EXTERN
467 : : void gi_marshalling_tests_double_inout (gdouble *v);
468 : :
469 : : /* Timestamps */
470 : :
471 : : GI_TEST_EXTERN
472 : : time_t gi_marshalling_tests_time_t_return (void);
473 : :
474 : : GI_TEST_EXTERN
475 : : void gi_marshalling_tests_time_t_in (time_t v);
476 : :
477 : : GI_TEST_EXTERN
478 : : void gi_marshalling_tests_time_t_out (time_t *v);
479 : :
480 : : GI_TEST_EXTERN
481 : : gboolean gi_marshalling_tests_time_t_out_uninitialized (time_t *v G_GNUC_UNUSED);
482 : :
483 : : GI_TEST_EXTERN
484 : : void gi_marshalling_tests_time_t_inout (time_t *v);
485 : :
486 : : /* Platform file offset (avoid this, use goffset instead) */
487 : :
488 : : GI_TEST_EXTERN
489 : : off_t gi_marshalling_tests_off_t_return (void);
490 : :
491 : : GI_TEST_EXTERN
492 : : void gi_marshalling_tests_off_t_in (off_t v);
493 : :
494 : : GI_TEST_EXTERN
495 : : void gi_marshalling_tests_off_t_out (off_t *v);
496 : :
497 : : GI_TEST_EXTERN
498 : : gboolean gi_marshalling_tests_off_t_out_uninitialized (off_t *v G_GNUC_UNUSED);
499 : :
500 : : GI_TEST_EXTERN
501 : : void gi_marshalling_tests_off_t_inout (off_t *v);
502 : :
503 : : #ifdef G_OS_UNIX
504 : :
505 : : /* Unix device number */
506 : :
507 : : GI_TEST_EXTERN
508 : : dev_t gi_marshalling_tests_dev_t_return (void);
509 : :
510 : : GI_TEST_EXTERN
511 : : void gi_marshalling_tests_dev_t_in (dev_t v);
512 : :
513 : : GI_TEST_EXTERN
514 : : void gi_marshalling_tests_dev_t_out (dev_t *v);
515 : :
516 : : GI_TEST_EXTERN
517 : : gboolean gi_marshalling_tests_dev_t_out_uninitialized (dev_t *v G_GNUC_UNUSED);
518 : :
519 : : GI_TEST_EXTERN
520 : : void gi_marshalling_tests_dev_t_inout (dev_t *v);
521 : :
522 : : /* Unix group */
523 : :
524 : : GI_TEST_EXTERN
525 : : gid_t gi_marshalling_tests_gid_t_return (void);
526 : :
527 : : GI_TEST_EXTERN
528 : : void gi_marshalling_tests_gid_t_in (gid_t v);
529 : :
530 : : GI_TEST_EXTERN
531 : : void gi_marshalling_tests_gid_t_out (gid_t *v);
532 : :
533 : : GI_TEST_EXTERN
534 : : gboolean gi_marshalling_tests_gid_t_out_uninitialized (gid_t *v G_GNUC_UNUSED);
535 : :
536 : : GI_TEST_EXTERN
537 : : void gi_marshalling_tests_gid_t_inout (gid_t *v);
538 : :
539 : : /* Unix process */
540 : :
541 : : GI_TEST_EXTERN
542 : : pid_t gi_marshalling_tests_pid_t_return (void);
543 : :
544 : : GI_TEST_EXTERN
545 : : void gi_marshalling_tests_pid_t_in (pid_t v);
546 : :
547 : : GI_TEST_EXTERN
548 : : void gi_marshalling_tests_pid_t_out (pid_t *v);
549 : :
550 : : GI_TEST_EXTERN
551 : : gboolean gi_marshalling_tests_pid_t_out_uninitialized (pid_t *v G_GNUC_UNUSED);
552 : :
553 : : GI_TEST_EXTERN
554 : : void gi_marshalling_tests_pid_t_inout (pid_t *v);
555 : :
556 : : /* Unix socket address length */
557 : :
558 : : GI_TEST_EXTERN
559 : : socklen_t gi_marshalling_tests_socklen_t_return (void);
560 : :
561 : : GI_TEST_EXTERN
562 : : void gi_marshalling_tests_socklen_t_in (socklen_t v);
563 : :
564 : : GI_TEST_EXTERN
565 : : void gi_marshalling_tests_socklen_t_out (socklen_t *v);
566 : :
567 : : GI_TEST_EXTERN
568 : : gboolean gi_marshalling_tests_socklen_t_out_uninitialized (socklen_t *v G_GNUC_UNUSED);
569 : :
570 : : GI_TEST_EXTERN
571 : : void gi_marshalling_tests_socklen_t_inout (socklen_t *v);
572 : :
573 : : /* Unix user */
574 : :
575 : : GI_TEST_EXTERN
576 : : uid_t gi_marshalling_tests_uid_t_return (void);
577 : :
578 : : GI_TEST_EXTERN
579 : : void gi_marshalling_tests_uid_t_in (uid_t v);
580 : :
581 : : GI_TEST_EXTERN
582 : : void gi_marshalling_tests_uid_t_out (uid_t *v);
583 : :
584 : : GI_TEST_EXTERN
585 : : gboolean gi_marshalling_tests_uid_t_out_uninitialized (uid_t *v G_GNUC_UNUSED);
586 : :
587 : : GI_TEST_EXTERN
588 : : void gi_marshalling_tests_uid_t_inout (uid_t *v);
589 : :
590 : : #endif /* G_OS_UNIX */
591 : :
592 : : /* GType */
593 : :
594 : : GI_TEST_EXTERN
595 : : GType gi_marshalling_tests_gtype_return (void);
596 : :
597 : : GI_TEST_EXTERN
598 : : GType gi_marshalling_tests_gtype_string_return (void);
599 : :
600 : : GI_TEST_EXTERN
601 : : void gi_marshalling_tests_gtype_in (GType gtype);
602 : :
603 : : GI_TEST_EXTERN
604 : : void gi_marshalling_tests_gtype_string_in (GType gtype);
605 : :
606 : : GI_TEST_EXTERN
607 : : void gi_marshalling_tests_gtype_out (GType *gtype);
608 : :
609 : : GI_TEST_EXTERN
610 : : gboolean gi_marshalling_tests_gtype_out_uninitialized (GType *v G_GNUC_UNUSED);
611 : :
612 : : GI_TEST_EXTERN
613 : : void gi_marshalling_tests_gtype_string_out (GType *gtype);
614 : :
615 : : GI_TEST_EXTERN
616 : : void gi_marshalling_tests_gtype_inout (GType *gtype);
617 : :
618 : : /* UTF-8 */
619 : :
620 : : GI_TEST_EXTERN
621 : : const gchar *gi_marshalling_tests_utf8_none_return (void);
622 : :
623 : : GI_TEST_EXTERN
624 : : gchar *gi_marshalling_tests_utf8_full_return (void);
625 : :
626 : : GI_TEST_EXTERN
627 : : void gi_marshalling_tests_utf8_none_in (const gchar *utf8);
628 : :
629 : : GI_TEST_EXTERN
630 : : void gi_marshalling_tests_utf8_full_in (gchar *utf8);
631 : :
632 : : GI_TEST_EXTERN
633 : : void gi_marshalling_tests_utf8_none_out (const gchar **utf8);
634 : :
635 : : GI_TEST_EXTERN
636 : : gboolean gi_marshalling_tests_utf8_none_out_uninitialized (const gchar **v G_GNUC_UNUSED);
637 : :
638 : : GI_TEST_EXTERN
639 : : void gi_marshalling_tests_utf8_full_out (gchar **utf8);
640 : :
641 : : GI_TEST_EXTERN
642 : : void gi_marshalling_tests_utf8_dangling_out (gchar **utf8);
643 : :
644 : : GI_TEST_EXTERN
645 : : void gi_marshalling_tests_utf8_none_inout (const gchar **utf8);
646 : :
647 : : GI_TEST_EXTERN
648 : : void gi_marshalling_tests_utf8_full_inout (gchar **utf8);
649 : :
650 : : GI_TEST_EXTERN
651 : : GSList *gi_marshalling_tests_filename_list_return (void);
652 : :
653 : : GI_TEST_EXTERN
654 : : void gi_marshalling_tests_utf8_as_uint8array_in (const guint8 *array,
655 : : gsize len);
656 : :
657 : : /* Enum */
658 : :
659 : : typedef enum
660 : : {
661 : : GI_MARSHALLING_TESTS_ENUM_VALUE1,
662 : : GI_MARSHALLING_TESTS_ENUM_VALUE2,
663 : : GI_MARSHALLING_TESTS_ENUM_VALUE3 = 42
664 : : } GIMarshallingTestsEnum;
665 : :
666 : : typedef enum
667 : : {
668 : : GI_MARSHALLING_TESTS_SECOND_ENUM_SECONDVALUE1,
669 : : GI_MARSHALLING_TESTS_SECOND_ENUM_SECONDVALUE2,
670 : : } GIMarshallingTestsSecondEnum;
671 : :
672 : : GI_TEST_EXTERN
673 : : GIMarshallingTestsEnum gi_marshalling_tests_enum_returnv (void);
674 : :
675 : : GI_TEST_EXTERN
676 : : void gi_marshalling_tests_enum_in (GIMarshallingTestsEnum v);
677 : :
678 : : GI_TEST_EXTERN
679 : : void gi_marshalling_tests_enum_out (GIMarshallingTestsEnum *v);
680 : :
681 : : GI_TEST_EXTERN
682 : : gboolean gi_marshalling_tests_enum_out_uninitialized (GIMarshallingTestsEnum **v G_GNUC_UNUSED);
683 : :
684 : : GI_TEST_EXTERN
685 : : void gi_marshalling_tests_enum_inout (GIMarshallingTestsEnum *v);
686 : :
687 : : /* GEnum */
688 : :
689 : : typedef enum
690 : : {
691 : : GI_MARSHALLING_TESTS_GENUM_VALUE1,
692 : : GI_MARSHALLING_TESTS_GENUM_VALUE2,
693 : : GI_MARSHALLING_TESTS_GENUM_VALUE3 = 42
694 : : } GIMarshallingTestsGEnum;
695 : :
696 : : GI_TEST_EXTERN
697 : : GType gi_marshalling_tests_genum_get_type (void) G_GNUC_CONST;
698 : : #define GI_MARSHALLING_TESTS_TYPE_GENUM (gi_marshalling_tests_genum_get_type ())
699 : :
700 : : GI_TEST_EXTERN
701 : : GIMarshallingTestsGEnum gi_marshalling_tests_genum_returnv (void);
702 : :
703 : : GI_TEST_EXTERN
704 : : void gi_marshalling_tests_genum_in (GIMarshallingTestsGEnum v);
705 : :
706 : : GI_TEST_EXTERN
707 : : void gi_marshalling_tests_genum_out (GIMarshallingTestsGEnum *v);
708 : :
709 : : GI_TEST_EXTERN
710 : : gboolean gi_marshalling_tests_genum_out_uninitialized (GIMarshallingTestsGEnum *v G_GNUC_UNUSED);
711 : :
712 : : GI_TEST_EXTERN
713 : : void gi_marshalling_tests_genum_inout (GIMarshallingTestsGEnum *v);
714 : :
715 : : /* GFlags */
716 : :
717 : : typedef enum
718 : : {
719 : : GI_MARSHALLING_TESTS_FLAGS_VALUE1 = 1 << 0,
720 : : GI_MARSHALLING_TESTS_FLAGS_VALUE2 = 1 << 1,
721 : : GI_MARSHALLING_TESTS_FLAGS_VALUE3 = 1 << 2,
722 : : GI_MARSHALLING_TESTS_FLAGS_MASK = GI_MARSHALLING_TESTS_FLAGS_VALUE1 |
723 : : GI_MARSHALLING_TESTS_FLAGS_VALUE2,
724 : : GI_MARSHALLING_TESTS_FLAGS_MASK2 = GI_MARSHALLING_TESTS_FLAGS_MASK
725 : : } GIMarshallingTestsFlags;
726 : :
727 : : GI_TEST_EXTERN
728 : : GType gi_marshalling_tests_flags_get_type (void) G_GNUC_CONST;
729 : : #define GI_MARSHALLING_TESTS_TYPE_FLAGS (gi_marshalling_tests_flags_get_type ())
730 : :
731 : : GI_TEST_EXTERN
732 : : GIMarshallingTestsFlags gi_marshalling_tests_flags_returnv (void);
733 : :
734 : : GI_TEST_EXTERN
735 : : void gi_marshalling_tests_flags_in (GIMarshallingTestsFlags v);
736 : :
737 : : GI_TEST_EXTERN
738 : : void gi_marshalling_tests_flags_in_zero (GIMarshallingTestsFlags v);
739 : :
740 : : GI_TEST_EXTERN
741 : : void gi_marshalling_tests_flags_out (GIMarshallingTestsFlags *v);
742 : :
743 : : GI_TEST_EXTERN
744 : : gboolean gi_marshalling_tests_flags_out_uninitialized (GIMarshallingTestsFlags *v G_GNUC_UNUSED);
745 : :
746 : : GI_TEST_EXTERN
747 : : void gi_marshalling_tests_flags_inout (GIMarshallingTestsFlags *v);
748 : :
749 : : /* Flags with no GType */
750 : :
751 : : typedef enum
752 : : {
753 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE1 = 1 << 0,
754 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2 = 1 << 1,
755 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE3 = 1 << 2,
756 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_MASK = GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE1 |
757 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2,
758 : : GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_MASK2 = GI_MARSHALLING_TESTS_FLAGS_MASK
759 : : } GIMarshallingTestsNoTypeFlags;
760 : :
761 : : GI_TEST_EXTERN
762 : : GIMarshallingTestsNoTypeFlags gi_marshalling_tests_no_type_flags_returnv (void);
763 : :
764 : : GI_TEST_EXTERN
765 : : void gi_marshalling_tests_no_type_flags_in (GIMarshallingTestsNoTypeFlags v);
766 : :
767 : : GI_TEST_EXTERN
768 : : void gi_marshalling_tests_no_type_flags_in_zero (GIMarshallingTestsNoTypeFlags v);
769 : :
770 : : GI_TEST_EXTERN
771 : : void gi_marshalling_tests_no_type_flags_out (GIMarshallingTestsNoTypeFlags *v);
772 : :
773 : : GI_TEST_EXTERN
774 : : gboolean gi_marshalling_tests_no_type_flags_out_uninitialized (GIMarshallingTestsNoTypeFlags **v G_GNUC_UNUSED);
775 : :
776 : : GI_TEST_EXTERN
777 : : void gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *v);
778 : :
779 : : /* Arrays */
780 : :
781 : : GI_TEST_EXTERN
782 : : gboolean gi_marshalling_tests_init_function (gint *n_args, char ***argv);
783 : :
784 : : /* Fixed-size */
785 : :
786 : : GI_TEST_EXTERN
787 : : const gint *gi_marshalling_tests_array_fixed_int_return (void);
788 : :
789 : : GI_TEST_EXTERN
790 : : const gshort *gi_marshalling_tests_array_fixed_short_return (void);
791 : :
792 : : GI_TEST_EXTERN
793 : : const guint8 *gi_marshalling_tests_array_fixed_return_unaligned (void);
794 : :
795 : : GI_TEST_EXTERN
796 : : void gi_marshalling_tests_array_fixed_int_in (const gint *ints);
797 : :
798 : : GI_TEST_EXTERN
799 : : void gi_marshalling_tests_array_fixed_caller_allocated_out (gint *ints);
800 : :
801 : : GI_TEST_EXTERN
802 : : void gi_marshalling_tests_array_fixed_short_in (const gshort *shorts);
803 : :
804 : : GI_TEST_EXTERN
805 : : void gi_marshalling_tests_array_fixed_out (gint **ints);
806 : :
807 : : GI_TEST_EXTERN
808 : : gboolean gi_marshalling_tests_array_fixed_out_uninitialized (gint **v G_GNUC_UNUSED);
809 : :
810 : : GI_TEST_EXTERN
811 : : void gi_marshalling_tests_array_fixed_out_unaligned (const guint8 **v);
812 : :
813 : : GI_TEST_EXTERN
814 : : void gi_marshalling_tests_array_fixed_out_struct (GIMarshallingTestsSimpleStruct **structs);
815 : :
816 : : GI_TEST_EXTERN
817 : : gboolean gi_marshalling_tests_array_fixed_out_struct_uninitialized (GIMarshallingTestsSimpleStruct **v G_GNUC_UNUSED);
818 : :
819 : : GI_TEST_EXTERN
820 : : void gi_marshalling_tests_array_fixed_caller_allocated_struct_out (GIMarshallingTestsSimpleStruct *structs);
821 : :
822 : : GI_TEST_EXTERN
823 : : void gi_marshalling_tests_array_fixed_inout (gint **ints);
824 : :
825 : : /* Variable-size */
826 : :
827 : : GI_TEST_EXTERN
828 : : const gint *gi_marshalling_tests_array_return (gint *length);
829 : :
830 : : GI_TEST_EXTERN
831 : : const gint *gi_marshalling_tests_array_return_etc (gint first, gint *length, gint last, gint *sum);
832 : :
833 : : GI_TEST_EXTERN
834 : : const guint8 *gi_marshalling_tests_array_return_unaligned (gsize *len);
835 : :
836 : : GI_TEST_EXTERN
837 : : void gi_marshalling_tests_array_in (const gint *ints, gint length);
838 : :
839 : : GI_TEST_EXTERN
840 : : void gi_marshalling_tests_array_in_len_before (gint length, const gint *ints);
841 : :
842 : : GI_TEST_EXTERN
843 : : void gi_marshalling_tests_array_in_len_zero_terminated (const gint *ints, gint length);
844 : :
845 : : GI_TEST_EXTERN
846 : : void gi_marshalling_tests_array_string_in (const gchar **strings, gint length);
847 : :
848 : : GI_TEST_EXTERN
849 : : void gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length);
850 : :
851 : : GI_TEST_EXTERN
852 : : void gi_marshalling_tests_array_int64_in (const gint64 *ints, gint length);
853 : :
854 : : GI_TEST_EXTERN
855 : : void gi_marshalling_tests_array_uint64_in (const guint64 *ints, gint length);
856 : :
857 : : GI_TEST_EXTERN
858 : : void gi_marshalling_tests_array_unichar_in (const gunichar *chars, gint length);
859 : :
860 : : GI_TEST_EXTERN
861 : : void gi_marshalling_tests_array_bool_in (const gboolean *bools, gint length);
862 : :
863 : : GI_TEST_EXTERN
864 : : void gi_marshalling_tests_array_struct_in (GIMarshallingTestsBoxedStruct **structs, gint length);
865 : :
866 : : GI_TEST_EXTERN
867 : : void gi_marshalling_tests_array_struct_value_in (GIMarshallingTestsBoxedStruct *structs, gint length);
868 : :
869 : : GI_TEST_EXTERN
870 : : void gi_marshalling_tests_array_struct_take_in (GIMarshallingTestsBoxedStruct **structs, gint length);
871 : :
872 : : GI_TEST_EXTERN
873 : : void gi_marshalling_tests_array_simple_struct_in (GIMarshallingTestsSimpleStruct *structs, gint length);
874 : :
875 : : GI_TEST_EXTERN
876 : : void gi_marshalling_tests_multi_array_key_value_in (gint length, const gchar **keys, const GValue *values);
877 : :
878 : : GI_TEST_EXTERN
879 : : void gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *_enum, gint length);
880 : :
881 : : GI_TEST_EXTERN
882 : : void gi_marshalling_tests_array_flags_in (GIMarshallingTestsFlags *flags, gint length);
883 : :
884 : : GI_TEST_EXTERN
885 : : void gi_marshalling_tests_array_in_guint64_len (const gint *ints, guint64 length);
886 : :
887 : : GI_TEST_EXTERN
888 : : void gi_marshalling_tests_array_in_guint8_len (const gint *ints, guint8 length);
889 : :
890 : : GI_TEST_EXTERN
891 : : void gi_marshalling_tests_array_out (gint **ints, gint *length);
892 : :
893 : : GI_TEST_EXTERN
894 : : gboolean gi_marshalling_tests_array_out_uninitialized (gint **v G_GNUC_UNUSED, gint *length G_GNUC_UNUSED);
895 : :
896 : : GI_TEST_EXTERN
897 : : void gi_marshalling_tests_array_out_unaligned (const guint8 **v, gsize *len);
898 : :
899 : : GI_TEST_EXTERN
900 : : void gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length, gint last, gint *sum);
901 : :
902 : : GI_TEST_EXTERN
903 : : void gi_marshalling_tests_array_bool_out (const gboolean **bools, gint *length);
904 : :
905 : : GI_TEST_EXTERN
906 : : void gi_marshalling_tests_array_unichar_out (const gunichar **chars, gint *length);
907 : :
908 : : GI_TEST_EXTERN
909 : : void gi_marshalling_tests_array_inout (gint **ints, gint *length);
910 : :
911 : : GI_TEST_EXTERN
912 : : void gi_marshalling_tests_array_inout_etc (gint first, gint **ints, gint *length, gint last, gint *sum);
913 : :
914 : : GI_TEST_EXTERN
915 : : void gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars);
916 : :
917 : : /* Zero-terminated */
918 : :
919 : : GI_TEST_EXTERN
920 : : const gchar **gi_marshalling_tests_array_zero_terminated_return (void);
921 : :
922 : : GI_TEST_EXTERN
923 : : gchar **gi_marshalling_tests_array_zero_terminated_return_null (void);
924 : :
925 : : GI_TEST_EXTERN
926 : : GIMarshallingTestsBoxedStruct **gi_marshalling_tests_array_zero_terminated_return_struct (void);
927 : :
928 : : GI_TEST_EXTERN
929 : : GIMarshallingTestsBoxedStruct *gi_marshalling_tests_array_zero_terminated_return_sequential_struct (void);
930 : :
931 : : GI_TEST_EXTERN
932 : : gunichar *gi_marshalling_tests_array_zero_terminated_return_unichar (void);
933 : :
934 : : GI_TEST_EXTERN
935 : : const guint8 *gi_marshalling_tests_array_zero_terminated_return_unaligned (void);
936 : :
937 : : GI_TEST_EXTERN
938 : : void gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s);
939 : :
940 : : GI_TEST_EXTERN
941 : : void gi_marshalling_tests_array_zero_terminated_out (const gchar ***utf8s);
942 : :
943 : : GI_TEST_EXTERN
944 : : gboolean gi_marshalling_tests_array_zero_terminated_out_uninitialized (const gchar ***v G_GNUC_UNUSED);
945 : :
946 : : GI_TEST_EXTERN
947 : : void gi_marshalling_tests_array_zero_terminated_out_unaligned (const guint8 **v);
948 : :
949 : : GI_TEST_EXTERN
950 : : void gi_marshalling_tests_array_zero_terminated_inout (const gchar ***utf8s);
951 : :
952 : : GI_TEST_EXTERN
953 : : GVariant **gi_marshalling_tests_array_gvariant_none_in (GVariant **variants);
954 : :
955 : : GI_TEST_EXTERN
956 : : GVariant **gi_marshalling_tests_array_gvariant_container_in (GVariant **variants);
957 : :
958 : : GI_TEST_EXTERN
959 : : GVariant **gi_marshalling_tests_array_gvariant_full_in (GVariant **variants);
960 : :
961 : : /* Full complement of array-of-UTF8 in/out tests for fixed-length array,
962 : : * explicit-length array, zero-terminated array. GArray, GPtrArray, GList, and
963 : : * GSList are already covered below. */
964 : :
965 : : GI_TEST_EXTERN
966 : : const gchar *const *gi_marshalling_tests_length_array_utf8_none_return (size_t *out_length);
967 : :
968 : : GI_TEST_EXTERN
969 : : const gchar **gi_marshalling_tests_length_array_utf8_container_return (size_t *out_length);
970 : :
971 : : GI_TEST_EXTERN
972 : : gchar **gi_marshalling_tests_length_array_utf8_full_return (size_t *out_length);
973 : :
974 : : GI_TEST_EXTERN
975 : : void gi_marshalling_tests_length_array_utf8_none_in (const gchar *const *array, size_t length);
976 : :
977 : : GI_TEST_EXTERN
978 : : void gi_marshalling_tests_length_array_utf8_container_in (const gchar **array, size_t length);
979 : :
980 : : GI_TEST_EXTERN
981 : : void gi_marshalling_tests_length_array_utf8_full_in (gchar **array, size_t length);
982 : :
983 : : GI_TEST_EXTERN
984 : : void gi_marshalling_tests_length_array_utf8_none_out (const gchar *const **array_out, size_t *out_length);
985 : :
986 : : GI_TEST_EXTERN
987 : : void gi_marshalling_tests_length_array_utf8_container_out (const gchar ***array_out, size_t *out_length);
988 : :
989 : : GI_TEST_EXTERN
990 : : void gi_marshalling_tests_length_array_utf8_full_out (gchar ***array_out, size_t *out_length);
991 : :
992 : : GI_TEST_EXTERN
993 : : void gi_marshalling_tests_length_array_utf8_none_inout (const gchar *const **array_inout, size_t *inout_length);
994 : :
995 : : GI_TEST_EXTERN
996 : : void gi_marshalling_tests_length_array_utf8_container_inout (const gchar ***array_inout, size_t *inout_length);
997 : :
998 : : GI_TEST_EXTERN
999 : : void gi_marshalling_tests_length_array_utf8_full_inout (gchar ***array_inout, size_t *inout_length);
1000 : :
1001 : : GI_TEST_EXTERN
1002 : : void gi_marshalling_tests_length_array_utf8_optional_inout (int *inout_length, char **array_inout[]);
1003 : :
1004 : : GI_TEST_EXTERN
1005 : : const gchar *const *gi_marshalling_tests_zero_terminated_array_utf8_none_return (void);
1006 : :
1007 : : GI_TEST_EXTERN
1008 : : const gchar **gi_marshalling_tests_zero_terminated_array_utf8_container_return (void);
1009 : :
1010 : : GI_TEST_EXTERN
1011 : : gchar **gi_marshalling_tests_zero_terminated_array_utf8_full_return (void);
1012 : :
1013 : : GI_TEST_EXTERN
1014 : : void gi_marshalling_tests_zero_terminated_array_utf8_none_in (const gchar *const *array);
1015 : :
1016 : : GI_TEST_EXTERN
1017 : : void gi_marshalling_tests_zero_terminated_array_utf8_container_in (const gchar **array);
1018 : :
1019 : : GI_TEST_EXTERN
1020 : : void gi_marshalling_tests_zero_terminated_array_utf8_full_in (gchar **array);
1021 : :
1022 : : GI_TEST_EXTERN
1023 : : void gi_marshalling_tests_zero_terminated_array_utf8_none_out (const gchar *const **array_out);
1024 : :
1025 : : GI_TEST_EXTERN
1026 : : void gi_marshalling_tests_zero_terminated_array_utf8_container_out (const gchar ***array_out);
1027 : :
1028 : : GI_TEST_EXTERN
1029 : : void gi_marshalling_tests_zero_terminated_array_utf8_full_out (gchar ***array_out);
1030 : :
1031 : : GI_TEST_EXTERN
1032 : : void gi_marshalling_tests_zero_terminated_array_utf8_none_inout (const gchar *const **array_inout);
1033 : :
1034 : : GI_TEST_EXTERN
1035 : : void gi_marshalling_tests_zero_terminated_array_utf8_container_inout (const gchar ***array_inout);
1036 : :
1037 : : GI_TEST_EXTERN
1038 : : void gi_marshalling_tests_zero_terminated_array_utf8_full_inout (gchar ***array_inout);
1039 : :
1040 : : GI_TEST_EXTERN
1041 : : const gchar *const *gi_marshalling_tests_fixed_array_utf8_none_return (void);
1042 : :
1043 : : GI_TEST_EXTERN
1044 : : const gchar **gi_marshalling_tests_fixed_array_utf8_container_return (void);
1045 : :
1046 : : GI_TEST_EXTERN
1047 : : gchar **gi_marshalling_tests_fixed_array_utf8_full_return (void);
1048 : :
1049 : : GI_TEST_EXTERN
1050 : : void gi_marshalling_tests_fixed_array_utf8_none_in (const gchar *const *array);
1051 : :
1052 : : GI_TEST_EXTERN
1053 : : void gi_marshalling_tests_fixed_array_utf8_container_in (const gchar **array);
1054 : :
1055 : : GI_TEST_EXTERN
1056 : : void gi_marshalling_tests_fixed_array_utf8_full_in (gchar **array);
1057 : :
1058 : : GI_TEST_EXTERN
1059 : : void gi_marshalling_tests_fixed_array_utf8_none_out (const gchar *const **array_out);
1060 : :
1061 : : GI_TEST_EXTERN
1062 : : void gi_marshalling_tests_fixed_array_utf8_container_out (const gchar ***array_out);
1063 : :
1064 : : GI_TEST_EXTERN
1065 : : void gi_marshalling_tests_fixed_array_utf8_full_out (gchar ***array_out);
1066 : :
1067 : : GI_TEST_EXTERN
1068 : : void gi_marshalling_tests_fixed_array_utf8_none_inout (const gchar *const **array_inout);
1069 : :
1070 : : GI_TEST_EXTERN
1071 : : void gi_marshalling_tests_fixed_array_utf8_container_inout (const gchar ***array_inout);
1072 : :
1073 : : GI_TEST_EXTERN
1074 : : void gi_marshalling_tests_fixed_array_utf8_full_inout (gchar ***array_inout);
1075 : :
1076 : : /* GArray */
1077 : :
1078 : : GI_TEST_EXTERN
1079 : : GArray *gi_marshalling_tests_garray_int_none_return (void);
1080 : :
1081 : : GI_TEST_EXTERN
1082 : : GArray *gi_marshalling_tests_garray_uint64_none_return (void);
1083 : :
1084 : : GI_TEST_EXTERN
1085 : : GArray *gi_marshalling_tests_garray_enum_none_return (void);
1086 : :
1087 : : GI_TEST_EXTERN
1088 : : GArray *gi_marshalling_tests_garray_utf8_none_return (void);
1089 : :
1090 : : GI_TEST_EXTERN
1091 : : GArray *gi_marshalling_tests_garray_utf8_container_return (void);
1092 : :
1093 : : GI_TEST_EXTERN
1094 : : GArray *gi_marshalling_tests_garray_utf8_full_return (void);
1095 : :
1096 : : GI_TEST_EXTERN
1097 : : GArray *gi_marshalling_tests_garray_boxed_struct_full_return (void);
1098 : :
1099 : : GI_TEST_EXTERN
1100 : : void gi_marshalling_tests_garray_int_none_in (GArray *array_);
1101 : :
1102 : : GI_TEST_EXTERN
1103 : : void gi_marshalling_tests_garray_uint64_none_in (GArray *array_);
1104 : :
1105 : : GI_TEST_EXTERN
1106 : : void gi_marshalling_tests_garray_utf8_none_in (GArray *array_);
1107 : :
1108 : : GI_TEST_EXTERN
1109 : : void gi_marshalling_tests_garray_utf8_container_in (GArray *array_);
1110 : :
1111 : : GI_TEST_EXTERN
1112 : : void gi_marshalling_tests_garray_utf8_full_in (GArray *array_);
1113 : :
1114 : : GI_TEST_EXTERN
1115 : : void gi_marshalling_tests_garray_utf8_none_out (GArray **array_);
1116 : :
1117 : : GI_TEST_EXTERN
1118 : : gboolean gi_marshalling_tests_garray_utf8_none_out_uninitialized (GArray **v G_GNUC_UNUSED);
1119 : :
1120 : : GI_TEST_EXTERN
1121 : : void gi_marshalling_tests_garray_utf8_container_out (GArray **array_);
1122 : :
1123 : : GI_TEST_EXTERN
1124 : : gboolean gi_marshalling_tests_garray_utf8_container_out_uninitialized (GArray **v G_GNUC_UNUSED);
1125 : :
1126 : : GI_TEST_EXTERN
1127 : : void gi_marshalling_tests_garray_utf8_full_out (GArray **array_);
1128 : :
1129 : : GI_TEST_EXTERN
1130 : : gboolean gi_marshalling_tests_garray_utf8_full_out_uninitialized (GArray **v G_GNUC_UNUSED);
1131 : :
1132 : : GI_TEST_EXTERN
1133 : : void gi_marshalling_tests_garray_utf8_full_out_caller_allocated (GArray *array_);
1134 : :
1135 : : GI_TEST_EXTERN
1136 : : void gi_marshalling_tests_garray_utf8_none_inout (GArray **array_);
1137 : :
1138 : : GI_TEST_EXTERN
1139 : : void gi_marshalling_tests_garray_utf8_container_inout (GArray **array_);
1140 : :
1141 : : GI_TEST_EXTERN
1142 : : void gi_marshalling_tests_garray_utf8_full_inout (GArray **array_);
1143 : :
1144 : : GI_TEST_EXTERN
1145 : : void gi_marshalling_tests_garray_bool_none_in (GArray *array_);
1146 : :
1147 : : GI_TEST_EXTERN
1148 : : void gi_marshalling_tests_garray_unichar_none_in (GArray *array_);
1149 : :
1150 : : /* GPtrArray */
1151 : :
1152 : : GI_TEST_EXTERN
1153 : : GPtrArray *gi_marshalling_tests_gptrarray_utf8_none_return (void);
1154 : :
1155 : : GI_TEST_EXTERN
1156 : : GPtrArray *gi_marshalling_tests_gptrarray_utf8_container_return (void);
1157 : :
1158 : : GI_TEST_EXTERN
1159 : : GPtrArray *gi_marshalling_tests_gptrarray_utf8_full_return (void);
1160 : :
1161 : : GI_TEST_EXTERN
1162 : : GPtrArray *gi_marshalling_tests_gptrarray_boxed_struct_full_return (void);
1163 : :
1164 : : GI_TEST_EXTERN
1165 : : void gi_marshalling_tests_gptrarray_utf8_none_in (GPtrArray *parray_);
1166 : :
1167 : : GI_TEST_EXTERN
1168 : : void gi_marshalling_tests_gptrarray_utf8_container_in (GPtrArray *parray_);
1169 : :
1170 : : GI_TEST_EXTERN
1171 : : void gi_marshalling_tests_gptrarray_utf8_full_in (GPtrArray *parray_);
1172 : :
1173 : : GI_TEST_EXTERN
1174 : : void gi_marshalling_tests_gptrarray_utf8_none_out (GPtrArray **parray_);
1175 : :
1176 : : GI_TEST_EXTERN
1177 : : gboolean gi_marshalling_tests_gptrarray_utf8_none_out_uninitialized (GPtrArray **v G_GNUC_UNUSED);
1178 : :
1179 : : GI_TEST_EXTERN
1180 : : void gi_marshalling_tests_gptrarray_utf8_container_out (GPtrArray **parray_);
1181 : :
1182 : : GI_TEST_EXTERN
1183 : : gboolean gi_marshalling_tests_gptrarray_utf8_container_out_uninitialized (GPtrArray **v G_GNUC_UNUSED);
1184 : :
1185 : : GI_TEST_EXTERN
1186 : : void gi_marshalling_tests_gptrarray_utf8_full_out (GPtrArray **parray_);
1187 : :
1188 : : GI_TEST_EXTERN
1189 : : gboolean gi_marshalling_tests_gptrarray_utf8_full_out_uninitialized (GPtrArray **v G_GNUC_UNUSED);
1190 : :
1191 : : GI_TEST_EXTERN
1192 : : void gi_marshalling_tests_gptrarray_utf8_none_inout (GPtrArray **parray_);
1193 : :
1194 : : GI_TEST_EXTERN
1195 : : void gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_);
1196 : :
1197 : : GI_TEST_EXTERN
1198 : : void gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_);
1199 : :
1200 : : /* GByteArray */
1201 : :
1202 : : GI_TEST_EXTERN
1203 : : GByteArray *gi_marshalling_tests_bytearray_full_return (void);
1204 : :
1205 : : GI_TEST_EXTERN
1206 : : void gi_marshalling_tests_bytearray_none_in (GByteArray *v);
1207 : :
1208 : : GI_TEST_EXTERN
1209 : : void gi_marshalling_tests_bytearray_full_out (GByteArray **v);
1210 : :
1211 : : GI_TEST_EXTERN
1212 : : void gi_marshalling_tests_bytearray_full_inout (GByteArray **v);
1213 : :
1214 : : /* GBytes */
1215 : :
1216 : : GI_TEST_EXTERN
1217 : : GBytes *gi_marshalling_tests_gbytes_full_return (void);
1218 : :
1219 : : GI_TEST_EXTERN
1220 : : void gi_marshalling_tests_gbytes_none_in (GBytes *v);
1221 : :
1222 : : /* GStrv */
1223 : :
1224 : : GI_TEST_EXTERN
1225 : : GStrv gi_marshalling_tests_gstrv_return (void);
1226 : :
1227 : : GI_TEST_EXTERN
1228 : : void gi_marshalling_tests_gstrv_in (GStrv g_strv);
1229 : :
1230 : : GI_TEST_EXTERN
1231 : : void gi_marshalling_tests_gstrv_out (GStrv *g_strv);
1232 : :
1233 : : GI_TEST_EXTERN
1234 : : gboolean gi_marshalling_tests_gstrv_out_uninitialized (GStrv *v G_GNUC_UNUSED);
1235 : :
1236 : : GI_TEST_EXTERN
1237 : : void gi_marshalling_tests_gstrv_inout (GStrv *g_strv);
1238 : :
1239 : : /* Array of GStrv's */
1240 : :
1241 : : GI_TEST_EXTERN
1242 : : GStrv *gi_marshalling_tests_length_array_of_gstrv_transfer_full_return (size_t *out_length);
1243 : :
1244 : : GI_TEST_EXTERN
1245 : : GStrv *gi_marshalling_tests_length_array_of_gstrv_transfer_container_return (size_t *out_length);
1246 : :
1247 : : GI_TEST_EXTERN
1248 : : GStrv *gi_marshalling_tests_length_array_of_gstrv_transfer_none_return (size_t *out_length);
1249 : :
1250 : : GI_TEST_EXTERN
1251 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_none_in (GStrv *array, size_t length);
1252 : :
1253 : : GI_TEST_EXTERN
1254 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_container_in (GStrv *array, size_t length);
1255 : :
1256 : : GI_TEST_EXTERN
1257 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_full_in (GStrv *array, size_t length);
1258 : :
1259 : : GI_TEST_EXTERN
1260 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_none_out (GStrv **array_out, size_t *out_length);
1261 : :
1262 : : GI_TEST_EXTERN
1263 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_container_out (GStrv **array_out, size_t *out_length);
1264 : :
1265 : : GI_TEST_EXTERN
1266 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_full_out (GStrv **array_out, size_t *out_length);
1267 : :
1268 : : GI_TEST_EXTERN
1269 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_none_inout (GStrv **array_inout, size_t *inout_length);
1270 : :
1271 : : GI_TEST_EXTERN
1272 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_container_inout (GStrv **array_inout, size_t *inout_length);
1273 : :
1274 : : GI_TEST_EXTERN
1275 : : void gi_marshalling_tests_length_array_of_gstrv_transfer_full_inout (GStrv **array_inout, size_t *inout_length);
1276 : :
1277 : : GI_TEST_EXTERN
1278 : : GStrv *gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_full_return (void);
1279 : :
1280 : : GI_TEST_EXTERN
1281 : : GStrv *gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_container_return (void);
1282 : :
1283 : : GI_TEST_EXTERN
1284 : : GStrv *gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_none_return (void);
1285 : :
1286 : : GI_TEST_EXTERN
1287 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_none_in (GStrv *array);
1288 : :
1289 : : GI_TEST_EXTERN
1290 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_container_in (GStrv *array);
1291 : :
1292 : : GI_TEST_EXTERN
1293 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_full_in (GStrv *array);
1294 : :
1295 : : GI_TEST_EXTERN
1296 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_none_out (GStrv **array_out);
1297 : :
1298 : : GI_TEST_EXTERN
1299 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_container_out (GStrv **array_out);
1300 : :
1301 : : GI_TEST_EXTERN
1302 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_full_out (GStrv **array_out);
1303 : :
1304 : : GI_TEST_EXTERN
1305 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_none_inout (GStrv **array_inout);
1306 : :
1307 : : GI_TEST_EXTERN
1308 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_container_inout (GStrv **array_inout);
1309 : :
1310 : : GI_TEST_EXTERN
1311 : : void gi_marshalling_tests_zero_terminated_array_of_gstrv_transfer_full_inout (GStrv **array_inout);
1312 : :
1313 : : GI_TEST_EXTERN
1314 : : GStrv *gi_marshalling_tests_fixed_array_of_gstrv_transfer_full_return (void);
1315 : :
1316 : : GI_TEST_EXTERN
1317 : : GStrv *gi_marshalling_tests_fixed_array_of_gstrv_transfer_container_return (void);
1318 : :
1319 : : GI_TEST_EXTERN
1320 : : GStrv *gi_marshalling_tests_fixed_array_of_gstrv_transfer_none_return (void);
1321 : :
1322 : : GI_TEST_EXTERN
1323 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_none_in (GStrv *array);
1324 : :
1325 : : GI_TEST_EXTERN
1326 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_container_in (GStrv *array);
1327 : :
1328 : : GI_TEST_EXTERN
1329 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_full_in (GStrv *array);
1330 : :
1331 : : GI_TEST_EXTERN
1332 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_none_out (GStrv **array_out);
1333 : :
1334 : : GI_TEST_EXTERN
1335 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_container_out (GStrv **array_out);
1336 : :
1337 : : GI_TEST_EXTERN
1338 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_full_out (GStrv **array_out);
1339 : :
1340 : : GI_TEST_EXTERN
1341 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_none_inout (GStrv **array_inout);
1342 : :
1343 : : GI_TEST_EXTERN
1344 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_container_inout (GStrv **array_inout);
1345 : :
1346 : : GI_TEST_EXTERN
1347 : : void gi_marshalling_tests_fixed_array_of_gstrv_transfer_full_inout (GStrv **array_inout);
1348 : :
1349 : : /* GList */
1350 : :
1351 : : GI_TEST_EXTERN
1352 : : GList *gi_marshalling_tests_glist_int_none_return (void);
1353 : :
1354 : : GI_TEST_EXTERN
1355 : : GList *gi_marshalling_tests_glist_uint32_none_return (void);
1356 : :
1357 : : GI_TEST_EXTERN
1358 : : GList *gi_marshalling_tests_glist_utf8_none_return (void);
1359 : :
1360 : : GI_TEST_EXTERN
1361 : : GList *gi_marshalling_tests_glist_utf8_container_return (void);
1362 : :
1363 : : GI_TEST_EXTERN
1364 : : GList *gi_marshalling_tests_glist_utf8_full_return (void);
1365 : :
1366 : : GI_TEST_EXTERN
1367 : : void gi_marshalling_tests_glist_int_none_in (GList *list);
1368 : :
1369 : : GI_TEST_EXTERN
1370 : : void gi_marshalling_tests_glist_uint32_none_in (GList *list);
1371 : :
1372 : : GI_TEST_EXTERN
1373 : : void gi_marshalling_tests_glist_utf8_none_in (GList *list);
1374 : :
1375 : : GI_TEST_EXTERN
1376 : : void gi_marshalling_tests_glist_utf8_container_in (GList *list);
1377 : :
1378 : : GI_TEST_EXTERN
1379 : : void gi_marshalling_tests_glist_utf8_full_in (GList *list);
1380 : :
1381 : : GI_TEST_EXTERN
1382 : : void gi_marshalling_tests_glist_utf8_none_out (GList **list);
1383 : :
1384 : : GI_TEST_EXTERN
1385 : : gboolean gi_marshalling_tests_glist_utf8_none_out_uninitialized (GList **v G_GNUC_UNUSED);
1386 : :
1387 : : GI_TEST_EXTERN
1388 : : void gi_marshalling_tests_glist_utf8_container_out (GList **list);
1389 : :
1390 : : GI_TEST_EXTERN
1391 : : gboolean gi_marshalling_tests_glist_utf8_container_out_uninitialized (GList **v G_GNUC_UNUSED);
1392 : :
1393 : : GI_TEST_EXTERN
1394 : : void gi_marshalling_tests_glist_utf8_full_out (GList **list);
1395 : :
1396 : : GI_TEST_EXTERN
1397 : : gboolean gi_marshalling_tests_glist_utf8_full_out_uninitialized (GList **v G_GNUC_UNUSED);
1398 : :
1399 : : GI_TEST_EXTERN
1400 : : void gi_marshalling_tests_glist_utf8_none_inout (GList **list);
1401 : :
1402 : : GI_TEST_EXTERN
1403 : : void gi_marshalling_tests_glist_utf8_container_inout (GList **list);
1404 : :
1405 : : GI_TEST_EXTERN
1406 : : void gi_marshalling_tests_glist_utf8_full_inout (GList **list);
1407 : :
1408 : : /* GSList */
1409 : :
1410 : : GI_TEST_EXTERN
1411 : : GSList *gi_marshalling_tests_gslist_int_none_return (void);
1412 : :
1413 : : GI_TEST_EXTERN
1414 : : GSList *gi_marshalling_tests_gslist_utf8_none_return (void);
1415 : :
1416 : : GI_TEST_EXTERN
1417 : : GSList *gi_marshalling_tests_gslist_utf8_container_return (void);
1418 : :
1419 : : GI_TEST_EXTERN
1420 : : GSList *gi_marshalling_tests_gslist_utf8_full_return (void);
1421 : :
1422 : : GI_TEST_EXTERN
1423 : : void gi_marshalling_tests_gslist_int_none_in (GSList *list);
1424 : :
1425 : : GI_TEST_EXTERN
1426 : : void gi_marshalling_tests_gslist_utf8_none_in (GSList *list);
1427 : :
1428 : : GI_TEST_EXTERN
1429 : : void gi_marshalling_tests_gslist_utf8_container_in (GSList *list);
1430 : :
1431 : : GI_TEST_EXTERN
1432 : : void gi_marshalling_tests_gslist_utf8_full_in (GSList *list);
1433 : :
1434 : : GI_TEST_EXTERN
1435 : : void gi_marshalling_tests_gslist_utf8_none_out (GSList **list);
1436 : :
1437 : : GI_TEST_EXTERN
1438 : : gboolean gi_marshalling_tests_gslist_utf8_none_out_uninitialized (GSList **v G_GNUC_UNUSED);
1439 : :
1440 : : GI_TEST_EXTERN
1441 : : void gi_marshalling_tests_gslist_utf8_container_out (GSList **list);
1442 : :
1443 : : GI_TEST_EXTERN
1444 : : gboolean gi_marshalling_tests_gslist_utf8_container_out_uninitialized (GSList **v G_GNUC_UNUSED);
1445 : :
1446 : : GI_TEST_EXTERN
1447 : : void gi_marshalling_tests_gslist_utf8_full_out (GSList **list);
1448 : :
1449 : : GI_TEST_EXTERN
1450 : : gboolean gi_marshalling_tests_gslist_utf8_full_out_uninitialized (GSList **v G_GNUC_UNUSED);
1451 : :
1452 : : GI_TEST_EXTERN
1453 : : void gi_marshalling_tests_gslist_utf8_none_inout (GSList **list);
1454 : :
1455 : : GI_TEST_EXTERN
1456 : : void gi_marshalling_tests_gslist_utf8_container_inout (GSList **list);
1457 : :
1458 : : GI_TEST_EXTERN
1459 : : void gi_marshalling_tests_gslist_utf8_full_inout (GSList **list);
1460 : :
1461 : : /* GHashTable */
1462 : :
1463 : : GI_TEST_EXTERN
1464 : : GHashTable *gi_marshalling_tests_ghashtable_int_none_return (void);
1465 : :
1466 : : GI_TEST_EXTERN
1467 : : GHashTable *gi_marshalling_tests_ghashtable_utf8_none_return (void);
1468 : :
1469 : : GI_TEST_EXTERN
1470 : : GHashTable *gi_marshalling_tests_ghashtable_utf8_container_return (void);
1471 : :
1472 : : GI_TEST_EXTERN
1473 : : GHashTable *gi_marshalling_tests_ghashtable_utf8_full_return (void);
1474 : :
1475 : : GI_TEST_EXTERN
1476 : : void gi_marshalling_tests_ghashtable_int_none_in (GHashTable *hash_table);
1477 : :
1478 : : GI_TEST_EXTERN
1479 : : void gi_marshalling_tests_ghashtable_utf8_none_in (GHashTable *hash_table);
1480 : :
1481 : : GI_TEST_EXTERN
1482 : : void gi_marshalling_tests_ghashtable_double_in (GHashTable *hash_table);
1483 : :
1484 : : GI_TEST_EXTERN
1485 : : void gi_marshalling_tests_ghashtable_float_in (GHashTable *hash_table);
1486 : :
1487 : : GI_TEST_EXTERN
1488 : : void gi_marshalling_tests_ghashtable_int64_in (GHashTable *hash_table);
1489 : :
1490 : : GI_TEST_EXTERN
1491 : : void gi_marshalling_tests_ghashtable_uint64_in (GHashTable *hash_table);
1492 : :
1493 : : GI_TEST_EXTERN
1494 : : void gi_marshalling_tests_ghashtable_utf8_container_in (GHashTable *hash_table);
1495 : :
1496 : : GI_TEST_EXTERN
1497 : : void gi_marshalling_tests_ghashtable_utf8_full_in (GHashTable *hash_table);
1498 : :
1499 : : GI_TEST_EXTERN
1500 : : void gi_marshalling_tests_ghashtable_utf8_none_out (GHashTable **hash_table);
1501 : :
1502 : : GI_TEST_EXTERN
1503 : : gboolean gi_marshalling_tests_ghashtable_utf8_none_out_uninitialized (GHashTable **v G_GNUC_UNUSED);
1504 : :
1505 : : GI_TEST_EXTERN
1506 : : void gi_marshalling_tests_ghashtable_utf8_container_out (GHashTable **hash_table);
1507 : :
1508 : : GI_TEST_EXTERN
1509 : : gboolean gi_marshalling_tests_ghashtable_utf8_container_out_uninitialized (GHashTable **v G_GNUC_UNUSED);
1510 : :
1511 : : GI_TEST_EXTERN
1512 : : void gi_marshalling_tests_ghashtable_utf8_full_out (GHashTable **hash_table);
1513 : :
1514 : : GI_TEST_EXTERN
1515 : : gboolean gi_marshalling_tests_ghashtable_utf8_full_out_uninitialized (GHashTable **v G_GNUC_UNUSED);
1516 : :
1517 : : GI_TEST_EXTERN
1518 : : void gi_marshalling_tests_ghashtable_utf8_none_inout (GHashTable **hash_table);
1519 : :
1520 : : GI_TEST_EXTERN
1521 : : void gi_marshalling_tests_ghashtable_utf8_container_inout (GHashTable **hash_table);
1522 : :
1523 : : GI_TEST_EXTERN
1524 : : void gi_marshalling_tests_ghashtable_utf8_full_inout (GHashTable **hash_table);
1525 : :
1526 : : /* GValue */
1527 : :
1528 : : GI_TEST_EXTERN
1529 : : GValue *gi_marshalling_tests_gvalue_return (void);
1530 : :
1531 : : GI_TEST_EXTERN
1532 : : GValue *gi_marshalling_tests_gvalue_noncanonical_nan_float (void);
1533 : :
1534 : : GI_TEST_EXTERN
1535 : : GValue *gi_marshalling_tests_gvalue_noncanonical_nan_double (void);
1536 : :
1537 : : GI_TEST_EXTERN
1538 : : void gi_marshalling_tests_gvalue_in (GValue *value);
1539 : :
1540 : : GI_TEST_EXTERN
1541 : : void gi_marshalling_tests_gvalue_int64_in (GValue *value);
1542 : :
1543 : : GI_TEST_EXTERN
1544 : : void gi_marshalling_tests_gvalue_in_with_type (GValue *value, GType type);
1545 : :
1546 : : GI_TEST_EXTERN
1547 : : void gi_marshalling_tests_gvalue_in_with_modification (GValue *value);
1548 : :
1549 : : GI_TEST_EXTERN
1550 : : void gi_marshalling_tests_gvalue_in_enum (GValue *value);
1551 : :
1552 : : GI_TEST_EXTERN
1553 : : void gi_marshalling_tests_gvalue_in_flags (GValue *value);
1554 : :
1555 : : GI_TEST_EXTERN
1556 : : void gi_marshalling_tests_gvalue_out (GValue **value);
1557 : :
1558 : : GI_TEST_EXTERN
1559 : : gboolean gi_marshalling_tests_gvalue_out_uninitialized (GValue **v G_GNUC_UNUSED);
1560 : :
1561 : : GI_TEST_EXTERN
1562 : : void gi_marshalling_tests_gvalue_int64_out (GValue **value);
1563 : :
1564 : : GI_TEST_EXTERN
1565 : : void gi_marshalling_tests_gvalue_out_caller_allocates (GValue *value);
1566 : :
1567 : : GI_TEST_EXTERN
1568 : : void gi_marshalling_tests_gvalue_inout (GValue **value);
1569 : :
1570 : : GI_TEST_EXTERN
1571 : : void gi_marshalling_tests_gvalue_flat_array (guint n_values,
1572 : : const GValue *values);
1573 : :
1574 : : GI_TEST_EXTERN
1575 : : GValue *gi_marshalling_tests_return_gvalue_flat_array (void);
1576 : :
1577 : : GI_TEST_EXTERN
1578 : : GValue *gi_marshalling_tests_return_gvalue_zero_terminated_array (void);
1579 : :
1580 : : GI_TEST_EXTERN
1581 : : GValue *gi_marshalling_tests_gvalue_round_trip (GValue *value);
1582 : :
1583 : : GI_TEST_EXTERN
1584 : : GValue *gi_marshalling_tests_gvalue_copy (GValue *value);
1585 : :
1586 : : GI_TEST_EXTERN
1587 : : GValue *gi_marshalling_tests_gvalue_flat_array_round_trip (const GValue one,
1588 : : const GValue two,
1589 : : const GValue three);
1590 : :
1591 : : GI_TEST_EXTERN
1592 : : void gi_marshalling_tests_gvalue_float (const GValue *float_value, const GValue *double_value);
1593 : :
1594 : : /* GClosure */
1595 : :
1596 : : GI_TEST_EXTERN
1597 : : void gi_marshalling_tests_gclosure_in (GClosure *closure);
1598 : :
1599 : : GI_TEST_EXTERN
1600 : : GClosure *gi_marshalling_tests_gclosure_return (void);
1601 : :
1602 : : /* Callback return values */
1603 : :
1604 : : /**
1605 : : * GIMarshallingTestsCallbackReturnValueOnly:
1606 : : */
1607 : : typedef glong (*GIMarshallingTestsCallbackReturnValueOnly) (void);
1608 : :
1609 : : GI_TEST_EXTERN
1610 : : glong gi_marshalling_tests_callback_return_value_only (GIMarshallingTestsCallbackReturnValueOnly callback);
1611 : :
1612 : : /**
1613 : : * GIMarshallingTestsCallbackOneOutParameter:
1614 : : * @a: (out):
1615 : : */
1616 : : typedef void (*GIMarshallingTestsCallbackOneOutParameter) (gfloat *a);
1617 : :
1618 : : GI_TEST_EXTERN
1619 : : void gi_marshalling_tests_callback_one_out_parameter (GIMarshallingTestsCallbackOneOutParameter callback,
1620 : : gfloat *a);
1621 : :
1622 : : /**
1623 : : * GIMarshallingTestsCallbackMultipleOutParameters:
1624 : : * @a: (out):
1625 : : * @b: (out):
1626 : : */
1627 : : typedef void (*GIMarshallingTestsCallbackMultipleOutParameters) (gfloat *a, gfloat *b);
1628 : :
1629 : : GI_TEST_EXTERN
1630 : : void gi_marshalling_tests_callback_multiple_out_parameters (GIMarshallingTestsCallbackMultipleOutParameters callback,
1631 : : gfloat *a,
1632 : : gfloat *b);
1633 : :
1634 : : /**
1635 : : * GIMarshallingTestsCallbackReturnValueAndOneOutParameter:
1636 : : * @a: (out):
1637 : : */
1638 : : typedef glong (*GIMarshallingTestsCallbackReturnValueAndOneOutParameter) (glong *a);
1639 : :
1640 : : GI_TEST_EXTERN
1641 : : glong gi_marshalling_tests_callback_return_value_and_one_out_parameter (GIMarshallingTestsCallbackReturnValueAndOneOutParameter callback,
1642 : : glong *a);
1643 : :
1644 : : /**
1645 : : * GIMarshallingTestsCallbackReturnValueAndMultipleOutParameters:
1646 : : * @a: (out):
1647 : : * @b: (out):
1648 : : */
1649 : : typedef glong (*GIMarshallingTestsCallbackReturnValueAndMultipleOutParameters) (glong *a, glong *b);
1650 : :
1651 : : GI_TEST_EXTERN
1652 : : glong gi_marshalling_tests_callback_return_value_and_multiple_out_parameters (GIMarshallingTestsCallbackReturnValueAndMultipleOutParameters callback,
1653 : : glong *a,
1654 : : glong *b);
1655 : :
1656 : : /**
1657 : : * GIMarshallingTestsCallbackOwnedBoxed
1658 : : * @box: (transfer none): the boxed structure.
1659 : : */
1660 : : typedef void (*GIMarshallingTestsCallbackOwnedBoxed) (GIMarshallingTestsBoxedStruct *box,
1661 : : void *user_data);
1662 : :
1663 : : GI_TEST_EXTERN
1664 : : glong gi_marshalling_tests_callback_owned_boxed (GIMarshallingTestsCallbackOwnedBoxed callback,
1665 : : void *callback_data);
1666 : :
1667 : : /* Pointer */
1668 : :
1669 : : GI_TEST_EXTERN
1670 : : gpointer gi_marshalling_tests_pointer_in_return (gpointer pointer);
1671 : :
1672 : : /* Structure */
1673 : :
1674 : : struct _GIMarshallingTestsSimpleStruct
1675 : : {
1676 : : glong long_;
1677 : : gint8 int8;
1678 : : };
1679 : :
1680 : : typedef struct
1681 : : {
1682 : : GIMarshallingTestsSimpleStruct simple_struct;
1683 : : } GIMarshallingTestsNestedStruct;
1684 : :
1685 : : typedef struct
1686 : : {
1687 : : GIMarshallingTestsNestedStruct *pointer;
1688 : : } GIMarshallingTestsNotSimpleStruct;
1689 : :
1690 : : GI_TEST_EXTERN
1691 : : GIMarshallingTestsSimpleStruct *gi_marshalling_tests_simple_struct_returnv (void);
1692 : :
1693 : : GI_TEST_EXTERN
1694 : : void gi_marshalling_tests_simple_struct_inv (GIMarshallingTestsSimpleStruct *struct_);
1695 : :
1696 : : GI_TEST_EXTERN
1697 : : void gi_marshalling_tests_simple_struct_method (GIMarshallingTestsSimpleStruct *struct_);
1698 : :
1699 : : typedef struct
1700 : : {
1701 : : glong long_;
1702 : : } GIMarshallingTestsPointerStruct;
1703 : :
1704 : : GI_TEST_EXTERN
1705 : : GType gi_marshalling_tests_pointer_struct_get_type (void) G_GNUC_CONST;
1706 : :
1707 : : GI_TEST_EXTERN
1708 : : GIMarshallingTestsPointerStruct *gi_marshalling_tests_pointer_struct_returnv (void);
1709 : :
1710 : : GI_TEST_EXTERN
1711 : : void gi_marshalling_tests_pointer_struct_inv (GIMarshallingTestsPointerStruct *struct_);
1712 : :
1713 : : struct _GIMarshallingTestsBoxedStruct
1714 : : {
1715 : : glong long_;
1716 : : gchar *string_;
1717 : : GStrv g_strv;
1718 : : };
1719 : :
1720 : : GI_TEST_EXTERN
1721 : : GType gi_marshalling_tests_boxed_struct_get_type (void) G_GNUC_CONST;
1722 : :
1723 : : GI_TEST_EXTERN
1724 : : GIMarshallingTestsBoxedStruct *gi_marshalling_tests_boxed_struct_new (void);
1725 : :
1726 : : GI_TEST_EXTERN
1727 : : GIMarshallingTestsBoxedStruct *gi_marshalling_tests_boxed_struct_returnv (void);
1728 : :
1729 : : GI_TEST_EXTERN
1730 : : void gi_marshalling_tests_boxed_struct_inv (GIMarshallingTestsBoxedStruct *struct_);
1731 : :
1732 : : GI_TEST_EXTERN
1733 : : void gi_marshalling_tests_boxed_struct_out (GIMarshallingTestsBoxedStruct **struct_);
1734 : :
1735 : : GI_TEST_EXTERN
1736 : : gboolean gi_marshalling_tests_boxed_struct_out_uninitialized (GIMarshallingTestsBoxedStruct **v G_GNUC_UNUSED);
1737 : :
1738 : : GI_TEST_EXTERN
1739 : : void gi_marshalling_tests_boxed_struct_inout (GIMarshallingTestsBoxedStruct **struct_);
1740 : :
1741 : : typedef union
1742 : : {
1743 : : glong long_;
1744 : : } GIMarshallingTestsUnion;
1745 : :
1746 : : typedef union
1747 : : {
1748 : : glong long_;
1749 : : gsize size;
1750 : : const gchar *str;
1751 : : } GIMarshallingTestsUnregisteredUnion;
1752 : :
1753 : : GI_TEST_EXTERN
1754 : : GType gi_marshalling_tests_union_get_type (void) G_GNUC_CONST;
1755 : :
1756 : : GI_TEST_EXTERN
1757 : : GIMarshallingTestsUnion *gi_marshalling_tests_union_returnv (void);
1758 : :
1759 : : GI_TEST_EXTERN
1760 : : void gi_marshalling_tests_union_inv (GIMarshallingTestsUnion *union_);
1761 : :
1762 : : GI_TEST_EXTERN
1763 : : void gi_marshalling_tests_union_method (GIMarshallingTestsUnion *union_);
1764 : :
1765 : : typedef enum
1766 : : {
1767 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_NONE,
1768 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_SIMPLE_STRUCT,
1769 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_NESTED_STRUCT,
1770 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_POINTER_STRUCT,
1771 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_BOXED_STRUCT,
1772 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_BOXED_STRUCT_PTR,
1773 : : GI_MARSHALLING_TESTS_STRUCTURED_UNION_TYPE_SINGLE_UNION,
1774 : : } GIMarshallingTestsStructuredUnionType;
1775 : :
1776 : : typedef struct
1777 : : {
1778 : : GIMarshallingTestsStructuredUnionType type;
1779 : : GIMarshallingTestsSimpleStruct parent;
1780 : : } GIMarshallingTestsStructuredUnionSimpleStruct;
1781 : :
1782 : : typedef struct
1783 : : {
1784 : : GIMarshallingTestsStructuredUnionType type;
1785 : : GIMarshallingTestsNestedStruct parent;
1786 : : } GIMarshallingTestsStructuredUnionNestedStruct;
1787 : :
1788 : : typedef struct
1789 : : {
1790 : : GIMarshallingTestsStructuredUnionType type;
1791 : : GIMarshallingTestsPointerStruct parent;
1792 : : } GIMarshallingTestsStructuredUnionPointerStruct;
1793 : :
1794 : : typedef struct
1795 : : {
1796 : : GIMarshallingTestsStructuredUnionType type;
1797 : : GIMarshallingTestsBoxedStruct parent;
1798 : : } GIMarshallingTestsStructuredUnionBoxedStruct;
1799 : :
1800 : : typedef struct
1801 : : {
1802 : : GIMarshallingTestsStructuredUnionType type;
1803 : : GIMarshallingTestsBoxedStruct *parent;
1804 : : } GIMarshallingTestsStructuredUnionBoxedStructPtr;
1805 : :
1806 : : typedef struct
1807 : : {
1808 : : GIMarshallingTestsStructuredUnionType type;
1809 : : GIMarshallingTestsUnion union_;
1810 : : } GIMarshallingTestsStructuredUnionUnionStruct;
1811 : :
1812 : : typedef union
1813 : : {
1814 : : GIMarshallingTestsStructuredUnionUnionStruct parent;
1815 : : } GIMarshallingTestsStructuredUnionSingleUnion;
1816 : :
1817 : : typedef union
1818 : : {
1819 : : /*< private >*/
1820 : : GIMarshallingTestsStructuredUnionType type;
1821 : :
1822 : : GIMarshallingTestsStructuredUnionSimpleStruct simple_struct;
1823 : : GIMarshallingTestsStructuredUnionNestedStruct nested_struct;
1824 : : GIMarshallingTestsStructuredUnionPointerStruct pointer_struct;
1825 : : GIMarshallingTestsStructuredUnionBoxedStruct boxed_struct;
1826 : : GIMarshallingTestsStructuredUnionBoxedStructPtr boxed_struct_ptr;
1827 : : GIMarshallingTestsStructuredUnionSingleUnion single_union;
1828 : : } GIMarshallingTestsStructuredUnion;
1829 : :
1830 : : GI_TEST_EXTERN
1831 : : GType gi_marshalling_tests_structured_union_get_type (void) G_GNUC_CONST;
1832 : :
1833 : : GI_TEST_EXTERN
1834 : : GIMarshallingTestsStructuredUnion *gi_marshalling_tests_structured_union_new (GIMarshallingTestsStructuredUnionType type);
1835 : :
1836 : : /* we want this to clash with a field value name */
1837 : : GI_TEST_EXTERN
1838 : : GIMarshallingTestsStructuredUnionType gi_marshalling_tests_structured_union_type (GIMarshallingTestsStructuredUnion *structured_union);
1839 : :
1840 : : typedef union
1841 : : {
1842 : : GIMarshallingTestsStructuredUnionType type;
1843 : : GIMarshallingTestsStructuredUnionSimpleStruct simple_struct1;
1844 : : GIMarshallingTestsStructuredUnionSimpleStruct simple_struct2;
1845 : : } GIMarshallingTestsStructuredUnionSingleType;
1846 : :
1847 : : /* Object */
1848 : :
1849 : : #define GI_MARSHALLING_TESTS_TYPE_OBJECT (gi_marshalling_tests_object_get_type ())
1850 : : #define GI_MARSHALLING_TESTS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_OBJECT, GIMarshallingTestsObject))
1851 : : #define GI_MARSHALLING_TESTS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_OBJECT, GIMarshallingTestsObjectClass))
1852 : : #define GI_MARSHALLING_TESTS_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_OBJECT))
1853 : : #define GI_MARSHALLING_TESTS_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_OBJECT))
1854 : : #define GI_MARSHALLING_TESTS_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_OBJECT, GIMarshallingTestsObjectClass))
1855 : :
1856 : : typedef struct _GIMarshallingTestsObjectClass GIMarshallingTestsObjectClass;
1857 : : typedef struct _GIMarshallingTestsObject GIMarshallingTestsObject;
1858 : :
1859 : : typedef int (*GIMarshallingTestsCallbackIntInt) (int val, void *user_data);
1860 : :
1861 : : struct _GIMarshallingTestsObjectClass
1862 : : {
1863 : : GObjectClass parent_class;
1864 : :
1865 : : /**
1866 : : * GIMarshallingTestsObjectClass::method_int8_in:
1867 : : * @in: (in):
1868 : : */
1869 : : void (*method_int8_in) (GIMarshallingTestsObject *self, gint8 in);
1870 : :
1871 : : /**
1872 : : * GIMarshallingTestsObjectClass::method_int8_out:
1873 : : * @out: (out):
1874 : : */
1875 : : void (*method_int8_out) (GIMarshallingTestsObject *self, gint8 *out);
1876 : :
1877 : : /**
1878 : : * GIMarshallingTestsObjectClass::method_int8_arg_and_out_caller:
1879 : : * @out: (out):
1880 : : */
1881 : : void (*method_int8_arg_and_out_caller) (GIMarshallingTestsObject *self, gint8 arg, gint8 *out);
1882 : :
1883 : : /**
1884 : : * GIMarshallingTestsObjectClass::method_int8_arg_and_out_callee:
1885 : : * @out: (out):
1886 : : */
1887 : : void (*method_int8_arg_and_out_callee) (GIMarshallingTestsObject *self, gint8 arg, gint8 **out);
1888 : :
1889 : : /**
1890 : : * GIMarshallingTestsObjectClass::method_str_arg_out_ret:
1891 : : * @out: (out):
1892 : : *
1893 : : * Returns: (transfer none)
1894 : : */
1895 : : const gchar *(*method_str_arg_out_ret) (GIMarshallingTestsObject *self, const gchar *arg, guint *out);
1896 : :
1897 : : /**
1898 : : * GIMarshallingTestsObjectClass::method_with_default_implementation:
1899 : : * @in: (in):
1900 : : */
1901 : : void (*method_with_default_implementation) (GIMarshallingTestsObject *self, gint8 in);
1902 : :
1903 : : /**
1904 : : * GIMarshallingTestsObjectClass::method_deep_hierarchy:
1905 : : * @in: (in):
1906 : : */
1907 : : void (*method_deep_hierarchy) (GIMarshallingTestsObject *self, gint8 in);
1908 : :
1909 : : void (*vfunc_with_callback) (GIMarshallingTestsObject *self,
1910 : : GIMarshallingTestsCallbackIntInt callback,
1911 : : void *callback_data);
1912 : :
1913 : : /**
1914 : : * GIMarshallingTestsObjectClass::vfunc_return_value_only:
1915 : : */
1916 : : glong (*vfunc_return_value_only) (GIMarshallingTestsObject *self);
1917 : :
1918 : : /**
1919 : : * GIMarshallingTestsObjectClass::vfunc_one_out_parameter:
1920 : : * @a: (out):
1921 : : */
1922 : : void (*vfunc_one_out_parameter) (GIMarshallingTestsObject *self, gfloat *a);
1923 : :
1924 : : /**
1925 : : * GIMarshallingTestsObjectClass::vfunc_multiple_out_parameters:
1926 : : * @a: (out):
1927 : : * @b: (out):
1928 : : */
1929 : : void (*vfunc_multiple_out_parameters) (GIMarshallingTestsObject *self, gfloat *a, gfloat *b);
1930 : :
1931 : : /**
1932 : : * GIMarshallingTestsObjectClass::vfunc_one_inout_parameter:
1933 : : * @a: (inout):
1934 : : */
1935 : : void (*vfunc_one_inout_parameter) (GIMarshallingTestsObject *self, gfloat *a);
1936 : :
1937 : : /**
1938 : : * GIMarshallingTestsObjectClass::vfunc_multiple_inout_parameters:
1939 : : * @a: (inout):
1940 : : * @b: (inout):
1941 : : */
1942 : : void (*vfunc_multiple_inout_parameters) (GIMarshallingTestsObject *self, gfloat *a, gfloat *b);
1943 : :
1944 : : /**
1945 : : * GIMarshallingTestsObjectClass::vfunc_caller_allocated_out_parameter:
1946 : : * @a: (out):
1947 : : */
1948 : : void (*vfunc_caller_allocated_out_parameter) (GIMarshallingTestsObject *self, GValue *a);
1949 : :
1950 : : /**
1951 : : * GIMarshallingTestsObjectClass::vfunc_array_out_parameter:
1952 : : * @a: (out) (array zero-terminated):
1953 : : */
1954 : : void (*vfunc_array_out_parameter) (GIMarshallingTestsObject *self, gfloat **a);
1955 : :
1956 : : /**
1957 : : * GIMarshallingTestsObjectClass::vfunc_return_value_and_one_out_parameter:
1958 : : * @a: (out):
1959 : : */
1960 : : glong (*vfunc_return_value_and_one_out_parameter) (GIMarshallingTestsObject *self, glong *a);
1961 : :
1962 : : /**
1963 : : * GIMarshallingTestsObjectClass::vfunc_return_value_and_multiple_out_parameters:
1964 : : * @a: (out):
1965 : : * @b: (out):
1966 : : */
1967 : : glong (*vfunc_return_value_and_multiple_out_parameters) (GIMarshallingTestsObject *self, glong *a, glong *b);
1968 : :
1969 : : /**
1970 : : * GIMarshallingTestsObjectClass::vfunc_return_value_and_one_inout_parameter:
1971 : : * @a: (inout):
1972 : : */
1973 : : glong (*vfunc_return_value_and_one_inout_parameter) (GIMarshallingTestsObject *self, glong *a);
1974 : :
1975 : : /**
1976 : : * GIMarshallingTestsObjectClass::vfunc_return_value_and_multiple_inout_parameters:
1977 : : * @a: (inout):
1978 : : * @b: (inout):
1979 : : */
1980 : : glong (*vfunc_return_value_and_multiple_inout_parameters) (GIMarshallingTestsObject *self, glong *a, glong *b);
1981 : :
1982 : : /**
1983 : : * GIMarshallingTestsObjectClass::vfunc_meth_with_err:
1984 : : * @x:
1985 : : * @error: A #GError
1986 : : */
1987 : : gboolean (*vfunc_meth_with_err) (GIMarshallingTestsObject *object, gint x, GError **error);
1988 : :
1989 : : /**
1990 : : * GIMarshallingTestsObjectClass::vfunc_return_enum:
1991 : : */
1992 : : GIMarshallingTestsEnum (*vfunc_return_enum) (GIMarshallingTestsObject *self);
1993 : :
1994 : : /**
1995 : : * GIMarshallingTestsObjectClass::vfunc_out_enum:
1996 : : * @_enum: (out):
1997 : : */
1998 : : void (*vfunc_out_enum) (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum);
1999 : :
2000 : : /**
2001 : : * GIMarshallingTestsObjectClass::vfunc_return_object_transfer_none:
2002 : : *
2003 : : * Returns: (transfer none)
2004 : : */
2005 : : GObject *(*vfunc_return_object_transfer_none) (GIMarshallingTestsObject *self);
2006 : :
2007 : : /**
2008 : : * GIMarshallingTestsObjectClass::vfunc_return_object_transfer_full:
2009 : : *
2010 : : * Returns: (transfer full)
2011 : : */
2012 : : GObject *(*vfunc_return_object_transfer_full) (GIMarshallingTestsObject *self);
2013 : :
2014 : : /**
2015 : : * GIMarshallingTestsObjectClass::vfunc_out_object_transfer_none:
2016 : : * @object: (out) (transfer none):
2017 : : */
2018 : : void (*vfunc_out_object_transfer_none) (GIMarshallingTestsObject *self, GObject **object);
2019 : :
2020 : : /**
2021 : : * GIMarshallingTestsObjectClass::vfunc_out_object_transfer_full:
2022 : : * @object: (out) (transfer full):
2023 : : */
2024 : : void (*vfunc_out_object_transfer_full) (GIMarshallingTestsObject *self, GObject **object);
2025 : :
2026 : : /**
2027 : : * GIMarshallingTestsObjectClass::vfunc_in_object_transfer_none:
2028 : : * @object: (in) (transfer none):
2029 : : */
2030 : : void (*vfunc_in_object_transfer_none) (GIMarshallingTestsObject *self, GObject *object);
2031 : :
2032 : : /**
2033 : : * GIMarshallingTestsObjectClass::vfunc_in_object_transfer_full:
2034 : : * @object: (in) (transfer full):
2035 : : */
2036 : : void (*vfunc_in_object_transfer_full) (GIMarshallingTestsObject *self, GObject *object);
2037 : :
2038 : : /**
2039 : : * GIMarshallingTestsObjectClass::vfunc_return_flags:
2040 : : */
2041 : : GIMarshallingTestsFlags (*vfunc_return_flags) (GIMarshallingTestsObject *self);
2042 : :
2043 : : /**
2044 : : * GIMarshallingTestsObjectClass::vfunc_out_flags:
2045 : : * @flags: (out):
2046 : : */
2047 : : void (*vfunc_out_flags) (GIMarshallingTestsObject *self, GIMarshallingTestsFlags *flags);
2048 : :
2049 : : /**
2050 : : * GIMarshallingTestsObjectClass::vfunc_static_name:
2051 : : */
2052 : : gchar *(*vfunc_static_name) (void);
2053 : :
2054 : : /**
2055 : : * GIMarshallingTestsObjectClass::vfunc_static_create_new:
2056 : : * @int_:
2057 : : *
2058 : : * Returns: (transfer full):
2059 : : */
2060 : : GIMarshallingTestsObject *(*vfunc_static_create_new) (gint int_);
2061 : :
2062 : : /**
2063 : : * GIMarshallingTestsObjectClass::vfunc_static_create_new_out:
2064 : : * @out: (out):
2065 : : * @int_:
2066 : : */
2067 : : void (*vfunc_static_create_new_out) (GIMarshallingTestsObject **out, gint int_);
2068 : : };
2069 : :
2070 : : struct _GIMarshallingTestsObject
2071 : : {
2072 : : GObject parent_instance;
2073 : :
2074 : : gint int_;
2075 : : };
2076 : :
2077 : : GI_TEST_EXTERN
2078 : : GType gi_marshalling_tests_object_get_type (void) G_GNUC_CONST;
2079 : :
2080 : : GI_TEST_EXTERN
2081 : : void gi_marshalling_tests_object_static_method (void);
2082 : :
2083 : : GI_TEST_EXTERN
2084 : : void gi_marshalling_tests_object_method (GIMarshallingTestsObject *object);
2085 : :
2086 : : GI_TEST_EXTERN
2087 : : void gi_marshalling_tests_object_overridden_method (GIMarshallingTestsObject *object);
2088 : :
2089 : : GI_TEST_EXTERN
2090 : : GIMarshallingTestsObject *gi_marshalling_tests_object_new (gint int_);
2091 : :
2092 : : GI_TEST_EXTERN
2093 : : GIMarshallingTestsObject *gi_marshalling_tests_object_new_fail (gint int_, GError **error);
2094 : :
2095 : : GI_TEST_EXTERN
2096 : : void gi_marshalling_tests_object_method_array_in (GIMarshallingTestsObject *object, const gint *ints, gint length);
2097 : :
2098 : : GI_TEST_EXTERN
2099 : : void gi_marshalling_tests_object_method_array_out (GIMarshallingTestsObject *object, gint **ints, gint *length);
2100 : :
2101 : : GI_TEST_EXTERN
2102 : : void gi_marshalling_tests_object_method_array_inout (GIMarshallingTestsObject *object, gint **ints, gint *length);
2103 : :
2104 : : GI_TEST_EXTERN
2105 : : const gint *gi_marshalling_tests_object_method_array_return (GIMarshallingTestsObject *object, gint *length);
2106 : :
2107 : : GI_TEST_EXTERN
2108 : : void gi_marshalling_tests_object_method_int8_in (GIMarshallingTestsObject *object, gint8 in);
2109 : :
2110 : : GI_TEST_EXTERN
2111 : : void gi_marshalling_tests_object_method_int8_out (GIMarshallingTestsObject *object, gint8 *out);
2112 : :
2113 : : GI_TEST_EXTERN
2114 : : void gi_marshalling_tests_object_method_int8_arg_and_out_caller (GIMarshallingTestsObject *object, gint8 arg, gint8 *out);
2115 : :
2116 : : GI_TEST_EXTERN
2117 : : void gi_marshalling_tests_object_method_int8_arg_and_out_callee (GIMarshallingTestsObject *object, gint8 arg, gint8 **out);
2118 : :
2119 : : GI_TEST_EXTERN
2120 : : const gchar *gi_marshalling_tests_object_method_str_arg_out_ret (GIMarshallingTestsObject *object, const gchar *arg, guint *out);
2121 : :
2122 : : GI_TEST_EXTERN
2123 : : void gi_marshalling_tests_object_method_with_default_implementation (GIMarshallingTestsObject *object, gint8 in);
2124 : :
2125 : : GI_TEST_EXTERN
2126 : : void gi_marshalling_tests_object_method_variant_array_in (GIMarshallingTestsObject *object, GVariant **in, gsize n_in);
2127 : :
2128 : : GI_TEST_EXTERN
2129 : : glong gi_marshalling_tests_object_vfunc_return_value_only (GIMarshallingTestsObject *self);
2130 : :
2131 : : GI_TEST_EXTERN
2132 : : void gi_marshalling_tests_object_vfunc_one_out_parameter (GIMarshallingTestsObject *self, gfloat *a);
2133 : :
2134 : : GI_TEST_EXTERN
2135 : : void gi_marshalling_tests_object_vfunc_multiple_out_parameters (GIMarshallingTestsObject *self, gfloat *a, gfloat *b);
2136 : :
2137 : : GI_TEST_EXTERN
2138 : : void gi_marshalling_tests_object_vfunc_one_inout_parameter (GIMarshallingTestsObject *self, gfloat *a);
2139 : :
2140 : : GI_TEST_EXTERN
2141 : : void gi_marshalling_tests_object_vfunc_multiple_inout_parameters (GIMarshallingTestsObject *self, gfloat *a, gfloat *b);
2142 : :
2143 : : GI_TEST_EXTERN
2144 : : void gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter (GIMarshallingTestsObject *self, GValue *a);
2145 : :
2146 : : GI_TEST_EXTERN
2147 : : void gi_marshalling_tests_object_vfunc_array_out_parameter (GIMarshallingTestsObject *self, gfloat **a);
2148 : :
2149 : : GI_TEST_EXTERN
2150 : : glong gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter (GIMarshallingTestsObject *self, glong *a);
2151 : :
2152 : : GI_TEST_EXTERN
2153 : : glong gi_marshalling_tests_object_vfunc_return_value_and_multiple_out_parameters (GIMarshallingTestsObject *self, glong *a, glong *b);
2154 : :
2155 : : GI_TEST_EXTERN
2156 : : glong gi_marshalling_tests_object_vfunc_return_value_and_one_inout_parameter (GIMarshallingTestsObject *self, glong *a);
2157 : :
2158 : : GI_TEST_EXTERN
2159 : : glong gi_marshalling_tests_object_vfunc_return_value_and_multiple_inout_parameters (GIMarshallingTestsObject *self, glong *a, glong *b);
2160 : :
2161 : : GI_TEST_EXTERN
2162 : : gboolean gi_marshalling_tests_object_vfunc_meth_with_error (GIMarshallingTestsObject *object, gint x, GError **error);
2163 : :
2164 : : GI_TEST_EXTERN
2165 : : GIMarshallingTestsEnum gi_marshalling_tests_object_vfunc_return_enum (GIMarshallingTestsObject *self);
2166 : :
2167 : : GI_TEST_EXTERN
2168 : : void gi_marshalling_tests_object_vfunc_out_enum (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum);
2169 : :
2170 : : GI_TEST_EXTERN
2171 : : GIMarshallingTestsFlags gi_marshalling_tests_object_vfunc_return_flags (GIMarshallingTestsObject *self);
2172 : :
2173 : : GI_TEST_EXTERN
2174 : : void gi_marshalling_tests_object_vfunc_out_flags (GIMarshallingTestsObject *self, GIMarshallingTestsFlags *flags);
2175 : :
2176 : : GI_TEST_EXTERN
2177 : : gchar *gi_marshalling_tests_object_vfunc_static_name (void);
2178 : :
2179 : : GI_TEST_EXTERN
2180 : : gchar *gi_marshalling_tests_object_vfunc_static_typed_name (GType gtype);
2181 : :
2182 : : GI_TEST_EXTERN
2183 : : GIMarshallingTestsObject *gi_marshalling_tests_object_vfunc_static_create_new (GType gtype, gint int_);
2184 : :
2185 : : GI_TEST_EXTERN
2186 : : void gi_marshalling_tests_object_vfunc_static_create_new_out (GIMarshallingTestsObject **out, GType gtype, gint int_);
2187 : :
2188 : : GI_TEST_EXTERN
2189 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_none (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
2190 : :
2191 : : GI_TEST_EXTERN
2192 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_full (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
2193 : :
2194 : : GI_TEST_EXTERN
2195 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_none (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
2196 : :
2197 : : GI_TEST_EXTERN
2198 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_full (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
2199 : :
2200 : : GI_TEST_EXTERN
2201 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_none (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating);
2202 : :
2203 : : GI_TEST_EXTERN
2204 : : void gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_full (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating);
2205 : :
2206 : : GI_TEST_EXTERN
2207 : : GIMarshallingTestsObject *gi_marshalling_tests_object_none_return (void);
2208 : :
2209 : : GI_TEST_EXTERN
2210 : : GIMarshallingTestsObject *gi_marshalling_tests_object_full_return (void);
2211 : :
2212 : : GI_TEST_EXTERN
2213 : : void gi_marshalling_tests_object_none_in (GIMarshallingTestsObject *object);
2214 : :
2215 : : GI_TEST_EXTERN
2216 : : void gi_marshalling_tests_object_full_in (GIMarshallingTestsObject *object);
2217 : :
2218 : : GI_TEST_EXTERN
2219 : : void gi_marshalling_tests_object_none_out (GIMarshallingTestsObject **object);
2220 : :
2221 : : GI_TEST_EXTERN
2222 : : gboolean gi_marshalling_tests_object_none_out_uninitialized (GIMarshallingTestsObject **v G_GNUC_UNUSED);
2223 : :
2224 : : GI_TEST_EXTERN
2225 : : void gi_marshalling_tests_object_full_out (GIMarshallingTestsObject **object);
2226 : :
2227 : : GI_TEST_EXTERN
2228 : : gboolean gi_marshalling_tests_object_full_out_uninitialized (GIMarshallingTestsObject **v G_GNUC_UNUSED);
2229 : :
2230 : : GI_TEST_EXTERN
2231 : : void gi_marshalling_tests_object_none_inout (GIMarshallingTestsObject **object);
2232 : :
2233 : : GI_TEST_EXTERN
2234 : : void gi_marshalling_tests_object_full_inout (GIMarshallingTestsObject **object);
2235 : :
2236 : : GI_TEST_EXTERN
2237 : : void gi_marshalling_tests_object_int8_in (GIMarshallingTestsObject *object, gint8 in);
2238 : :
2239 : : GI_TEST_EXTERN
2240 : : void gi_marshalling_tests_object_int8_out (GIMarshallingTestsObject *object, gint8 *out);
2241 : :
2242 : : GI_TEST_EXTERN
2243 : : void gi_marshalling_tests_object_vfunc_with_callback (GIMarshallingTestsObject *object,
2244 : : GIMarshallingTestsCallbackIntInt callback,
2245 : : void *callback_data);
2246 : :
2247 : : GI_TEST_EXTERN
2248 : : void gi_marshalling_tests_object_call_vfunc_with_callback (GIMarshallingTestsObject *object);
2249 : :
2250 : : #define GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT (gi_marshalling_tests_sub_object_get_type ())
2251 : : #define GI_MARSHALLING_TESTS_SUB_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT, GIMarshallingTestsSubObject))
2252 : : #define GI_MARSHALLING_TESTS_SUB_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT, GIMarshallingTestsSubObjectClass))
2253 : : #define GI_MARSHALLING_TESTS_IS_SUB_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT))
2254 : : #define GI_MARSHALLING_TESTS_IS_SUB_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT))
2255 : : #define GI_MARSHALLING_TESTS_SUB_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT, GIMarshallingTestsSubObjectClass))
2256 : :
2257 : : typedef struct _GIMarshallingTestsSubObjectClass GIMarshallingTestsSubObjectClass;
2258 : : typedef struct _GIMarshallingTestsSubObject GIMarshallingTestsSubObject;
2259 : :
2260 : : struct _GIMarshallingTestsSubObjectClass
2261 : : {
2262 : : GIMarshallingTestsObjectClass parent_class;
2263 : : };
2264 : :
2265 : : struct _GIMarshallingTestsSubObject
2266 : : {
2267 : : GIMarshallingTestsObject parent_instance;
2268 : : };
2269 : :
2270 : : GI_TEST_EXTERN
2271 : : GType gi_marshalling_tests_sub_object_get_type (void) G_GNUC_CONST;
2272 : :
2273 : : GI_TEST_EXTERN
2274 : : void gi_marshalling_tests_sub_object_sub_method (GIMarshallingTestsSubObject *object);
2275 : :
2276 : : GI_TEST_EXTERN
2277 : : void gi_marshalling_tests_sub_object_overwritten_method (GIMarshallingTestsSubObject *object);
2278 : :
2279 : : #define GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT (gi_marshalling_tests_sub_sub_object_get_type ())
2280 : : #define GI_MARSHALLING_TESTS_SUB_SUB_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT, GIMarshallingTestsSubSubObject))
2281 : : #define GI_MARSHALLING_TESTS_SUB_SUB_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT, GIMarshallingTestsSubSubObjectClass))
2282 : : #define GI_MARSHALLING_TESTS_IS_SUB_SUB_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT))
2283 : : #define GI_MARSHALLING_TESTS_IS_SUB_SUB_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT))
2284 : : #define GI_MARSHALLING_TESTS_SUB_SUB_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_SUB_SUB_OBJECT, GIMarshallingTestsSubSubObjectClass))
2285 : :
2286 : : typedef struct _GIMarshallingTestsSubSubObjectClass GIMarshallingTestsSubSubObjectClass;
2287 : : typedef struct _GIMarshallingTestsSubSubObject GIMarshallingTestsSubSubObject;
2288 : :
2289 : : struct _GIMarshallingTestsSubSubObjectClass
2290 : : {
2291 : : GIMarshallingTestsSubObjectClass parent_class;
2292 : : };
2293 : :
2294 : : struct _GIMarshallingTestsSubSubObject
2295 : : {
2296 : : GIMarshallingTestsSubObject parent_instance;
2297 : : };
2298 : :
2299 : : GI_TEST_EXTERN
2300 : : GType gi_marshalling_tests_sub_sub_object_get_type (void) G_GNUC_CONST;
2301 : :
2302 : : /* Interfaces */
2303 : :
2304 : : #define GI_MARSHALLING_TESTS_TYPE_INTERFACE (gi_marshalling_tests_interface_get_type ())
2305 : : #define GI_MARSHALLING_TESTS_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE, GIMarshallingTestsInterface))
2306 : : #define GI_MARSHALLING_TESTS_IS_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE))
2307 : : #define GI_MARSHALLING_TESTS_INTERFACE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE, GIMarshallingTestsInterfaceIface))
2308 : :
2309 : : typedef struct _GIMarshallingTestsInterface GIMarshallingTestsInterface;
2310 : : typedef struct _GIMarshallingTestsInterfaceIface GIMarshallingTestsInterfaceIface;
2311 : :
2312 : : struct _GIMarshallingTestsInterfaceIface
2313 : : {
2314 : : GTypeInterface base_iface;
2315 : :
2316 : : /**
2317 : : * GIMarshallingTestsInterfaceIface::test_int8_in:
2318 : : * @in: (in):
2319 : : */
2320 : : void (*test_int8_in) (GIMarshallingTestsInterface *self, gint8 in);
2321 : : };
2322 : :
2323 : : GI_TEST_EXTERN
2324 : : GType gi_marshalling_tests_interface_get_type (void) G_GNUC_CONST;
2325 : :
2326 : : GI_TEST_EXTERN
2327 : : void gi_marshalling_tests_interface_test_int8_in (GIMarshallingTestsInterface *self, gint8 in);
2328 : :
2329 : : GI_TEST_EXTERN
2330 : : void gi_marshalling_tests_test_interface_test_int8_in (GIMarshallingTestsInterface *test_iface, gint8 in);
2331 : :
2332 : : /* GIMarshallingTestsInterfaceImpl is a class that implements
2333 : : GIMarshallingTestsInterface */
2334 : :
2335 : : #define GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL (gi_marshalling_tests_interface_impl_get_type ())
2336 : : #define GI_MARSHALLING_TESTS_INTERFACE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL, GIMarshallingTestsInterfaceImpl))
2337 : : #define GI_MARSHALLING_TESTS_INTERFACE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL, GIMarshallingTestsInterfaceImplClass))
2338 : : #define GI_MARSHALLING_TESTS_IS_INTERFACE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL))
2339 : : #define GI_MARSHALLING_TESTS_IS_INTERFACE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL))
2340 : : #define GI_MARSHALLING_TESTS_INTERFACE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE_IMPL, GIMarshallingTestsInterfaceImplClass))
2341 : :
2342 : : typedef struct _GIMarshallingTestsInterfaceImplClass GIMarshallingTestsInterfaceImplClass;
2343 : : typedef struct _GIMarshallingTestsInterfaceImpl GIMarshallingTestsInterfaceImpl;
2344 : :
2345 : : struct _GIMarshallingTestsInterfaceImplClass
2346 : : {
2347 : : GObjectClass parent_class;
2348 : : };
2349 : :
2350 : : struct _GIMarshallingTestsInterfaceImpl
2351 : : {
2352 : : GObject parent_instance;
2353 : :
2354 : : gint int_;
2355 : : };
2356 : :
2357 : : GI_TEST_EXTERN
2358 : : GType gi_marshalling_tests_interface_impl_get_type (void) G_GNUC_CONST;
2359 : :
2360 : : GI_TEST_EXTERN
2361 : : GIMarshallingTestsInterface *gi_marshalling_tests_interface_impl_get_as_interface (GIMarshallingTestsInterfaceImpl *self);
2362 : :
2363 : : /* GIMarshallingTestsInterface2 allows us testing vfunc clashes when a class'
2364 : : vfunc implementation ambiguously relates to its prototype */
2365 : :
2366 : : #define GI_MARSHALLING_TESTS_TYPE_INTERFACE2 (gi_marshalling_tests_interface2_get_type ())
2367 : : #define GI_MARSHALLING_TESTS_INTERFACE2(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE2, GIMarshallingTestsInterface2))
2368 : : #define GI_MARSHALLING_TESTS_IS_INTERFACE2(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE2))
2369 : : #define GI_MARSHALLING_TESTS_INTERFACE2_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE2, GIMarshallingTestsInterface2Iface))
2370 : :
2371 : : typedef struct _GIMarshallingTestsInterface2 GIMarshallingTestsInterface2;
2372 : : typedef struct _GIMarshallingTestsInterface2Iface GIMarshallingTestsInterface2Iface;
2373 : :
2374 : : struct _GIMarshallingTestsInterface2Iface
2375 : : {
2376 : : GTypeInterface base_iface;
2377 : :
2378 : : /**
2379 : : * GIMarshallingTestsInterface2Iface::test_int8_in:
2380 : : * @in: (in):
2381 : : */
2382 : : void (*test_int8_in) (GIMarshallingTestsInterface2 *self, gint8 in);
2383 : : };
2384 : :
2385 : : GI_TEST_EXTERN
2386 : : GType gi_marshalling_tests_interface2_get_type (void) G_GNUC_CONST;
2387 : :
2388 : : /* GIMarshallingTestsInterface3 tests passing arrays of variants from C to @lang */
2389 : :
2390 : : #define GI_MARSHALLING_TESTS_TYPE_INTERFACE3 (gi_marshalling_tests_interface3_get_type ())
2391 : : #define GI_MARSHALLING_TESTS_INTERFACE3(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE3, GIMarshallingTestsInterface3))
2392 : : #define GI_MARSHALLING_TESTS_IS_INTERFACE3(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GI_MARSHALLING_TESTS_TYPE_INTERFACE3))
2393 : : #define GI_MARSHALLING_TESTS_INTERFACE3_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GI_MARSHALLING_TESTS_TYPE_INTERFACE3, GIMarshallingTestsInterface3Iface))
2394 : :
2395 : : typedef struct _GIMarshallingTestsInterface3 GIMarshallingTestsInterface3;
2396 : : typedef struct _GIMarshallingTestsInterface3Iface GIMarshallingTestsInterface3Iface;
2397 : :
2398 : : struct _GIMarshallingTestsInterface3Iface
2399 : : {
2400 : : GTypeInterface base_iface;
2401 : :
2402 : : /**
2403 : : * GIMarshallingTestsInterface3::test_variant_array_in:
2404 : : * @in: (in) (array length=n_in):
2405 : : */
2406 : : void (*test_variant_array_in) (GIMarshallingTestsInterface3 *self, GVariant **in, gsize n_in);
2407 : : };
2408 : :
2409 : : GI_TEST_EXTERN
2410 : : GType gi_marshalling_tests_interface3_get_type (void) G_GNUC_CONST;
2411 : :
2412 : : GI_TEST_EXTERN
2413 : : void gi_marshalling_tests_interface3_test_variant_array_in (GIMarshallingTestsInterface3 *self, GVariant **in, gsize n_in);
2414 : :
2415 : : /* Multiple output arguments */
2416 : :
2417 : : GI_TEST_EXTERN
2418 : : void gi_marshalling_tests_int_out_out (gint *int0, gint *int1);
2419 : :
2420 : : GI_TEST_EXTERN
2421 : : void gi_marshalling_tests_int_three_in_three_out (gint a, gint b, gint c, gint *out0, gint *out1, gint *out2);
2422 : :
2423 : : GI_TEST_EXTERN
2424 : : gint gi_marshalling_tests_int_return_out (gint *int_);
2425 : :
2426 : : /* Default arguments */
2427 : : GI_TEST_EXTERN
2428 : : void gi_marshalling_tests_int_two_in_utf8_two_in_with_allow_none (gint a, gint b, const gchar *c, const gchar *d);
2429 : :
2430 : : GI_TEST_EXTERN
2431 : : void gi_marshalling_tests_int_one_in_utf8_two_in_one_allows_none (gint a, const gchar *b, const gchar *c);
2432 : :
2433 : : GI_TEST_EXTERN
2434 : : void gi_marshalling_tests_array_in_utf8_two_in (const gint *ints, gint length, const gchar *a, const gchar *b);
2435 : :
2436 : : GI_TEST_EXTERN
2437 : : void gi_marshalling_tests_array_in_utf8_two_in_out_of_order (gint length, const gchar *a, const gint *ints, const gchar *b);
2438 : :
2439 : : /* GError */
2440 : :
2441 : : #define GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN "gi-marshalling-tests-gerror-domain"
2442 : : #define GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE 5
2443 : : #define GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE "gi-marshalling-tests-gerror-message"
2444 : : #define GI_MARSHALLING_TESTS_CONSTANT_GERROR_DEBUG_MESSAGE "we got an error, life is shit"
2445 : :
2446 : : GI_TEST_EXTERN
2447 : : void gi_marshalling_tests_gerror (GError **error);
2448 : :
2449 : : GI_TEST_EXTERN
2450 : : void gi_marshalling_tests_gerror_array_in (gint *in_ints, GError **error);
2451 : :
2452 : : GI_TEST_EXTERN
2453 : : void gi_marshalling_tests_gerror_out (GError **error, gchar **debug);
2454 : :
2455 : : GI_TEST_EXTERN
2456 : : gboolean gi_marshalling_tests_gerror_out_uninitialized (GError **v G_GNUC_UNUSED, gchar **v2 G_GNUC_UNUSED);
2457 : :
2458 : : GI_TEST_EXTERN
2459 : : void gi_marshalling_tests_gerror_out_transfer_none (GError **err, const gchar **debug);
2460 : :
2461 : : GI_TEST_EXTERN
2462 : : gboolean gi_marshalling_tests_gerror_out_transfer_none_uninitialized (GError **v G_GNUC_UNUSED, const gchar **v2 G_GNUC_UNUSED);
2463 : :
2464 : : GI_TEST_EXTERN
2465 : : GError *gi_marshalling_tests_gerror_return (void);
2466 : :
2467 : : /* GParamSpec */
2468 : : GI_TEST_EXTERN
2469 : : void gi_marshalling_tests_param_spec_in_bool (const GParamSpec *param);
2470 : :
2471 : : GI_TEST_EXTERN
2472 : : GParamSpec *gi_marshalling_tests_param_spec_return (void);
2473 : :
2474 : : GI_TEST_EXTERN
2475 : : void gi_marshalling_tests_param_spec_out (GParamSpec **param);
2476 : :
2477 : : GI_TEST_EXTERN
2478 : : gboolean gi_marshalling_tests_param_spec_out_uninitialized (GParamSpec **v G_GNUC_UNUSED);
2479 : :
2480 : : /* Overrides */
2481 : :
2482 : : #define GI_MARSHALLING_TESTS_OVERRIDES_CONSTANT 42
2483 : :
2484 : : typedef struct
2485 : : {
2486 : : glong long_;
2487 : : } GIMarshallingTestsOverridesStruct;
2488 : :
2489 : : GI_TEST_EXTERN
2490 : : GType gi_marshalling_tests_overrides_struct_get_type (void) G_GNUC_CONST;
2491 : :
2492 : : GI_TEST_EXTERN
2493 : : GIMarshallingTestsOverridesStruct *gi_marshalling_tests_overrides_struct_new (void);
2494 : :
2495 : : GI_TEST_EXTERN
2496 : : glong gi_marshalling_tests_overrides_struct_method (GIMarshallingTestsOverridesStruct *struct_);
2497 : :
2498 : : GI_TEST_EXTERN
2499 : : GIMarshallingTestsOverridesStruct *gi_marshalling_tests_overrides_struct_returnv (void);
2500 : :
2501 : : #define GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT (gi_marshalling_tests_overrides_object_get_type ())
2502 : : #define GI_MARSHALLING_TESTS_OVERRIDES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, GIMarshallingTestsOverridesObject))
2503 : : #define GI_MARSHALLING_TESTS_OVERRIDES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, GIMarshallingTestsOverridesObjectClass))
2504 : : #define GI_MARSHALLING_TESTS_IS_OVERRIDES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT))
2505 : : #define GI_MARSHALLING_TESTS_IS_OVERRIDES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT))
2506 : : #define GI_MARSHALLING_TESTS_OVERRIDES_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, GIMarshallingTestsOverridesObjectClass))
2507 : :
2508 : : typedef struct _GIMarshallingTestsOverridesObjectClass GIMarshallingTestsOverridesObjectClass;
2509 : : typedef struct _GIMarshallingTestsOverridesObject GIMarshallingTestsOverridesObject;
2510 : :
2511 : : struct _GIMarshallingTestsOverridesObjectClass
2512 : : {
2513 : : GObjectClass parent_class;
2514 : : };
2515 : :
2516 : : struct _GIMarshallingTestsOverridesObject
2517 : : {
2518 : : GObject parent_instance;
2519 : :
2520 : : glong long_;
2521 : : };
2522 : :
2523 : : GI_TEST_EXTERN
2524 : : GType gi_marshalling_tests_overrides_object_get_type (void) G_GNUC_CONST;
2525 : :
2526 : : GI_TEST_EXTERN
2527 : : GIMarshallingTestsOverridesObject *gi_marshalling_tests_overrides_object_new (void);
2528 : :
2529 : : GI_TEST_EXTERN
2530 : : glong gi_marshalling_tests_overrides_object_method (GIMarshallingTestsOverridesObject *object);
2531 : :
2532 : : GI_TEST_EXTERN
2533 : : GIMarshallingTestsOverridesObject *gi_marshalling_tests_overrides_object_returnv (void);
2534 : :
2535 : : /* Properties Object */
2536 : :
2537 : : #define GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT (gi_marshalling_tests_properties_object_get_type ())
2538 : : #define GI_MARSHALLING_TESTS_PROPERTIES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT, GIMarshallingTestsPropertiesObject))
2539 : : #define GI_MARSHALLING_TESTS_PROPERTIES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT, GIMarshallingTestsPropertiesObjectClass))
2540 : : #define GI_MARSHALLING_TESTS_IS_PROPERTIES_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT))
2541 : : #define GI_MARSHALLING_TESTS_IS_PROPERTIES_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT))
2542 : : #define GI_MARSHALLING_TESTS_PROPERTIES_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT, GIMarshallingTestsPropertiesObjectClass))
2543 : :
2544 : : typedef struct _GIMarshallingTestsPropertiesObject GIMarshallingTestsPropertiesObject;
2545 : : typedef struct _GIMarshallingTestsPropertiesObjectClass GIMarshallingTestsPropertiesObjectClass;
2546 : :
2547 : : struct _GIMarshallingTestsPropertiesObject
2548 : : {
2549 : : GObject parent_instance;
2550 : :
2551 : : gboolean some_boolean;
2552 : : gchar some_char;
2553 : : guchar some_uchar;
2554 : : gint some_int;
2555 : : gint some_deprecated_int;
2556 : : guint some_uint;
2557 : : glong some_long;
2558 : : gulong some_ulong;
2559 : : gint64 some_int64;
2560 : : guint64 some_uint64;
2561 : : gfloat some_float;
2562 : : gdouble some_double;
2563 : : gchar *some_string;
2564 : : gchar **some_strv;
2565 : : GIMarshallingTestsBoxedStruct *some_boxed_struct;
2566 : : GList *some_boxed_glist;
2567 : : GValue *some_gvalue;
2568 : : GVariant *some_variant;
2569 : : GObject *some_object;
2570 : : GIMarshallingTestsFlags some_flags;
2571 : : GIMarshallingTestsGEnum some_enum;
2572 : : GByteArray *some_byte_array;
2573 : : };
2574 : :
2575 : : struct _GIMarshallingTestsPropertiesObjectClass
2576 : : {
2577 : : GObjectClass parent_class;
2578 : : };
2579 : :
2580 : : GI_TEST_EXTERN
2581 : : GType gi_marshalling_tests_properties_object_get_type (void) G_GNUC_CONST;
2582 : :
2583 : : GI_TEST_EXTERN
2584 : : GIMarshallingTestsPropertiesObject *gi_marshalling_tests_properties_object_new (void);
2585 : :
2586 : : /* Object with properties setters/getters */
2587 : :
2588 : : #define GI_MARSHALLING_TESTS_TYPE_ACCESSORS_TESTS_PROPERTIES_OBJECT \
2589 : : (gi_marshalling_tests_properties_accessors_object_get_type ())
2590 : :
2591 : : GI_TEST_EXTERN
2592 : 1596 : G_DECLARE_FINAL_TYPE (GIMarshallingTestsPropertiesAccessorsObject,
2593 : : gi_marshalling_tests_properties_accessors_object,
2594 : : GI_MARSHALLING_TESTS,
2595 : : PROPERTIES_ACCESSORS_OBJECT,
2596 : : GObject);
2597 : :
2598 : : struct _GIMarshallingTestsPropertiesAccessorsObject
2599 : : {
2600 : : GObject parent_instance;
2601 : :
2602 : : gboolean some_boolean;
2603 : : gchar some_char;
2604 : : guchar some_uchar;
2605 : : gint some_int;
2606 : : gint some_deprecated_int;
2607 : : guint some_uint;
2608 : : glong some_long;
2609 : : gulong some_ulong;
2610 : : gint64 some_int64;
2611 : : guint64 some_uint64;
2612 : : gfloat some_float;
2613 : : gdouble some_double;
2614 : : gchar *some_string;
2615 : : gchar **some_strv;
2616 : : GIMarshallingTestsBoxedStruct *some_boxed_struct;
2617 : : GList *some_boxed_glist;
2618 : : GValue *some_gvalue;
2619 : : GVariant *some_variant;
2620 : : GObject *some_object;
2621 : : GIMarshallingTestsFlags some_flags;
2622 : : GIMarshallingTestsGEnum some_enum;
2623 : : GByteArray *some_byte_array;
2624 : : };
2625 : :
2626 : : GI_TEST_EXTERN
2627 : : GIMarshallingTestsPropertiesAccessorsObject *
2628 : : gi_marshalling_tests_properties_accessors_object_new (void);
2629 : :
2630 : : GI_TEST_EXTERN
2631 : : void gi_marshalling_tests_properties_accessors_object_set_boolean (GIMarshallingTestsPropertiesAccessorsObject *self, gboolean some_boolean);
2632 : :
2633 : : GI_TEST_EXTERN
2634 : : void gi_marshalling_tests_properties_accessors_object_set_char (GIMarshallingTestsPropertiesAccessorsObject *self, gchar some_char);
2635 : :
2636 : : GI_TEST_EXTERN
2637 : : void gi_marshalling_tests_properties_accessors_object_set_uchar (GIMarshallingTestsPropertiesAccessorsObject *self, guchar some_uchar);
2638 : :
2639 : : GI_TEST_EXTERN
2640 : : void gi_marshalling_tests_properties_accessors_object_set_int (GIMarshallingTestsPropertiesAccessorsObject *self, gint some_int);
2641 : :
2642 : : GI_TEST_EXTERN
2643 : : void gi_marshalling_tests_properties_accessors_object_set_uint (GIMarshallingTestsPropertiesAccessorsObject *self, guint some_uint);
2644 : :
2645 : : GI_TEST_EXTERN
2646 : : void gi_marshalling_tests_properties_accessors_object_set_long (GIMarshallingTestsPropertiesAccessorsObject *self, glong some_long);
2647 : :
2648 : : GI_TEST_EXTERN
2649 : : void gi_marshalling_tests_properties_accessors_object_set_ulong (GIMarshallingTestsPropertiesAccessorsObject *self, gulong some_ulong);
2650 : :
2651 : : GI_TEST_EXTERN
2652 : : void gi_marshalling_tests_properties_accessors_object_set_int64 (GIMarshallingTestsPropertiesAccessorsObject *self, gint64 some_int64);
2653 : :
2654 : : GI_TEST_EXTERN
2655 : : void gi_marshalling_tests_properties_accessors_object_set_uint64 (GIMarshallingTestsPropertiesAccessorsObject *self, guint64 some_uint64);
2656 : :
2657 : : GI_TEST_EXTERN
2658 : : void gi_marshalling_tests_properties_accessors_object_set_float (GIMarshallingTestsPropertiesAccessorsObject *self, gfloat some_float);
2659 : :
2660 : : GI_TEST_EXTERN
2661 : : void gi_marshalling_tests_properties_accessors_object_set_double (GIMarshallingTestsPropertiesAccessorsObject *self, gdouble some_double);
2662 : :
2663 : : GI_TEST_EXTERN
2664 : : void gi_marshalling_tests_properties_accessors_object_set_string (GIMarshallingTestsPropertiesAccessorsObject *self, gchar *some_string);
2665 : :
2666 : : GI_TEST_EXTERN
2667 : : void gi_marshalling_tests_properties_accessors_object_set_strv (GIMarshallingTestsPropertiesAccessorsObject *self, GStrv some_strv);
2668 : :
2669 : : GI_TEST_EXTERN
2670 : : void gi_marshalling_tests_properties_accessors_object_set_boxed_struct (GIMarshallingTestsPropertiesAccessorsObject *self, GIMarshallingTestsBoxedStruct *some_boxed_struct);
2671 : :
2672 : : GI_TEST_EXTERN
2673 : : void gi_marshalling_tests_properties_accessors_object_set_boxed_glist (GIMarshallingTestsPropertiesAccessorsObject *self, GList *some_boxed_glist);
2674 : :
2675 : : GI_TEST_EXTERN
2676 : : void gi_marshalling_tests_properties_accessors_object_set_gvalue (GIMarshallingTestsPropertiesAccessorsObject *self, GValue *some_gvalue);
2677 : :
2678 : : GI_TEST_EXTERN
2679 : : void gi_marshalling_tests_properties_accessors_object_set_variant (GIMarshallingTestsPropertiesAccessorsObject *self, GVariant *some_variant);
2680 : :
2681 : : GI_TEST_EXTERN
2682 : : void gi_marshalling_tests_properties_accessors_object_set_object (GIMarshallingTestsPropertiesAccessorsObject *self, GObject *some_object);
2683 : :
2684 : : GI_TEST_EXTERN
2685 : : void gi_marshalling_tests_properties_accessors_object_set_flags (GIMarshallingTestsPropertiesAccessorsObject *self, GIMarshallingTestsFlags some_flags);
2686 : :
2687 : : GI_TEST_EXTERN
2688 : : void gi_marshalling_tests_properties_accessors_object_set_enum (GIMarshallingTestsPropertiesAccessorsObject *self, GIMarshallingTestsGEnum some_enum);
2689 : :
2690 : : GI_TEST_EXTERN
2691 : : void gi_marshalling_tests_properties_accessors_object_set_byte_array (GIMarshallingTestsPropertiesAccessorsObject *self, GByteArray *some_byte_array);
2692 : :
2693 : : GI_TEST_EXTERN
2694 : : gboolean gi_marshalling_tests_properties_accessors_object_get_boolean (GIMarshallingTestsPropertiesAccessorsObject *self);
2695 : :
2696 : : GI_TEST_EXTERN
2697 : : gchar gi_marshalling_tests_properties_accessors_object_get_char (GIMarshallingTestsPropertiesAccessorsObject *self);
2698 : :
2699 : : GI_TEST_EXTERN
2700 : : guchar gi_marshalling_tests_properties_accessors_object_get_uchar (GIMarshallingTestsPropertiesAccessorsObject *self);
2701 : :
2702 : : GI_TEST_EXTERN
2703 : : gint gi_marshalling_tests_properties_accessors_object_get_int (GIMarshallingTestsPropertiesAccessorsObject *self);
2704 : :
2705 : : GI_TEST_EXTERN
2706 : : guint gi_marshalling_tests_properties_accessors_object_get_uint (GIMarshallingTestsPropertiesAccessorsObject *self);
2707 : :
2708 : : GI_TEST_EXTERN
2709 : : glong gi_marshalling_tests_properties_accessors_object_get_long (GIMarshallingTestsPropertiesAccessorsObject *self);
2710 : :
2711 : : GI_TEST_EXTERN
2712 : : gulong gi_marshalling_tests_properties_accessors_object_get_ulong (GIMarshallingTestsPropertiesAccessorsObject *self);
2713 : :
2714 : : GI_TEST_EXTERN
2715 : : gint64 gi_marshalling_tests_properties_accessors_object_get_int64 (GIMarshallingTestsPropertiesAccessorsObject *self);
2716 : :
2717 : : GI_TEST_EXTERN
2718 : : guint64 gi_marshalling_tests_properties_accessors_object_get_uint64 (GIMarshallingTestsPropertiesAccessorsObject *self);
2719 : :
2720 : : GI_TEST_EXTERN
2721 : : gfloat gi_marshalling_tests_properties_accessors_object_get_float (GIMarshallingTestsPropertiesAccessorsObject *self);
2722 : :
2723 : : GI_TEST_EXTERN
2724 : : gdouble gi_marshalling_tests_properties_accessors_object_get_double (GIMarshallingTestsPropertiesAccessorsObject *self);
2725 : :
2726 : : GI_TEST_EXTERN
2727 : : const gchar *gi_marshalling_tests_properties_accessors_object_get_string (GIMarshallingTestsPropertiesAccessorsObject *self);
2728 : :
2729 : : GI_TEST_EXTERN
2730 : : gchar **gi_marshalling_tests_properties_accessors_object_get_strv (GIMarshallingTestsPropertiesAccessorsObject *self);
2731 : :
2732 : : GI_TEST_EXTERN
2733 : : GIMarshallingTestsBoxedStruct *gi_marshalling_tests_properties_accessors_object_get_boxed_struct (GIMarshallingTestsPropertiesAccessorsObject *self);
2734 : :
2735 : : GI_TEST_EXTERN
2736 : : GList *gi_marshalling_tests_properties_accessors_object_get_boxed_glist (GIMarshallingTestsPropertiesAccessorsObject *self);
2737 : :
2738 : : GI_TEST_EXTERN
2739 : : GValue *gi_marshalling_tests_properties_accessors_object_get_gvalue (GIMarshallingTestsPropertiesAccessorsObject *self);
2740 : :
2741 : : GI_TEST_EXTERN
2742 : : GVariant *gi_marshalling_tests_properties_accessors_object_get_variant (GIMarshallingTestsPropertiesAccessorsObject *self);
2743 : :
2744 : : GI_TEST_EXTERN
2745 : : GObject *gi_marshalling_tests_properties_accessors_object_get_object (GIMarshallingTestsPropertiesAccessorsObject *self);
2746 : :
2747 : : GI_TEST_EXTERN
2748 : : GIMarshallingTestsFlags gi_marshalling_tests_properties_accessors_object_get_flags (GIMarshallingTestsPropertiesAccessorsObject *self);
2749 : :
2750 : : GI_TEST_EXTERN
2751 : : GIMarshallingTestsGEnum gi_marshalling_tests_properties_accessors_object_get_enum (GIMarshallingTestsPropertiesAccessorsObject *self);
2752 : :
2753 : : GI_TEST_EXTERN
2754 : : GByteArray *gi_marshalling_tests_properties_accessors_object_get_byte_array (GIMarshallingTestsPropertiesAccessorsObject *self);
2755 : :
2756 : : GI_TEST_EXTERN
2757 : : gint gi_marshalling_tests_properties_accessors_object_get_readonly (GIMarshallingTestsPropertiesAccessorsObject *self);
2758 : :
2759 : : GI_TEST_EXTERN
2760 : : G_DEPRECATED
2761 : : gint gi_marshalling_tests_properties_accessors_object_get_deprecated_int (GIMarshallingTestsPropertiesAccessorsObject *self);
2762 : :
2763 : : GI_TEST_EXTERN
2764 : : G_DEPRECATED
2765 : : void gi_marshalling_tests_properties_accessors_object_set_deprecated_int (GIMarshallingTestsPropertiesAccessorsObject *self, gint some_deprecated_int);
2766 : :
2767 : : /* Signals object */
2768 : :
2769 : : #define GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT (gi_marshalling_tests_signals_object_get_type ())
2770 : : #define GI_MARSHALLING_TESTS_SIGNALS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT, GIMarshallingTestsSignalsObject))
2771 : : #define GI_MARSHALLING_TESTS_SIGNALS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT, GIMarshallingTestsSignalsObjectClass))
2772 : : #define GI_MARSHALLING_TESTS_IS_SIGNALS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT))
2773 : : #define GI_MARSHALLING_TESTS_IS_SIGNALS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT))
2774 : : #define GI_MARSHALLING_TESTS_SIGNALS_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GI_MARSHALLING_TESTS_TYPE_SIGNALS_OBJECT, GIMarshallingTestsSignalsObjectClass))
2775 : :
2776 : : typedef struct _GIMarshallingTestsSignalsObject GIMarshallingTestsSignalsObject;
2777 : : typedef struct _GIMarshallingTestsSignalsObjectClass GIMarshallingTestsSignalsObjectClass;
2778 : :
2779 : : struct _GIMarshallingTestsSignalsObject
2780 : : {
2781 : : GObject parent_instance;
2782 : : };
2783 : :
2784 : : struct _GIMarshallingTestsSignalsObjectClass
2785 : : {
2786 : : GObjectClass parent_class;
2787 : : };
2788 : :
2789 : : GI_TEST_EXTERN
2790 : : GType gi_marshalling_tests_signals_object_get_type (void) G_GNUC_CONST;
2791 : :
2792 : : GI_TEST_EXTERN
2793 : : GIMarshallingTestsSignalsObject *gi_marshalling_tests_signals_object_new (void);
2794 : :
2795 : : GI_TEST_EXTERN
2796 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_utf8 (GIMarshallingTestsSignalsObject *object);
2797 : :
2798 : : GI_TEST_EXTERN
2799 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_utf8_container (GIMarshallingTestsSignalsObject *object);
2800 : :
2801 : : GI_TEST_EXTERN
2802 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_utf8_full (GIMarshallingTestsSignalsObject *object);
2803 : :
2804 : : GI_TEST_EXTERN
2805 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_boxed_struct (GIMarshallingTestsSignalsObject *object);
2806 : :
2807 : : GI_TEST_EXTERN
2808 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_boxed_struct_container (GIMarshallingTestsSignalsObject *object);
2809 : :
2810 : : GI_TEST_EXTERN
2811 : : void gi_marshalling_tests_signals_object_emit_boxed_gptrarray_boxed_struct_full (GIMarshallingTestsSignalsObject *object);
2812 : :
2813 : : GI_TEST_EXTERN
2814 : : void gi_marshalling_tests_signals_object_emit_hash_table_utf8_int (GIMarshallingTestsSignalsObject *object);
2815 : :
2816 : : GI_TEST_EXTERN
2817 : : void gi_marshalling_tests_signals_object_emit_hash_table_utf8_int_container (GIMarshallingTestsSignalsObject *object);
2818 : :
2819 : : GI_TEST_EXTERN
2820 : : void gi_marshalling_tests_signals_object_emit_hash_table_utf8_int_full (GIMarshallingTestsSignalsObject *object);
2821 : :
2822 : : GI_TEST_EXTERN
2823 : : void gi_marshalling_tests_signals_object_emit_boxed_struct (GIMarshallingTestsSignalsObject *object);
2824 : :
2825 : : GI_TEST_EXTERN
2826 : : void gi_marshalling_tests_signals_object_emit_boxed_struct_full (GIMarshallingTestsSignalsObject *object);
|