gobject-introspection 3.0.7-x86-mingw32 → 3.0.8-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/ext/gobject-introspection/extconf.rb +1 -0
  4. data/ext/gobject-introspection/rb-gi-argument.c +123 -26
  5. data/ext/gobject-introspection/rb-gi-function-info.c +558 -19
  6. data/ext/gobject-introspection/rb-gi-repository.c +9 -0
  7. data/ext/gobject-introspection/rb-gobject-introspection.h +3 -0
  8. data/lib/2.2/gobject_introspection.so +0 -0
  9. data/lib/2.3/gobject_introspection.so +0 -0
  10. data/lib/gobject-introspection/loader.rb +1 -1
  11. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  12. data/vendor/local/bin/g-ir-generate.exe +0 -0
  13. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  14. data/vendor/local/include/gobject-introspection-1.0/gistructinfo.h +4 -0
  15. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  16. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  17. data/vendor/local/lib/girepository-1.0/GModule-2.0.typelib +0 -0
  18. data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
  19. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  20. data/vendor/local/lib/gobject-introspection/giscanner/__init__.py +1 -1
  21. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.py +39 -11
  24. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.py +187 -164
  27. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  28. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  29. data/vendor/local/lib/gobject-introspection/giscanner/ast.py +191 -58
  30. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  32. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.py +42 -54
  33. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  35. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.py +272 -82
  36. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/codegen.py +18 -11
  39. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.py +4 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  44. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
  45. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.py +25 -13
  47. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/docmain.py +21 -19
  50. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.py +19 -16
  53. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +148 -158
  56. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.py +31 -21
  59. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/girparser.py +13 -5
  62. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.py +12 -13
  65. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.py +5 -1
  68. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  70. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.py +11 -9
  71. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.py +150 -45
  74. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/message.py +56 -19
  77. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  78. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.py +101 -0
  80. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
  81. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  82. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +41 -22
  83. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  84. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  85. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.py +6 -1
  86. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  87. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  88. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.py +8 -2
  89. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  90. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  91. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +42 -56
  92. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  93. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  94. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.py +19 -5
  95. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  96. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  97. data/vendor/local/lib/gobject-introspection/giscanner/transformer.py +73 -37
  98. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  99. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  100. data/vendor/local/lib/gobject-introspection/giscanner/utils.py +92 -14
  101. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  102. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  103. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.py +30 -11
  104. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  105. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  106. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  107. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  108. data/vendor/local/lib/libgirepository-1.0.la +1 -1
  109. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +1 -1
  110. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +1 -1
  111. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +57 -13
  112. data/vendor/local/share/gir-1.0/GLib-2.0.gir +2018 -894
  113. data/vendor/local/share/gir-1.0/GModule-2.0.gir +2 -1
  114. data/vendor/local/share/gir-1.0/GObject-2.0.gir +1107 -674
  115. data/vendor/local/share/gir-1.0/Gio-2.0.gir +5589 -1287
  116. data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +4 -2
  117. data/vendor/local/share/gobject-introspection-1.0/gdump.c +8 -0
  118. data/vendor/local/share/gobject-introspection-1.0/tests/everything.c +273 -323
  119. data/vendor/local/share/gobject-introspection-1.0/tests/everything.h +58 -38
  120. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.c +1 -1
  121. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +177 -23
  122. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +40 -0
  123. data/vendor/local/share/man/man1/g-ir-compiler.1 +7 -7
  124. metadata +9 -7
  125. data/lib/2.0/gobject_introspection.so +0 -0
  126. data/lib/2.1/gobject_introspection.so +0 -0
@@ -13,6 +13,21 @@ void
13
13
  everything_nullfunc (void);
14
14
 
15
15
 
16
+ _GI_TEST_EXTERN
17
+ gpointer
18
+ everything_const_return_gpointer (void);
19
+
20
+
21
+ _GI_TEST_EXTERN
22
+ gintptr
23
+ everything_const_return_gintptr (void);
24
+
25
+
26
+ _GI_TEST_EXTERN
27
+ guintptr
28
+ everything_const_return_guintptr (void);
29
+
30
+
16
31
  _GI_TEST_EXTERN
17
32
  gboolean
18
33
  everything_const_return_gboolean (void);
@@ -103,16 +118,6 @@ gssize
103
118
  everything_const_return_gssize (void);
104
119
 
105
120
 
106
- _GI_TEST_EXTERN
107
- gintptr
108
- everything_const_return_gintptr (void);
109
-
110
-
111
- _GI_TEST_EXTERN
112
- guintptr
113
- everything_const_return_guintptr (void);
114
-
115
-
116
121
  _GI_TEST_EXTERN
117
122
  gfloat
118
123
  everything_const_return_gfloat (void);
@@ -143,6 +148,21 @@ const gchar*
143
148
  everything_const_return_filename (void);
144
149
 
145
150
 
151
+ _GI_TEST_EXTERN
152
+ void
153
+ everything_oneparam_gpointer (gpointer arg0);
154
+
155
+
156
+ _GI_TEST_EXTERN
157
+ void
158
+ everything_oneparam_gintptr (gintptr arg0);
159
+
160
+
161
+ _GI_TEST_EXTERN
162
+ void
163
+ everything_oneparam_guintptr (guintptr arg0);
164
+
165
+
146
166
  _GI_TEST_EXTERN
147
167
  void
148
168
  everything_oneparam_gboolean (gboolean arg0);
@@ -235,42 +255,47 @@ everything_oneparam_gssize (gssize arg0);
235
255
 
236
256
  _GI_TEST_EXTERN
237
257
  void
238
- everything_oneparam_gintptr (gintptr arg0);
258
+ everything_oneparam_gfloat (gfloat arg0);
239
259
 
240
260
 
241
261
  _GI_TEST_EXTERN
242
262
  void
243
- everything_oneparam_guintptr (guintptr arg0);
263
+ everything_oneparam_gdouble (gdouble arg0);
244
264
 
245
265
 
246
266
  _GI_TEST_EXTERN
247
267
  void
248
- everything_oneparam_gfloat (gfloat arg0);
268
+ everything_oneparam_gunichar (gunichar arg0);
249
269
 
250
270
 
251
271
  _GI_TEST_EXTERN
252
272
  void
253
- everything_oneparam_gdouble (gdouble arg0);
273
+ everything_oneparam_GType (GType arg0);
254
274
 
255
275
 
256
276
  _GI_TEST_EXTERN
257
277
  void
258
- everything_oneparam_gunichar (gunichar arg0);
278
+ everything_oneparam_utf8 (const gchar* arg0);
259
279
 
260
280
 
261
281
  _GI_TEST_EXTERN
262
282
  void
263
- everything_oneparam_GType (GType arg0);
283
+ everything_oneparam_filename (const gchar* arg0);
264
284
 
265
285
 
266
286
  _GI_TEST_EXTERN
267
287
  void
268
- everything_oneparam_utf8 (const gchar* arg0);
288
+ everything_one_outparam_gpointer (gpointer* arg0);
269
289
 
270
290
 
271
291
  _GI_TEST_EXTERN
272
292
  void
273
- everything_oneparam_filename (const gchar* arg0);
293
+ everything_one_outparam_gintptr (gintptr* arg0);
294
+
295
+
296
+ _GI_TEST_EXTERN
297
+ void
298
+ everything_one_outparam_guintptr (guintptr* arg0);
274
299
 
275
300
 
276
301
  _GI_TEST_EXTERN
@@ -363,16 +388,6 @@ void
363
388
  everything_one_outparam_gssize (gssize* arg0);
364
389
 
365
390
 
366
- _GI_TEST_EXTERN
367
- void
368
- everything_one_outparam_gintptr (gintptr* arg0);
369
-
370
-
371
- _GI_TEST_EXTERN
372
- void
373
- everything_one_outparam_guintptr (guintptr* arg0);
374
-
375
-
376
391
  _GI_TEST_EXTERN
377
392
  void
378
393
  everything_one_outparam_gfloat (gfloat* arg0);
@@ -403,6 +418,21 @@ void
403
418
  everything_one_outparam_filename (const gchar** arg0);
404
419
 
405
420
 
421
+ _GI_TEST_EXTERN
422
+ gpointer
423
+ everything_passthrough_one_gpointer (gpointer arg0);
424
+
425
+
426
+ _GI_TEST_EXTERN
427
+ gintptr
428
+ everything_passthrough_one_gintptr (gintptr arg0);
429
+
430
+
431
+ _GI_TEST_EXTERN
432
+ guintptr
433
+ everything_passthrough_one_guintptr (guintptr arg0);
434
+
435
+
406
436
  _GI_TEST_EXTERN
407
437
  gboolean
408
438
  everything_passthrough_one_gboolean (gboolean arg0);
@@ -493,16 +523,6 @@ gssize
493
523
  everything_passthrough_one_gssize (gssize arg0);
494
524
 
495
525
 
496
- _GI_TEST_EXTERN
497
- gintptr
498
- everything_passthrough_one_gintptr (gintptr arg0);
499
-
500
-
501
- _GI_TEST_EXTERN
502
- guintptr
503
- everything_passthrough_one_guintptr (guintptr arg0);
504
-
505
-
506
526
  _GI_TEST_EXTERN
507
527
  gfloat
508
528
  everything_passthrough_one_gfloat (gfloat arg0);
@@ -3409,7 +3409,7 @@ glong
3409
3409
  /**
3410
3410
  * gi_marshalling_tests_pointer_in_return:
3411
3411
  *
3412
- * Returns: (transfer none): The same pointer
3412
+ * Returns: The same pointer
3413
3413
  */
3414
3414
  gpointer
3415
3415
  gi_marshalling_tests_pointer_in_return (gpointer pointer)
@@ -25,6 +25,30 @@ regress_set_abort_on_error (gboolean in)
25
25
  abort_on_error = in;
26
26
  }
27
27
 
28
+ /* return annotations */
29
+
30
+ /**
31
+ * regress_test_return_allow_none:
32
+ *
33
+ * Returns: (allow-none):
34
+ */
35
+ char *
36
+ regress_test_return_allow_none (void)
37
+ {
38
+ return NULL;
39
+ }
40
+
41
+ /**
42
+ * regress_test_return_nullable:
43
+ *
44
+ * Returns: (nullable):
45
+ */
46
+ char *
47
+ regress_test_return_nullable (void)
48
+ {
49
+ return NULL;
50
+ }
51
+
28
52
  /* basic types */
29
53
  gboolean
30
54
  regress_test_boolean (gboolean in)
@@ -496,6 +520,7 @@ regress_test_utf8_inout (char **inout)
496
520
  {
497
521
  /* inout parameter, transfer mode full */
498
522
  g_assert (strcmp (*inout, utf8_const) == 0);
523
+ g_free (*inout);
499
524
  *inout = g_strdup (utf8_nonconst);
500
525
  }
501
526
 
@@ -639,6 +664,8 @@ regress_test_array_int_inout (int *n_ints, int **ints)
639
664
  new_ints = g_malloc(sizeof(**ints) * *n_ints);
640
665
  for (i = 0; i < *n_ints; i++)
641
666
  new_ints[i] = (*ints)[i + 1] + 1;
667
+
668
+ g_free (*ints);
642
669
  *ints = new_ints;
643
670
  }
644
671
  }
@@ -989,6 +1016,24 @@ regress_assert_test_sequence_list (const GList *in)
989
1016
  g_assert (i == G_N_ELEMENTS(test_sequence));
990
1017
  }
991
1018
 
1019
+ /**
1020
+ * regress_test_glist_gtype_container_in:
1021
+ * @in: (element-type GType) (transfer container):
1022
+ */
1023
+ void
1024
+ regress_test_glist_gtype_container_in (GList *in)
1025
+ {
1026
+ GList *l = in;
1027
+
1028
+ g_assert (GPOINTER_TO_SIZE (l->data) == REGRESS_TEST_TYPE_OBJ);
1029
+ l = l->next;
1030
+ g_assert (GPOINTER_TO_SIZE (l->data) == REGRESS_TEST_TYPE_SUB_OBJ);
1031
+ l = l->next;
1032
+ g_assert (l == NULL);
1033
+
1034
+ g_list_free (in);
1035
+ }
1036
+
992
1037
  /**
993
1038
  * regress_test_glist_nothing_in:
994
1039
  * @in: (element-type utf8):
@@ -1254,34 +1299,38 @@ static const gchar *string_array[] = {
1254
1299
  GHashTable *
1255
1300
  regress_test_ghash_gvalue_return (void)
1256
1301
  {
1257
- GHashTable *hash;
1258
- GValue *value;
1259
- hash = g_hash_table_new_full(g_str_hash, g_str_equal,
1260
- g_free, (GDestroyNotify)g_value_free);
1302
+ static GHashTable *hash = NULL;
1303
+
1304
+ if (hash == NULL)
1305
+ {
1306
+ GValue *value;
1307
+ hash = g_hash_table_new_full(g_str_hash, g_str_equal,
1308
+ g_free, (GDestroyNotify)g_value_free);
1261
1309
 
1262
- value = g_value_new(G_TYPE_INT);
1263
- g_value_set_int(value, 12);
1264
- g_hash_table_insert(hash, g_strdup("integer"), value);
1310
+ value = g_value_new(G_TYPE_INT);
1311
+ g_value_set_int(value, 12);
1312
+ g_hash_table_insert(hash, g_strdup("integer"), value);
1265
1313
 
1266
- value = g_value_new(G_TYPE_BOOLEAN);
1267
- g_value_set_boolean(value, TRUE);
1268
- g_hash_table_insert(hash, g_strdup("boolean"), value);
1314
+ value = g_value_new(G_TYPE_BOOLEAN);
1315
+ g_value_set_boolean(value, TRUE);
1316
+ g_hash_table_insert(hash, g_strdup("boolean"), value);
1269
1317
 
1270
- value = g_value_new(G_TYPE_STRING);
1271
- g_value_set_string(value, "some text");
1272
- g_hash_table_insert(hash, g_strdup("string"), value);
1318
+ value = g_value_new(G_TYPE_STRING);
1319
+ g_value_set_string(value, "some text");
1320
+ g_hash_table_insert(hash, g_strdup("string"), value);
1273
1321
 
1274
- value = g_value_new(G_TYPE_STRV);
1275
- g_value_set_boxed(value, string_array);
1276
- g_hash_table_insert(hash, g_strdup("strings"), value);
1322
+ value = g_value_new(G_TYPE_STRV);
1323
+ g_value_set_boxed(value, string_array);
1324
+ g_hash_table_insert(hash, g_strdup("strings"), value);
1277
1325
 
1278
- value = g_value_new(REGRESS_TEST_TYPE_FLAGS);
1279
- g_value_set_flags(value, REGRESS_TEST_FLAG1 | REGRESS_TEST_FLAG3);
1280
- g_hash_table_insert(hash, g_strdup("flags"), value);
1326
+ value = g_value_new(REGRESS_TEST_TYPE_FLAGS);
1327
+ g_value_set_flags(value, REGRESS_TEST_FLAG1 | REGRESS_TEST_FLAG3);
1328
+ g_hash_table_insert(hash, g_strdup("flags"), value);
1281
1329
 
1282
- value = g_value_new(regress_test_enum_get_type());
1283
- g_value_set_enum(value, REGRESS_TEST_VALUE2);
1284
- g_hash_table_insert(hash, g_strdup("enum"), value);
1330
+ value = g_value_new(regress_test_enum_get_type());
1331
+ g_value_set_enum(value, REGRESS_TEST_VALUE2);
1332
+ g_hash_table_insert(hash, g_strdup("enum"), value);
1333
+ }
1285
1334
 
1286
1335
  return hash;
1287
1336
  }
@@ -1690,6 +1739,23 @@ regress_test_struct_a_parse (RegressTestStructA *a_out,
1690
1739
  a_out->some_int = 23;
1691
1740
  }
1692
1741
 
1742
+ /**
1743
+ * regress_test_array_struct_out:
1744
+ * @arr: (out) (array length=len) (transfer full):
1745
+ * @len: (out)
1746
+ *
1747
+ * This is similar to gdk_keymap_get_entries_for_keyval().
1748
+ */
1749
+ void
1750
+ regress_test_array_struct_out (RegressTestStructA **arr, int *len)
1751
+ {
1752
+ *arr = g_new0(RegressTestStructA, 3);
1753
+ (*arr)[0].some_int = 22;
1754
+ (*arr)[1].some_int = 33;
1755
+ (*arr)[2].some_int = 44;
1756
+ *len = 3;
1757
+ }
1758
+
1693
1759
  /**
1694
1760
  * regress_test_struct_b_clone:
1695
1761
  * @b: the structure
@@ -2263,7 +2329,9 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
2263
2329
  * @arr: (array length=len) (element-type uint) (allow-none): numbers, or %NULL
2264
2330
  * @len: length of @arr, or 0
2265
2331
  *
2266
- * This test signal similar to GSettings::change-event
2332
+ * This test signal similar to GSettings::change-event.
2333
+ * You can use this with regress_test_obj_emit_sig_with_array_len_prop(), or
2334
+ * raise from the introspection client language.
2267
2335
  */
2268
2336
  regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_LEN_PROP] =
2269
2337
  g_signal_new ("sig-with-array-len-prop",
@@ -2690,6 +2758,16 @@ regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj)
2690
2758
  g_assert (ret == G_MAXUINT64);
2691
2759
  }
2692
2760
 
2761
+ /**
2762
+ * regress_test_obj_emit_sig_with_array_len_prop:
2763
+ */
2764
+ void
2765
+ regress_test_obj_emit_sig_with_array_len_prop (RegressTestObj *obj)
2766
+ {
2767
+ int arr[] = { 0, 1, 2, 3, 4 };
2768
+ g_signal_emit_by_name (obj, "sig-with-array-len-prop", &arr, 5);
2769
+ }
2770
+
2693
2771
  int
2694
2772
  regress_test_obj_instance_method (RegressTestObj *obj)
2695
2773
  {
@@ -2983,6 +3061,39 @@ regress_test_obj_null_out (RegressTestObj **obj)
2983
3061
  *obj = NULL;
2984
3062
  }
2985
3063
 
3064
+ /**
3065
+ * regress_func_obj_nullable_in:
3066
+ * @obj: (nullable): A #RegressTestObj
3067
+ */
3068
+ void
3069
+ regress_func_obj_nullable_in (RegressTestObj *obj)
3070
+ {
3071
+ }
3072
+
3073
+ /**
3074
+ * regress_test_obj_not_nullable_typed_gpointer_in:
3075
+ * @obj: A #RegressTestObj
3076
+ * @input: (type GObject): some #GObject
3077
+ */
3078
+ void
3079
+ regress_test_obj_not_nullable_typed_gpointer_in (RegressTestObj *obj,
3080
+ gpointer input)
3081
+ {
3082
+ }
3083
+
3084
+ /**
3085
+ * regress_test_obj_not_nullable_element_typed_gpointer_in:
3086
+ * @obj: A #RegressTestObj
3087
+ * @input: (element-type guint8) (array length=count): some uint8 array
3088
+ * @count: length of @input
3089
+ */
3090
+ void
3091
+ regress_test_obj_not_nullable_element_typed_gpointer_in (RegressTestObj *obj,
3092
+ gpointer input,
3093
+ guint count)
3094
+ {
3095
+ }
3096
+
2986
3097
  /**
2987
3098
  * regress_test_array_fixed_out_objects:
2988
3099
  * @objs: (out) (array fixed-size=2) (transfer full): An array of #RegressTestObj
@@ -3424,9 +3535,24 @@ regress_test_simple_callback (RegressTestSimpleCallback callback)
3424
3535
  return;
3425
3536
  }
3426
3537
 
3538
+ /**
3539
+ * regress_test_noptr_callback:
3540
+ * @callback: (scope call) (allow-none):
3541
+ *
3542
+ **/
3543
+ void
3544
+ regress_test_noptr_callback (RegressTestNoPtrCallback callback)
3545
+ {
3546
+ if (callback != NULL)
3547
+ callback();
3548
+
3549
+ return;
3550
+ }
3551
+
3427
3552
  /**
3428
3553
  * regress_test_callback_user_data:
3429
3554
  * @callback: (scope call):
3555
+ * @user_data: (not nullable):
3430
3556
  *
3431
3557
  * Call - callback parameter persists for the duration of the method
3432
3558
  * call and can be released on return.
@@ -3438,6 +3564,20 @@ regress_test_callback_user_data (RegressTestCallbackUserData callback,
3438
3564
  return callback(user_data);
3439
3565
  }
3440
3566
 
3567
+ /**
3568
+ * regress_test_callback_return_full:
3569
+ * @callback: (scope call):
3570
+ *
3571
+ **/
3572
+ void
3573
+ regress_test_callback_return_full (RegressTestCallbackReturnFull callback)
3574
+ {
3575
+ RegressTestObj *obj;
3576
+
3577
+ obj = callback ();
3578
+ g_object_unref (obj);
3579
+ }
3580
+
3441
3581
  static GSList *notified_callbacks = NULL;
3442
3582
 
3443
3583
  /**
@@ -3555,9 +3695,12 @@ regress_test_callback_thaw_async (void)
3555
3695
  void
3556
3696
  regress_test_async_ready_callback (GAsyncReadyCallback callback)
3557
3697
  {
3698
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
3558
3699
  GSimpleAsyncResult *result = g_simple_async_result_new (NULL, callback, NULL,
3559
3700
  regress_test_async_ready_callback);
3560
3701
  g_simple_async_result_complete_in_idle (result);
3702
+ g_object_unref (result);
3703
+ G_GNUC_END_IGNORE_DEPRECATIONS
3561
3704
  }
3562
3705
 
3563
3706
  /**
@@ -4069,3 +4212,14 @@ regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
4069
4212
  strncpy (self->name, name, sizeof (self->name) - 1);
4070
4213
  self->name[sizeof(self->name)-1] = '\0';
4071
4214
  }
4215
+
4216
+ /**
4217
+ * regress_get_variant:
4218
+ *
4219
+ * Returns: (transfer floating): A new variant
4220
+ */
4221
+ GVariant *
4222
+ regress_get_variant (void)
4223
+ {
4224
+ return g_variant_new_int32 (42);
4225
+ }