gobject-introspection 3.2.0-x86-mingw32 → 3.2.1-x86-mingw32

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