gobject-introspection 3.1.1-x86-mingw32 → 3.1.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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 {