gobject-introspection 3.2.0-x86-mingw32 → 3.2.1-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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/ext/gobject-introspection/rb-gi-argument.c +154 -4
  3. data/lib/2.2/gobject_introspection.so +0 -0
  4. data/lib/2.3/gobject_introspection.so +0 -0
  5. data/lib/2.4/gobject_introspection.so +0 -0
  6. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  7. data/vendor/local/bin/g-ir-generate.exe +0 -0
  8. data/vendor/local/bin/g-ir-inspect.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/msvccompiler.pyc +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/msvccompiler.pyo +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  53. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  56. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  59. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  62. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  65. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  68. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  69. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: da3cfb06f453b4811bd5f68ce52dca11a76662ea
4
- data.tar.gz: ee499219a400766165506763ea5c6c30a1c07c5d
3
+ metadata.gz: face22394f08ebca5417da7390de660967d6a916
4
+ data.tar.gz: f3a2a68635c0d4855cca4ae1ff4f8385d9416f98
5
5
  SHA512:
6
- metadata.gz: 2f52afabfee3147852bef4dabf0b65bb53b72791f9728567df298ff3516fd285f521419d5cf5982b11461b11c1242afb685d5c3ea136046b82b14c0007f0d799
7
- data.tar.gz: 1b9bc64aba346cb5c76c7dbd948d9b3f794d1e1eb0b32f69c2e341c3124fd418f4116aced639a3ada5d0957e73c26e136880e9e3a64bf2d57ff19507163c4cc7
6
+ metadata.gz: 92aa1e0b81aebf932e287a7fdf48a362cc086f1918338f40eea57114570ea5e601e7ed03dd1935d1d599c06e11ab2c72fb90b82586aa68cedf632f2f09d33780
7
+ data.tar.gz: ab8954297edd89c13d0c04becec8a8685bf2d03ff80561a8543e1819fc77e402d0e5e2c628916c27b3b28b4c5287f38db17ca1821c383a7bd488d2f49401bb7a
@@ -22,6 +22,21 @@
22
22
 
23
23
  static VALUE rb_cGLibValue = Qnil;
24
24
 
25
+ static const gchar *
26
+ rb_gi_transfer_to_string(GITransfer transfer)
27
+ {
28
+ switch(transfer) {
29
+ case GI_TRANSFER_NOTHING:
30
+ return "nothing";
31
+ case GI_TRANSFER_CONTAINER:
32
+ return "container";
33
+ case GI_TRANSFER_EVERYTHING:
34
+ return "everything";
35
+ default:
36
+ return "unknown";
37
+ }
38
+ }
39
+
25
40
  static void
26
41
  array_c_to_ruby_sized_interface(gconstpointer *elements,
27
42
  gint64 n_elements,
@@ -1580,6 +1595,8 @@ rb_gi_out_argument_init_interface(GIArgument *argument,
1580
1595
  {
1581
1596
  gsize struct_size;
1582
1597
 
1598
+ /* Should we care gtype?
1599
+ Related: rb_gi_out_argument_fin_interface() */
1583
1600
  struct_size = g_struct_info_get_size(interface_info);
1584
1601
  argument->v_pointer = xmalloc(struct_size);
1585
1602
  memset(argument->v_pointer, 0, struct_size);
@@ -1877,7 +1894,8 @@ static void
1877
1894
  rb_gi_out_argument_fin_array_c(GIArgument *argument,
1878
1895
  G_GNUC_UNUSED GIArgInfo *arg_info,
1879
1896
  G_GNUC_UNUSED GITypeInfo *array_type_info,
1880
- GITypeInfo *element_type_info)
1897
+ GITypeInfo *element_type_info,
1898
+ GITransfer transfer)
1881
1899
  {
1882
1900
  GITypeTag element_type_tag;
1883
1901
 
@@ -1893,6 +1911,9 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument,
1893
1911
  g_type_tag_to_string(element_type_tag));
1894
1912
  break;
1895
1913
  case GI_TYPE_TAG_UINT8:
1914
+ if (transfer == GI_TRANSFER_EVERYTHING) {
1915
+ g_free(*((guint8 **)(argument->v_pointer)));
1916
+ }
1896
1917
  xfree(argument->v_pointer);
1897
1918
  break;
1898
1919
  case GI_TYPE_TAG_INT16:
@@ -1910,6 +1931,9 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument,
1910
1931
  g_type_tag_to_string(element_type_tag));
1911
1932
  break;
1912
1933
  case GI_TYPE_TAG_UTF8:
1934
+ if (transfer != GI_TRANSFER_NOTHING) {
1935
+ g_free(*((gchar **)argument->v_pointer));
1936
+ }
1913
1937
  xfree(argument->v_pointer);
1914
1938
  break;
1915
1939
  case GI_TYPE_TAG_FILENAME:
@@ -1920,6 +1944,16 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument,
1920
1944
  g_type_tag_to_string(element_type_tag));
1921
1945
  break;
1922
1946
  case GI_TYPE_TAG_INTERFACE:
1947
+ if (transfer == GI_TRANSFER_EVERYTHING) {
1948
+ g_base_info_unref(element_type_info);
1949
+ rb_raise(rb_eNotImpError,
1950
+ "TODO: free out transfer GIArgument(array)[c][%s][%s]",
1951
+ g_type_tag_to_string(element_type_tag),
1952
+ rb_gi_transfer_to_string(transfer));
1953
+ }
1954
+ if (transfer != GI_TRANSFER_NOTHING) {
1955
+ g_free(*((gpointer *)argument->v_pointer));
1956
+ }
1923
1957
  xfree(argument->v_pointer);
1924
1958
  break;
1925
1959
  case GI_TYPE_TAG_GLIST:
@@ -1942,7 +1976,8 @@ rb_gi_out_argument_fin_array_c(GIArgument *argument,
1942
1976
  static void
1943
1977
  rb_gi_out_argument_fin_array(GIArgument *argument,
1944
1978
  GIArgInfo *arg_info,
1945
- GITypeInfo *array_type_info)
1979
+ GITypeInfo *array_type_info,
1980
+ GITransfer transfer)
1946
1981
  {
1947
1982
  GIArrayType array_type;
1948
1983
  GITypeInfo *element_type_info;
@@ -1957,9 +1992,17 @@ rb_gi_out_argument_fin_array(GIArgument *argument,
1957
1992
  rb_gi_out_argument_fin_array_c(argument,
1958
1993
  arg_info,
1959
1994
  array_type_info,
1960
- element_type_info);
1995
+ element_type_info,
1996
+ transfer);
1961
1997
  break;
1962
1998
  case GI_ARRAY_TYPE_ARRAY:
1999
+ if (transfer != GI_TRANSFER_NOTHING) {
2000
+ g_base_info_unref(element_type_info);
2001
+ rb_raise(rb_eNotImpError,
2002
+ "TODO: free out transfer GIArgument(array)[ptr-array][%s][%s]",
2003
+ g_type_tag_to_string(element_type_tag),
2004
+ rb_gi_transfer_to_string(transfer));
2005
+ }
1963
2006
  g_array_free(argument->v_pointer, TRUE);
1964
2007
  break;
1965
2008
  case GI_ARRAY_TYPE_PTR_ARRAY:
@@ -1983,11 +2026,88 @@ rb_gi_out_argument_fin_array(GIArgument *argument,
1983
2026
  g_base_info_unref(element_type_info);
1984
2027
  }
1985
2028
 
2029
+ static void
2030
+ rb_gi_out_argument_fin_interface(GIArgument *argument,
2031
+ G_GNUC_UNUSED GIArgInfo *arg_info,
2032
+ GITypeInfo *interface_type_info,
2033
+ GITransfer transfer)
2034
+ {
2035
+ GIBaseInfo *interface_info;
2036
+ GIInfoType interface_type;
2037
+
2038
+ interface_info = g_type_info_get_interface(interface_type_info);
2039
+ interface_type = g_base_info_get_type(interface_info);
2040
+ g_base_info_unref(interface_info);
2041
+
2042
+ switch (interface_type) {
2043
+ case GI_INFO_TYPE_INVALID:
2044
+ case GI_INFO_TYPE_FUNCTION:
2045
+ case GI_INFO_TYPE_CALLBACK:
2046
+ rb_raise(rb_eNotImpError,
2047
+ "TODO: free out transfer GIArgument(interface)[%s][%s]",
2048
+ g_info_type_to_string(interface_type),
2049
+ rb_gi_transfer_to_string(transfer));
2050
+ break;
2051
+ case GI_INFO_TYPE_STRUCT:
2052
+ /* Should we care gtype?
2053
+ Related: rb_gi_out_argument_init_interface() */
2054
+ xfree(argument->v_pointer);
2055
+ break;
2056
+ case GI_INFO_TYPE_BOXED:
2057
+ rb_raise(rb_eNotImpError,
2058
+ "TODO: free out transfer GIArgument(interface)[%s][%s]",
2059
+ g_info_type_to_string(interface_type),
2060
+ rb_gi_transfer_to_string(transfer));
2061
+ break;
2062
+ case GI_INFO_TYPE_ENUM:
2063
+ case GI_INFO_TYPE_FLAGS:
2064
+ break;
2065
+ case GI_INFO_TYPE_OBJECT:
2066
+ if (transfer != GI_TRANSFER_NOTHING) {
2067
+ rb_raise(rb_eNotImpError,
2068
+ "TODO: free out transfer GIArgument(interface)[%s][%s]",
2069
+ g_info_type_to_string(interface_type),
2070
+ rb_gi_transfer_to_string(transfer));
2071
+ }
2072
+ xfree(argument->v_pointer);
2073
+ break;
2074
+ case GI_INFO_TYPE_INTERFACE:
2075
+ if (transfer != GI_TRANSFER_NOTHING) {
2076
+ rb_raise(rb_eNotImpError,
2077
+ "TODO: free out transfer GIArgument(interface)[%s][%s]",
2078
+ g_info_type_to_string(interface_type),
2079
+ rb_gi_transfer_to_string(transfer));
2080
+ }
2081
+ xfree(argument->v_pointer);
2082
+ break;
2083
+ case GI_INFO_TYPE_CONSTANT:
2084
+ case GI_INFO_TYPE_INVALID_0:
2085
+ case GI_INFO_TYPE_UNION:
2086
+ case GI_INFO_TYPE_VALUE:
2087
+ case GI_INFO_TYPE_SIGNAL:
2088
+ case GI_INFO_TYPE_VFUNC:
2089
+ case GI_INFO_TYPE_PROPERTY:
2090
+ case GI_INFO_TYPE_FIELD:
2091
+ case GI_INFO_TYPE_ARG:
2092
+ case GI_INFO_TYPE_TYPE:
2093
+ case GI_INFO_TYPE_UNRESOLVED:
2094
+ rb_raise(rb_eNotImpError,
2095
+ "TODO: free out transfer GIArgument(interface)[%s][%s]",
2096
+ g_info_type_to_string(interface_type),
2097
+ rb_gi_transfer_to_string(transfer));
2098
+ break;
2099
+ default:
2100
+ g_assert_not_reached();
2101
+ break;
2102
+ }
2103
+ }
2104
+
1986
2105
  void
1987
2106
  rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info)
1988
2107
  {
1989
2108
  GITypeInfo type_info;
1990
2109
  GITypeTag type_tag;
2110
+ GITransfer transfer;
1991
2111
 
1992
2112
  if (g_arg_info_get_direction(arg_info) != GI_DIRECTION_OUT) {
1993
2113
  return;
@@ -1995,6 +2115,7 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info)
1995
2115
 
1996
2116
  g_arg_info_load_type(arg_info, &type_info);
1997
2117
  type_tag = g_type_info_get_tag(&type_info);
2118
+ transfer = g_arg_info_get_ownership_transfer(arg_info);
1998
2119
 
1999
2120
  switch (type_tag) {
2000
2121
  case GI_TYPE_TAG_VOID:
@@ -2010,7 +2131,12 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info)
2010
2131
  case GI_TYPE_TAG_FLOAT:
2011
2132
  case GI_TYPE_TAG_DOUBLE:
2012
2133
  case GI_TYPE_TAG_GTYPE:
2134
+ xfree(argument->v_pointer);
2135
+ break;
2013
2136
  case GI_TYPE_TAG_UTF8:
2137
+ if (transfer != GI_TRANSFER_NOTHING) {
2138
+ g_free(*((gchar **)argument->v_pointer));
2139
+ }
2014
2140
  xfree(argument->v_pointer);
2015
2141
  break;
2016
2142
  case GI_TYPE_TAG_FILENAME:
@@ -2019,13 +2145,37 @@ rb_gi_out_argument_fin(GIArgument *argument, GIArgInfo *arg_info)
2019
2145
  g_type_tag_to_string(type_tag));
2020
2146
  break;
2021
2147
  case GI_TYPE_TAG_ARRAY:
2022
- rb_gi_out_argument_fin_array(argument, arg_info, &type_info);
2148
+ rb_gi_out_argument_fin_array(argument, arg_info, &type_info, transfer);
2023
2149
  break;
2024
2150
  case GI_TYPE_TAG_INTERFACE:
2151
+ rb_gi_out_argument_fin_interface(argument,
2152
+ arg_info,
2153
+ &type_info,
2154
+ transfer);
2155
+ break;
2025
2156
  case GI_TYPE_TAG_GLIST:
2157
+ if (transfer == GI_TRANSFER_EVERYTHING) {
2158
+ rb_raise(rb_eNotImpError,
2159
+ "TODO: free out transfer GIArgument(%s)[%s]",
2160
+ g_type_tag_to_string(type_tag),
2161
+ rb_gi_transfer_to_string(transfer));
2162
+ }
2163
+ if (transfer != GI_TRANSFER_NOTHING) {
2164
+ g_list_free(*((GList **)argument->v_pointer));
2165
+ }
2166
+ xfree(argument->v_pointer);
2167
+ break;
2026
2168
  case GI_TYPE_TAG_GSLIST:
2027
2169
  case GI_TYPE_TAG_GHASH:
2028
2170
  case GI_TYPE_TAG_ERROR:
2171
+ if (transfer != GI_TRANSFER_NOTHING) {
2172
+ rb_raise(rb_eNotImpError,
2173
+ "TODO: free out transfer GIArgument(%s)[%s]",
2174
+ g_type_tag_to_string(type_tag),
2175
+ rb_gi_transfer_to_string(transfer));
2176
+ }
2177
+ xfree(argument->v_pointer);
2178
+ break;
2029
2179
  case GI_TYPE_TAG_UNICHAR:
2030
2180
  xfree(argument->v_pointer);
2031
2181
  break;
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.2.0
4
+ version: 3.2.1
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: 2017-11-07 00:00:00.000000000 Z
11
+ date: 2017-11-19 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.2.0
19
+ version: 3.2.1
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.2.0
26
+ version: 3.2.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: test-unit
29
29
  requirement: !ruby/object:Gem::Requirement