gobject-introspection 3.1.1-x64-mingw32 → 3.1.2-x64-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 (97) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/ext/gobject-introspection/extconf.rb +2 -2
  4. data/ext/gobject-introspection/rb-gi-argument.c +65 -10
  5. data/ext/gobject-introspection/rb-gi-field-info.c +81 -14
  6. data/ext/gobject-introspection/rb-gi-loader.c +8 -3
  7. data/ext/gobject-introspection/rb-gi-repository.c +5 -1
  8. data/lib/2.2/gobject_introspection.so +0 -0
  9. data/lib/2.3/gobject_introspection.so +0 -0
  10. data/lib/2.4/gobject_introspection.so +0 -0
  11. data/lib/gobject-introspection/loader.rb +49 -13
  12. data/lib/gobject-introspection/repository.rb +7 -0
  13. data/test/test-union-info.rb +34 -2
  14. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  15. data/vendor/local/bin/g-ir-generate.exe +0 -0
  16. data/vendor/local/bin/g-ir-inspect.exe +0 -0
  17. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  18. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  19. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  20. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  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.pyc +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  27. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  28. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  29. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  30. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.py +5 -4
  32. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
  33. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  35. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  36. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
  39. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  44. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  45. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +8 -7
  47. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  50. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  53. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.py +1 -1
  54. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  56. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyc +0 -0
  65. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +3 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  68. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  70. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  71. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  74. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  77. data/vendor/local/lib/gobject-introspection/giscanner/transformer.py +1 -6
  78. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  80. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  81. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  82. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  83. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  84. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  85. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  86. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +1 -1
  87. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +1 -1
  88. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +18 -6
  89. data/vendor/local/share/gir-1.0/GLib-2.0.gir +186 -61
  90. data/vendor/local/share/gir-1.0/GObject-2.0.gir +565 -389
  91. data/vendor/local/share/gir-1.0/Gio-2.0.gir +921 -57
  92. data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +4 -0
  93. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.c +262 -0
  94. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.h +45 -1
  95. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +37 -0
  96. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +4 -0
  97. metadata +5 -5
@@ -62,6 +62,7 @@ _gir_libraries = $(foreach lib,$($(_gir_name)_LIBS),--library=$(lib))
62
62
  _gir_packages = $(foreach pkg,$($(_gir_name)_PACKAGES),--pkg=$(pkg))
63
63
  _gir_includes = $(foreach include,$($(_gir_name)_INCLUDES),--include=$(include))
64
64
  _gir_export_packages = $(foreach pkg,$($(_gir_name)_EXPORT_PACKAGES),--pkg-export=$(pkg))
65
+ _gir_c_includes = $(foreach include,$($(_gir_name)_C_INCLUDES),--c-include=$(include))
65
66
 
66
67
  # Reuse the LIBTOOL variable from automake if it's set, but
67
68
  # work around MSYS weirdness: When running g-ir-scanner, MSYS changes
@@ -117,6 +118,8 @@ _gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(
117
118
  # provides introspection information.
118
119
  # EXPORT_PACKAGES - list of pkg-config names that are provided by this gir.
119
120
  # By default the names in the PACKAGES variable will be used.
121
+ # C_INCLUDES - List of public C headers which need to be included by
122
+ # consumers at compile time to make use of the API
120
123
  #
121
124
 
122
125
  define introspection-scanner
@@ -141,6 +144,7 @@ $(1): $$($(_gir_name)_FILES)
141
144
  $(_gir_packages) \
142
145
  $(_gir_includes) \
143
146
  $(_gir_export_packages) \
147
+ $(_gir_c_includes) \
144
148
  $(_gir_program) \
145
149
  $(_gir_libraries) \
146
150
  $($(_gir_name)_SCANNERFLAGS) \
@@ -1375,6 +1375,66 @@ gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length)
1375
1375
  g_assert (chars[3] == 'd');
1376
1376
  }
1377
1377
 
1378
+ /**
1379
+ * gi_marshalling_tests_array_int64_in:
1380
+ * @ints: (array length=length):
1381
+ * @length:
1382
+ */
1383
+ void
1384
+ gi_marshalling_tests_array_int64_in (const gint64 *ints, gint length)
1385
+ {
1386
+ g_assert_cmpint (length, ==, 4);
1387
+ g_assert_cmpint (ints[0], ==, -1);
1388
+ g_assert_cmpint (ints[1], ==, 0);
1389
+ g_assert_cmpint (ints[2], ==, 1);
1390
+ g_assert_cmpint (ints[3], ==, 2);
1391
+ }
1392
+
1393
+ /**
1394
+ * gi_marshalling_tests_array_uint64_in:
1395
+ * @ints: (array length=length):
1396
+ * @length:
1397
+ */
1398
+ void
1399
+ gi_marshalling_tests_array_uint64_in (const guint64 *ints, gint length)
1400
+ {
1401
+ g_assert_cmpint (length, ==, 4);
1402
+ g_assert_cmpint (ints[0], ==, -1);
1403
+ g_assert_cmpint (ints[1], ==, 0);
1404
+ g_assert_cmpint (ints[2], ==, 1);
1405
+ g_assert_cmpint (ints[3], ==, 2);
1406
+ }
1407
+
1408
+ /**
1409
+ * gi_marshalling_tests_array_unichar_in:
1410
+ * @chars: (array length=length):
1411
+ * @length:
1412
+ */
1413
+ void
1414
+ gi_marshalling_tests_array_unichar_in (const gunichar *chars, gint length)
1415
+ {
1416
+ unsigned ix;
1417
+ static const gunichar expected[] = GI_MARSHALLING_TESTS_CONSTANT_UCS4;
1418
+ g_assert_cmpint (length, ==, 12);
1419
+ for (ix = 0; ix < length; ix++)
1420
+ g_assert_cmpuint (chars[ix], ==, expected[ix]);
1421
+ }
1422
+
1423
+ /**
1424
+ * gi_marshalling_tests_array_bool_in:
1425
+ * @bools: (array length=length):
1426
+ * @length:
1427
+ */
1428
+ void
1429
+ gi_marshalling_tests_array_bool_in (const gboolean *bools, gint length)
1430
+ {
1431
+ g_assert_cmpint (length, ==, 4);
1432
+ g_assert_cmpint (bools[0], ==, TRUE);
1433
+ g_assert_cmpint (bools[1], ==, FALSE);
1434
+ g_assert_cmpint (bools[2], ==, TRUE);
1435
+ g_assert_cmpint (bools[3], ==, TRUE);
1436
+ }
1437
+
1378
1438
  /**
1379
1439
  * gi_marshalling_tests_array_struct_in:
1380
1440
  * @structs: (array length=length):
@@ -1521,6 +1581,31 @@ gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length, gint
1521
1581
  *ints = values;
1522
1582
  }
1523
1583
 
1584
+ /**
1585
+ * gi_marshalling_tests_array_bool_out:
1586
+ * @bools: (out) (array length=length) (transfer none):
1587
+ */
1588
+ void
1589
+ gi_marshalling_tests_array_bool_out (const gboolean **bools, gint *length)
1590
+ {
1591
+ static const gboolean values[] = { TRUE, FALSE, TRUE, TRUE };
1592
+
1593
+ *length = 4;
1594
+ *bools = values;
1595
+ }
1596
+
1597
+ /**
1598
+ * gi_marshalling_tests_array_unichar_out:
1599
+ * @chars: (out) (array length=length) (transfer none):
1600
+ */
1601
+ void
1602
+ gi_marshalling_tests_array_unichar_out (const gunichar **chars, gint *length)
1603
+ {
1604
+ static const gunichar values[] = GI_MARSHALLING_TESTS_CONSTANT_UCS4;
1605
+ *length = 12;
1606
+ *chars = values;
1607
+ }
1608
+
1524
1609
  /**
1525
1610
  * gi_marshalling_tests_array_inout:
1526
1611
  * @ints: (inout) (array length=length) (transfer none):
@@ -1628,6 +1713,20 @@ gi_marshalling_tests_array_zero_terminated_return_struct (void)
1628
1713
  return ret;
1629
1714
  }
1630
1715
 
1716
+ /**
1717
+ * gi_marshalling_tests_array_zero_terminated_return_unichar:
1718
+ *
1719
+ * Returns: (array zero-terminated) (transfer full):
1720
+ */
1721
+ gunichar *
1722
+ gi_marshalling_tests_array_zero_terminated_return_unichar (void)
1723
+ {
1724
+ static const gunichar value[] = GI_MARSHALLING_TESTS_CONSTANT_UCS4;
1725
+ gunichar *retval = g_new0(gunichar, 13);
1726
+ memcpy (retval, value, 12 * sizeof (gunichar));
1727
+ return retval;
1728
+ }
1729
+
1631
1730
  /**
1632
1731
  * gi_marshalling_tests_array_zero_terminated_in:
1633
1732
  * @utf8s: (array zero-terminated) (transfer none):
@@ -2054,6 +2153,34 @@ gi_marshalling_tests_garray_utf8_full_inout (GArray **array_)
2054
2153
  *array_ = result;
2055
2154
  }
2056
2155
 
2156
+ /**
2157
+ * gi_marshalling_tests_garray_bool_none_in:
2158
+ * @array_: (element-type gboolean) (transfer none):
2159
+ */
2160
+ void
2161
+ gi_marshalling_tests_garray_bool_none_in (GArray *array_)
2162
+ {
2163
+ g_assert_cmpint (array_->len, ==, 4);
2164
+ g_assert_cmpint (g_array_index (array_, gboolean, 0), ==, TRUE);
2165
+ g_assert_cmpint (g_array_index (array_, gboolean, 1), ==, FALSE);
2166
+ g_assert_cmpint (g_array_index (array_, gboolean, 2), ==, TRUE);
2167
+ g_assert_cmpint (g_array_index (array_, gboolean, 3), ==, TRUE);
2168
+ }
2169
+
2170
+ /**
2171
+ * gi_marshalling_tests_garray_unichar_none_in:
2172
+ * @array_: (element-type gunichar) (transfer none):
2173
+ */
2174
+ void
2175
+ gi_marshalling_tests_garray_unichar_none_in (GArray *array_)
2176
+ {
2177
+ unsigned ix;
2178
+ static const gunichar expected[] = GI_MARSHALLING_TESTS_CONSTANT_UCS4;
2179
+ g_assert_cmpint (array_->len, ==, 12);
2180
+ for (ix = 0; ix < array_->len; ix++)
2181
+ g_assert_cmpuint (g_array_index (array_, gunichar, ix), ==, expected[ix]);
2182
+ }
2183
+
2057
2184
  /**
2058
2185
  * gi_marshalling_tests_gptrarray_utf8_none_return:
2059
2186
  *
@@ -2981,6 +3108,90 @@ gi_marshalling_tests_ghashtable_utf8_none_in (GHashTable *hash_table)
2981
3108
  g_assert_cmpstr (g_hash_table_lookup (hash_table, "2"), ==, "-2");
2982
3109
  }
2983
3110
 
3111
+ /**
3112
+ * gi_marshalling_tests_ghashtable_double_in:
3113
+ * @hash_table: (element-type utf8 double) (transfer none):
3114
+ *
3115
+ * Meant to test a value type that doesn't fit inside a pointer.
3116
+ */
3117
+ void
3118
+ gi_marshalling_tests_ghashtable_double_in (GHashTable *hash_table)
3119
+ {
3120
+ double *value;
3121
+
3122
+ value = g_hash_table_lookup (hash_table, "-1");
3123
+ g_assert_cmpfloat (*value, ==, -0.1);
3124
+ value = g_hash_table_lookup (hash_table, "0");
3125
+ g_assert_cmpfloat (*value, ==, 0.0);
3126
+ value = g_hash_table_lookup (hash_table, "1");
3127
+ g_assert_cmpfloat (*value, ==, 0.1);
3128
+ value = g_hash_table_lookup (hash_table, "2");
3129
+ g_assert_cmpfloat (*value, ==, 0.2);
3130
+ }
3131
+
3132
+ /**
3133
+ * gi_marshalling_tests_ghashtable_float_in:
3134
+ * @hash_table: (element-type utf8 float) (transfer none):
3135
+ *
3136
+ * Meant to test a value type that doesn't fit inside a pointer.
3137
+ */
3138
+ void
3139
+ gi_marshalling_tests_ghashtable_float_in (GHashTable *hash_table)
3140
+ {
3141
+ float *value;
3142
+
3143
+ value = g_hash_table_lookup (hash_table, "-1");
3144
+ g_assert_cmpfloat (*value, ==, -0.1f);
3145
+ value = g_hash_table_lookup (hash_table, "0");
3146
+ g_assert_cmpfloat (*value, ==, 0.0f);
3147
+ value = g_hash_table_lookup (hash_table, "1");
3148
+ g_assert_cmpfloat (*value, ==, 0.1f);
3149
+ value = g_hash_table_lookup (hash_table, "2");
3150
+ g_assert_cmpfloat (*value, ==, 0.2f);
3151
+ }
3152
+
3153
+ /**
3154
+ * gi_marshalling_tests_ghashtable_int64_in:
3155
+ * @hash_table: (element-type utf8 gint64) (transfer none):
3156
+ *
3157
+ * Meant to test a value type that doesn't fit inside a pointer.
3158
+ */
3159
+ void
3160
+ gi_marshalling_tests_ghashtable_int64_in (GHashTable *hash_table)
3161
+ {
3162
+ gint64 *value;
3163
+
3164
+ value = g_hash_table_lookup (hash_table, "-1");
3165
+ g_assert_cmpint (*value, ==, -1);
3166
+ value = g_hash_table_lookup (hash_table, "0");
3167
+ g_assert_cmpint (*value, ==, 0);
3168
+ value = g_hash_table_lookup (hash_table, "1");
3169
+ g_assert_cmpint (*value, ==, 1);
3170
+ value = g_hash_table_lookup (hash_table, "2");
3171
+ g_assert_cmpint (*value, ==, (gint64) G_MAXUINT32 + 1);
3172
+ }
3173
+
3174
+ /**
3175
+ * gi_marshalling_tests_ghashtable_uint64_in:
3176
+ * @hash_table: (element-type utf8 guint64) (transfer none):
3177
+ *
3178
+ * Meant to test a value type that doesn't fit inside a pointer.
3179
+ */
3180
+ void
3181
+ gi_marshalling_tests_ghashtable_uint64_in (GHashTable *hash_table)
3182
+ {
3183
+ guint64 *value;
3184
+
3185
+ value = g_hash_table_lookup (hash_table, "-1");
3186
+ g_assert_cmpuint (*value, ==, (guint64) G_MAXUINT32 + 1);
3187
+ value = g_hash_table_lookup (hash_table, "0");
3188
+ g_assert_cmpuint (*value, ==, 0);
3189
+ value = g_hash_table_lookup (hash_table, "1");
3190
+ g_assert_cmpuint (*value, ==, 1);
3191
+ value = g_hash_table_lookup (hash_table, "2");
3192
+ g_assert_cmpuint (*value, ==, 2);
3193
+ }
3194
+
2984
3195
  /**
2985
3196
  * gi_marshalling_tests_ghashtable_utf8_none_out:
2986
3197
  * @hash_table: (out) (element-type utf8 utf8) (transfer none):
@@ -5140,7 +5351,10 @@ enum
5140
5351
  SOME_BOXED_STRUCT_PROPERTY,
5141
5352
  SOME_VARIANT_PROPERTY,
5142
5353
  SOME_BOXED_GLIST_PROPERTY,
5354
+ SOME_GVALUE_PROPERTY,
5143
5355
  SOME_OBJECT_PROPERTY,
5356
+ SOME_FLAGS_PROPERTY,
5357
+ SOME_ENUM_PROPERTY,
5144
5358
  };
5145
5359
 
5146
5360
  G_DEFINE_TYPE (GIMarshallingTestsPropertiesObject, gi_marshalling_tests_properties_object, G_TYPE_OBJECT);
@@ -5160,6 +5374,11 @@ gi_marshalling_tests_properties_object_finalize (GObject *obj)
5160
5374
  self->some_strv = NULL;
5161
5375
  }
5162
5376
 
5377
+ if (self->some_gvalue) {
5378
+ g_boxed_free (G_TYPE_VALUE, self->some_gvalue);
5379
+ self->some_gvalue = NULL;
5380
+ }
5381
+
5163
5382
  G_OBJECT_CLASS (gi_marshalling_tests_properties_object_parent_class)->finalize (obj);
5164
5383
  }
5165
5384
 
@@ -5213,12 +5432,21 @@ gi_marshalling_tests_properties_object_get_property (GObject *object,
5213
5432
  case SOME_BOXED_GLIST_PROPERTY:
5214
5433
  g_value_set_boxed (value, self->some_boxed_glist);
5215
5434
  break;
5435
+ case SOME_GVALUE_PROPERTY:
5436
+ g_value_set_boxed (value, self->some_gvalue);
5437
+ break;
5216
5438
  case SOME_VARIANT_PROPERTY:
5217
5439
  g_value_set_variant (value, self->some_variant);
5218
5440
  break;
5219
5441
  case SOME_OBJECT_PROPERTY:
5220
5442
  g_value_set_object (value, self->some_object);
5221
5443
  break;
5444
+ case SOME_FLAGS_PROPERTY:
5445
+ g_value_set_flags (value, self->some_flags);
5446
+ break;
5447
+ case SOME_ENUM_PROPERTY:
5448
+ g_value_set_enum (value, self->some_enum);
5449
+ break;
5222
5450
  default:
5223
5451
  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
5224
5452
  break;
@@ -5278,6 +5506,11 @@ gi_marshalling_tests_properties_object_set_property (GObject *object,
5278
5506
  g_list_free (self->some_boxed_glist);
5279
5507
  self->some_boxed_glist = g_list_copy (g_value_get_boxed (value));
5280
5508
  break;
5509
+ case SOME_GVALUE_PROPERTY:
5510
+ if (self->some_gvalue)
5511
+ g_boxed_free (G_TYPE_VALUE, self->some_gvalue);
5512
+ self->some_gvalue = g_value_dup_boxed (value);
5513
+ break;
5281
5514
  case SOME_VARIANT_PROPERTY:
5282
5515
  if (self->some_variant != NULL)
5283
5516
  g_variant_unref (self->some_variant);
@@ -5290,6 +5523,12 @@ gi_marshalling_tests_properties_object_set_property (GObject *object,
5290
5523
  g_object_unref (self->some_object);
5291
5524
  self->some_object = g_value_dup_object (value);
5292
5525
  break;
5526
+ case SOME_FLAGS_PROPERTY:
5527
+ self->some_flags = g_value_get_flags (value);
5528
+ break;
5529
+ case SOME_ENUM_PROPERTY:
5530
+ self->some_enum = g_value_get_enum (value);
5531
+ break;
5293
5532
  default:
5294
5533
  G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
5295
5534
  break;
@@ -5406,6 +5645,13 @@ static void gi_marshalling_tests_properties_object_class_init (GIMarshallingTest
5406
5645
  gi_marshalling_tests_boxed_glist_get_type
5407
5646
  (), G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
5408
5647
 
5648
+ g_object_class_install_property (object_class, SOME_GVALUE_PROPERTY,
5649
+ g_param_spec_boxed ("some-gvalue",
5650
+ "some-gvalue",
5651
+ "some-gvalue",
5652
+ G_TYPE_VALUE,
5653
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
5654
+
5409
5655
  g_object_class_install_property (object_class, SOME_VARIANT_PROPERTY,
5410
5656
  g_param_spec_variant ("some-variant",
5411
5657
  "some-variant",
@@ -5420,6 +5666,22 @@ static void gi_marshalling_tests_properties_object_class_init (GIMarshallingTest
5420
5666
  "some-object",
5421
5667
  G_TYPE_OBJECT,
5422
5668
  G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
5669
+
5670
+ g_object_class_install_property (object_class, SOME_FLAGS_PROPERTY,
5671
+ g_param_spec_flags ("some-flags",
5672
+ "some-flags",
5673
+ "some-flags",
5674
+ GI_MARSHALLING_TESTS_TYPE_FLAGS,
5675
+ GI_MARSHALLING_TESTS_FLAGS_VALUE1,
5676
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
5677
+
5678
+ g_object_class_install_property (object_class, SOME_ENUM_PROPERTY,
5679
+ g_param_spec_enum ("some-enum",
5680
+ "some-enum",
5681
+ "some-enum",
5682
+ GI_MARSHALLING_TESTS_TYPE_GENUM,
5683
+ GI_MARSHALLING_TESTS_GENUM_VALUE1,
5684
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
5423
5685
  }
5424
5686
 
5425
5687
  GIMarshallingTestsPropertiesObject *
@@ -16,7 +16,9 @@ typedef struct _GIMarshallingTestsBoxedStruct GIMarshallingTestsBoxedStruct;
16
16
 
17
17
  #define GI_MARSHALLING_TESTS_CONSTANT_NUMBER 42
18
18
  #define GI_MARSHALLING_TESTS_CONSTANT_UTF8 "const \xe2\x99\xa5 utf8"
19
-
19
+ #define GI_MARSHALLING_TESTS_CONSTANT_UCS4 { 0x63, 0x6f, 0x6e, 0x73, 0x74, \
20
+ 0x20, 0x2665, 0x20, 0x75, 0x74, \
21
+ 0x66, 0x38 }
20
22
 
21
23
  /* Booleans */
22
24
 
@@ -716,6 +718,18 @@ void gi_marshalling_tests_array_string_in (const gchar **strings, gint length);
716
718
  _GI_TEST_EXTERN
717
719
  void gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length);
718
720
 
721
+ _GI_TEST_EXTERN
722
+ void gi_marshalling_tests_array_int64_in (const gint64 *ints, gint length);
723
+
724
+ _GI_TEST_EXTERN
725
+ void gi_marshalling_tests_array_uint64_in (const guint64 *ints, gint length);
726
+
727
+ _GI_TEST_EXTERN
728
+ void gi_marshalling_tests_array_unichar_in (const gunichar *chars, gint length);
729
+
730
+ _GI_TEST_EXTERN
731
+ void gi_marshalling_tests_array_bool_in (const gboolean *bools, gint length);
732
+
719
733
  _GI_TEST_EXTERN
720
734
  void gi_marshalling_tests_array_struct_in (GIMarshallingTestsBoxedStruct **structs, gint length);
721
735
 
@@ -747,6 +761,11 @@ void gi_marshalling_tests_array_out (gint **ints, gint *length);
747
761
  _GI_TEST_EXTERN
748
762
  void gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length, gint last, gint *sum);
749
763
 
764
+ _GI_TEST_EXTERN
765
+ void gi_marshalling_tests_array_bool_out (const gboolean **bools, gint *length);
766
+
767
+ _GI_TEST_EXTERN
768
+ void gi_marshalling_tests_array_unichar_out (const gunichar **chars, gint *length);
750
769
 
751
770
  _GI_TEST_EXTERN
752
771
  void gi_marshalling_tests_array_inout (gint **ints, gint *length);
@@ -770,6 +789,9 @@ gchar **gi_marshalling_tests_array_zero_terminated_return_null (void);
770
789
  _GI_TEST_EXTERN
771
790
  GIMarshallingTestsBoxedStruct **gi_marshalling_tests_array_zero_terminated_return_struct (void);
772
791
 
792
+ _GI_TEST_EXTERN
793
+ gunichar *gi_marshalling_tests_array_zero_terminated_return_unichar (void);
794
+
773
795
 
774
796
  _GI_TEST_EXTERN
775
797
  void gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s);
@@ -845,6 +867,12 @@ void gi_marshalling_tests_garray_utf8_container_inout (GArray **array_);
845
867
  _GI_TEST_EXTERN
846
868
  void gi_marshalling_tests_garray_utf8_full_inout (GArray **array_);
847
869
 
870
+ _GI_TEST_EXTERN
871
+ void gi_marshalling_tests_garray_bool_none_in (GArray *array_);
872
+
873
+ _GI_TEST_EXTERN
874
+ void gi_marshalling_tests_garray_unichar_none_in (GArray *array_);
875
+
848
876
  /* GPtrArray */
849
877
 
850
878
  _GI_TEST_EXTERN
@@ -1021,6 +1049,19 @@ void gi_marshalling_tests_ghashtable_int_none_in (GHashTable *hash_table);
1021
1049
  _GI_TEST_EXTERN
1022
1050
  void gi_marshalling_tests_ghashtable_utf8_none_in (GHashTable *hash_table);
1023
1051
 
1052
+ _GI_TEST_EXTERN
1053
+ void gi_marshalling_tests_ghashtable_double_in (GHashTable *hash_table);
1054
+
1055
+ _GI_TEST_EXTERN
1056
+ void gi_marshalling_tests_ghashtable_float_in (GHashTable *hash_table);
1057
+
1058
+ _GI_TEST_EXTERN
1059
+ void gi_marshalling_tests_ghashtable_int64_in (GHashTable *hash_table);
1060
+
1061
+ _GI_TEST_EXTERN
1062
+ void gi_marshalling_tests_ghashtable_uint64_in (GHashTable *hash_table);
1063
+
1064
+
1024
1065
  _GI_TEST_EXTERN
1025
1066
  void gi_marshalling_tests_ghashtable_utf8_container_in (GHashTable *hash_table);
1026
1067
 
@@ -1929,8 +1970,11 @@ struct _GIMarshallingTestsPropertiesObject {
1929
1970
  gchar **some_strv;
1930
1971
  GIMarshallingTestsBoxedStruct* some_boxed_struct;
1931
1972
  GList* some_boxed_glist;
1973
+ GValue *some_gvalue;
1932
1974
  GVariant *some_variant;
1933
1975
  GObject *some_object;
1976
+ GIMarshallingTestsFlags some_flags;
1977
+ GIMarshallingTestsGEnum some_enum;
1934
1978
  };
1935
1979
 
1936
1980
  struct _GIMarshallingTestsPropertiesObjectClass {