gobject-introspection 3.0.1-x86-mingw32 → 3.0.2-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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/ext/gobject-introspection/rb-gi-argument.c +81 -48
  3. data/ext/gobject-introspection/rb-gi-loader.c +12 -0
  4. data/lib/2.0/gobject_introspection.so +0 -0
  5. data/lib/2.1/gobject_introspection.so +0 -0
  6. data/lib/2.2/gobject_introspection.so +0 -0
  7. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  8. data/vendor/local/bin/g-ir-generate.exe +0 -0
  9. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  10. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  11. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  12. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  13. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  14. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  15. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  16. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  17. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  18. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  19. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  20. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyc +0 -0
  21. data/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyo +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  26. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyc +0 -0
  27. data/vendor/local/lib/gobject-introspection/giscanner/collections/counter.pyo +0 -0
  28. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  29. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  30. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  32. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  33. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  35. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  36. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  39. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  44. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  45. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  47. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  50. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  53. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  56. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  65. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  66. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  67. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  68. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b27ebb5e0276fb1df573b303668700e3f37b1b3e
4
- data.tar.gz: 365c790112a4d6ec1db247e5da44c60bbfe20c15
3
+ metadata.gz: 715636c914557e97a1fb73f5d6a6e1a85cf16d8c
4
+ data.tar.gz: c6e9404fb07f9fcf1de450be86a44f1ce985318c
5
5
  SHA512:
6
- metadata.gz: 02508813421bf74e4b92ec036fef18307c18059d3e2e9510e4ba2ceb1597673fec7cc380adec7dd071c546288338938d6d71b0e7fe8778c915ff87599ce1ea9b
7
- data.tar.gz: 5caed3d513ea4dc2001233f16ca417a1c3be4d0e9d5b7082359e3c710d591fad78d4c3f4e2d82014c1d440ca121db9255a20fa86c6199cb6ef204d8b77773763
6
+ metadata.gz: 563eb569800290f53461c82f57aa9c740924ae35589bca6d98872a91e1166c94742077dfd1ebceed40cfbb8975c3c9a24b67be7d0c935281ce25da26c13091bc
7
+ data.tar.gz: 1468bec85414bc6073600067fcd1550586d31b2d47fac9a6da0f0e2831c887d9b66e04e6a402f31c1aaff82cf0b0e5e3ff6c66e6090e5406c9ce506f57a884af
@@ -1366,67 +1366,70 @@ rb_gi_out_argument_init(GIArgument *argument, GIArgInfo *arg_info)
1366
1366
  g_arg_info_load_type(arg_info, &type_info);
1367
1367
  type_tag = g_type_info_get_tag(&type_info);
1368
1368
  switch (type_tag) {
1369
- case GI_TYPE_TAG_VOID:
1369
+ case GI_TYPE_TAG_VOID:
1370
+ if (g_type_info_is_pointer(&type_info)) {
1371
+ argument->v_pointer = ALLOC(gpointer);
1372
+ }
1370
1373
  break;
1371
- case GI_TYPE_TAG_BOOLEAN:
1374
+ case GI_TYPE_TAG_BOOLEAN:
1372
1375
  argument->v_pointer = ALLOC(gboolean);
1373
1376
  break;
1374
- case GI_TYPE_TAG_INT8:
1377
+ case GI_TYPE_TAG_INT8:
1375
1378
  argument->v_pointer = ALLOC(gint8);
1376
1379
  break;
1377
- case GI_TYPE_TAG_UINT8:
1380
+ case GI_TYPE_TAG_UINT8:
1378
1381
  argument->v_pointer = ALLOC(guint8);
1379
1382
  break;
1380
- case GI_TYPE_TAG_INT16:
1383
+ case GI_TYPE_TAG_INT16:
1381
1384
  argument->v_pointer = ALLOC(gint16);
1382
1385
  break;
1383
- case GI_TYPE_TAG_UINT16:
1386
+ case GI_TYPE_TAG_UINT16:
1384
1387
  argument->v_pointer = ALLOC(guint16);
1385
1388
  break;
1386
- case GI_TYPE_TAG_INT32:
1389
+ case GI_TYPE_TAG_INT32:
1387
1390
  argument->v_pointer = ALLOC(gint32);
1388
1391
  break;
1389
- case GI_TYPE_TAG_UINT32:
1392
+ case GI_TYPE_TAG_UINT32:
1390
1393
  argument->v_pointer = ALLOC(guint32);
1391
1394
  break;
1392
- case GI_TYPE_TAG_INT64:
1395
+ case GI_TYPE_TAG_INT64:
1393
1396
  argument->v_pointer = ALLOC(gint64);
1394
1397
  break;
1395
- case GI_TYPE_TAG_UINT64:
1398
+ case GI_TYPE_TAG_UINT64:
1396
1399
  argument->v_pointer = ALLOC(guint64);
1397
1400
  break;
1398
- case GI_TYPE_TAG_FLOAT:
1401
+ case GI_TYPE_TAG_FLOAT:
1399
1402
  argument->v_pointer = ALLOC(gfloat);
1400
1403
  break;
1401
- case GI_TYPE_TAG_DOUBLE:
1404
+ case GI_TYPE_TAG_DOUBLE:
1402
1405
  argument->v_pointer = ALLOC(gdouble);
1403
1406
  break;
1404
- case GI_TYPE_TAG_GTYPE:
1407
+ case GI_TYPE_TAG_GTYPE:
1405
1408
  argument->v_pointer = ALLOC(GType);
1406
1409
  break;
1407
- case GI_TYPE_TAG_UTF8:
1408
- case GI_TYPE_TAG_FILENAME:
1410
+ case GI_TYPE_TAG_UTF8:
1411
+ case GI_TYPE_TAG_FILENAME:
1409
1412
  argument->v_pointer = ALLOC(gchar *);
1410
1413
  break;
1411
- case GI_TYPE_TAG_ARRAY:
1414
+ case GI_TYPE_TAG_ARRAY:
1412
1415
  rb_gi_out_argument_init_array(argument, arg_info, &type_info);
1413
1416
  break;
1414
- case GI_TYPE_TAG_INTERFACE:
1417
+ case GI_TYPE_TAG_INTERFACE:
1415
1418
  rb_gi_out_argument_init_interface(argument, arg_info, &type_info);
1416
1419
  break;
1417
- case GI_TYPE_TAG_GLIST:
1418
- case GI_TYPE_TAG_GSLIST:
1419
- case GI_TYPE_TAG_GHASH:
1420
+ case GI_TYPE_TAG_GLIST:
1421
+ case GI_TYPE_TAG_GSLIST:
1422
+ case GI_TYPE_TAG_GHASH:
1420
1423
  argument->v_pointer = ALLOC(gpointer);
1421
1424
  break;
1422
- case GI_TYPE_TAG_ERROR:
1425
+ case GI_TYPE_TAG_ERROR:
1423
1426
  argument->v_pointer = ALLOC(GError *);
1424
1427
  memset(argument->v_pointer, 0, sizeof(GError *));
1425
1428
  break;
1426
- case GI_TYPE_TAG_UNICHAR:
1429
+ case GI_TYPE_TAG_UNICHAR:
1427
1430
  argument->v_pointer = ALLOC(gunichar);
1428
1431
  break;
1429
- default:
1432
+ default:
1430
1433
  g_assert_not_reached();
1431
1434
  break;
1432
1435
  }
@@ -1448,53 +1451,56 @@ rb_gi_out_argument_to_ruby(GIArgument *argument,
1448
1451
  g_arg_info_load_type(arg_info, &type_info);
1449
1452
  type_tag = g_type_info_get_tag(&type_info);
1450
1453
  switch (type_tag) {
1451
- case GI_TYPE_TAG_VOID:
1454
+ case GI_TYPE_TAG_VOID:
1455
+ if (g_type_info_is_pointer(&type_info)) {
1456
+ normalized_argument.v_pointer = *((gpointer *)(argument->v_pointer));
1457
+ }
1452
1458
  break;
1453
- case GI_TYPE_TAG_BOOLEAN:
1459
+ case GI_TYPE_TAG_BOOLEAN:
1454
1460
  normalized_argument.v_boolean = *((gboolean *)(argument->v_pointer));
1455
1461
  break;
1456
- case GI_TYPE_TAG_INT8:
1462
+ case GI_TYPE_TAG_INT8:
1457
1463
  normalized_argument.v_int8 = *((gint8 *)(argument->v_pointer));
1458
1464
  break;
1459
- case GI_TYPE_TAG_UINT8:
1465
+ case GI_TYPE_TAG_UINT8:
1460
1466
  normalized_argument.v_uint8 = *((guint8 *)(argument->v_pointer));
1461
1467
  break;
1462
- case GI_TYPE_TAG_INT16:
1468
+ case GI_TYPE_TAG_INT16:
1463
1469
  normalized_argument.v_int16 = *((gint16 *)(argument->v_pointer));
1464
1470
  break;
1465
- case GI_TYPE_TAG_UINT16:
1471
+ case GI_TYPE_TAG_UINT16:
1466
1472
  normalized_argument.v_uint16 = *((guint16 *)(argument->v_pointer));
1467
1473
  break;
1468
- case GI_TYPE_TAG_INT32:
1474
+ case GI_TYPE_TAG_INT32:
1469
1475
  normalized_argument.v_int32 = *((gint32 *)(argument->v_pointer));
1470
1476
  break;
1471
- case GI_TYPE_TAG_UINT32:
1477
+ case GI_TYPE_TAG_UINT32:
1472
1478
  normalized_argument.v_uint32 = *((guint32 *)(argument->v_pointer));
1473
1479
  break;
1474
- case GI_TYPE_TAG_INT64:
1480
+ case GI_TYPE_TAG_INT64:
1475
1481
  normalized_argument.v_int64 = *((gint64 *)(argument->v_pointer));
1476
1482
  break;
1477
- case GI_TYPE_TAG_UINT64:
1483
+ case GI_TYPE_TAG_UINT64:
1478
1484
  normalized_argument.v_uint64 = *((guint64 *)(argument->v_pointer));
1479
1485
  break;
1480
- case GI_TYPE_TAG_FLOAT:
1486
+ case GI_TYPE_TAG_FLOAT:
1481
1487
  normalized_argument.v_float = *((gfloat *)(argument->v_pointer));
1482
1488
  break;
1483
- case GI_TYPE_TAG_DOUBLE:
1489
+ case GI_TYPE_TAG_DOUBLE:
1484
1490
  normalized_argument.v_double = *((gdouble *)(argument->v_pointer));
1485
1491
  break;
1486
- case GI_TYPE_TAG_GTYPE:
1492
+ case GI_TYPE_TAG_GTYPE:
1487
1493
  normalized_argument.v_size = *((GType *)(argument->v_pointer));
1488
1494
  break;
1489
- case GI_TYPE_TAG_UTF8:
1490
- case GI_TYPE_TAG_FILENAME:
1495
+ case GI_TYPE_TAG_UTF8:
1496
+ case GI_TYPE_TAG_FILENAME:
1491
1497
  normalized_argument.v_string = *((gchar **)(argument->v_pointer));
1492
1498
  break;
1493
- case GI_TYPE_TAG_ARRAY:
1494
- case GI_TYPE_TAG_INTERFACE:
1495
- case GI_TYPE_TAG_GLIST:
1496
- case GI_TYPE_TAG_GSLIST:
1497
- case GI_TYPE_TAG_GHASH:
1499
+ case GI_TYPE_TAG_ARRAY:
1500
+ case GI_TYPE_TAG_INTERFACE:
1501
+ case GI_TYPE_TAG_GLIST:
1502
+ case GI_TYPE_TAG_GSLIST:
1503
+ case GI_TYPE_TAG_GHASH:
1498
1504
  if (g_arg_info_is_caller_allocates(arg_info)) {
1499
1505
  duplicate = TRUE;
1500
1506
  normalized_argument.v_pointer = argument->v_pointer;
@@ -1502,13 +1508,13 @@ rb_gi_out_argument_to_ruby(GIArgument *argument,
1502
1508
  normalized_argument.v_pointer = *((gpointer *)(argument->v_pointer));
1503
1509
  }
1504
1510
  break;
1505
- case GI_TYPE_TAG_ERROR:
1511
+ case GI_TYPE_TAG_ERROR:
1506
1512
  normalized_argument.v_pointer = *((GError **)(argument->v_pointer));
1507
1513
  break;
1508
- case GI_TYPE_TAG_UNICHAR:
1514
+ case GI_TYPE_TAG_UNICHAR:
1509
1515
  normalized_argument.v_uint32 = *((guint32 *)(argument->v_pointer));
1510
1516
  break;
1511
- default:
1517
+ default:
1512
1518
  g_assert_not_reached();
1513
1519
  break;
1514
1520
  }
@@ -2396,6 +2402,34 @@ rb_gi_value_argument_from_ruby_void(GIArgument *argument, GITypeInfo *type_info,
2396
2402
  }
2397
2403
  }
2398
2404
 
2405
+ static GType
2406
+ rb_gi_value_argument_from_ruby_gtype(VALUE rb_argument)
2407
+ {
2408
+ ID id_gtype;
2409
+ VALUE rb_gtype;
2410
+
2411
+ if (RB_TYPE_P(rb_argument, RUBY_T_STRING)) {
2412
+ GType gtype;
2413
+ gtype = g_type_from_name(RVAL2CSTR(rb_argument));
2414
+ if (gtype == 0) {
2415
+ rb_raise(rb_eArgError,
2416
+ "unknown GType name: <%s>",
2417
+ RVAL2CSTR(rb_argument));
2418
+ }
2419
+ return gtype;
2420
+ }
2421
+
2422
+ CONST_ID(id_gtype, "gtype");
2423
+
2424
+ if (rb_respond_to(rb_argument, id_gtype)) {
2425
+ rb_gtype = rb_funcall(rb_argument, id_gtype, 0);
2426
+ } else {
2427
+ rb_gtype = rb_argument;
2428
+ }
2429
+
2430
+ return NUM2ULONG(rb_gtype);
2431
+ }
2432
+
2399
2433
  GIArgument *
2400
2434
  rb_gi_value_argument_from_ruby(GIArgument *argument, GITypeInfo *type_info,
2401
2435
  VALUE rb_argument, VALUE self)
@@ -2443,8 +2477,7 @@ rb_gi_value_argument_from_ruby(GIArgument *argument, GITypeInfo *type_info,
2443
2477
  argument->v_double = NUM2DBL(rb_argument);
2444
2478
  break;
2445
2479
  case GI_TYPE_TAG_GTYPE:
2446
- /* TODO: support GLib::Type and String as GType name. */
2447
- argument->v_size = NUM2ULONG(rb_argument);
2480
+ argument->v_size = rb_gi_value_argument_from_ruby_gtype(rb_argument);
2448
2481
  break;
2449
2482
  case GI_TYPE_TAG_UTF8:
2450
2483
  /* TODO: support UTF-8 convert like rb_argument.encode("UTF-8"). */
@@ -236,6 +236,17 @@ rg_s_reference_gobject(int argc, VALUE *argv, G_GNUC_UNUSED VALUE klass)
236
236
  return Qnil;
237
237
  }
238
238
 
239
+ static VALUE
240
+ rg_s_instantiate_gobject_pointer(G_GNUC_UNUSED VALUE klass,
241
+ VALUE rb_gobject_pointer)
242
+ {
243
+ GObject *gobject;
244
+
245
+ gobject = GUINT_TO_POINTER(NUM2ULONG(rb_gobject_pointer));
246
+
247
+ return GOBJ2RVAL(gobject);
248
+ }
249
+
239
250
  void
240
251
  rb_gi_loader_init(VALUE rb_mGI)
241
252
  {
@@ -253,4 +264,5 @@ rb_gi_loader_init(VALUE rb_mGI)
253
264
  RG_DEF_SMETHOD(register_constant_rename_map, 2);
254
265
  RG_DEF_SMETHOD(start_callback_dispatch_thread, 0);
255
266
  RG_DEF_SMETHOD(reference_gobject, -1);
267
+ RG_DEF_SMETHOD(instantiate_gobject_pointer, 1);
256
268
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-11 00:00:00.000000000 Z
11
+ date: 2015-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.1
19
+ version: 3.0.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.1
26
+ version: 3.0.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: test-unit
29
29
  requirement: !ruby/object:Gem::Requirement