gir_ffi-pretty_printer 0.0.3 → 0.0.4

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.
@@ -3,16 +3,13 @@ module GObject
3
3
  # XXX: Don't know how to print callback
4
4
  class GObject::Binding < GObject::Object
5
5
 
6
- def flags
7
- get_property("flags")
8
- end
9
6
  def get_flags
10
7
  _v1 = GObject::Lib.g_binding_get_flags(self)
11
8
  return _v1
12
9
  end
13
10
  def get_source
14
11
  _v1 = GObject::Lib.g_binding_get_source(self)
15
- _v2 = GObject::Object.wrap(_v1)
12
+ _v2 = GObject::Object.wrap(_v1).tap { |it| it and it.ref }
16
13
  return _v2
17
14
  end
18
15
  def get_source_property
@@ -22,7 +19,7 @@ module GObject
22
19
  end
23
20
  def get_target
24
21
  _v1 = GObject::Lib.g_binding_get_target(self)
25
- _v2 = GObject::Object.wrap(_v1)
22
+ _v2 = GObject::Object.wrap(_v1).tap { |it| it and it.ref }
26
23
  return _v2
27
24
  end
28
25
  def get_target_property
@@ -30,17 +27,13 @@ module GObject
30
27
  _v2 = _v1.to_utf8
31
28
  return _v2
32
29
  end
33
- def source
34
- get_property("source")
35
- end
36
30
  def source_property
37
- get_property("source-property")
38
- end
39
- def target
40
- get_property("target")
31
+ _v1 = get_property("source-property")
32
+ _v1
41
33
  end
42
34
  def target_property
43
- get_property("target-property")
35
+ _v1 = get_property("target-property")
36
+ _v1
44
37
  end
45
38
  def unbind
46
39
  GObject::Lib.g_binding_unbind(self)
@@ -49,244 +42,241 @@ module GObject
49
42
  # XXX: Don't know how to print flags
50
43
  # XXX: Don't know how to print callback
51
44
  # XXX: Don't know how to print callback
45
+ # XXX: Don't know how to print callback
52
46
  class GObject::CClosure < GirFFI::StructBase
53
- def self.marshal_BOOLEAN__BOXED_BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
47
+ def self.marshal_BOOLEAN__BOXED_BOXED(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
54
48
  _v1 = GObject::Closure.from(closure)
55
49
  _v2 = GObject::Value.from(return_value)
56
50
  _v3 = n_param_values
57
51
  _v4 = GObject::Value.from(param_values)
58
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
59
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
52
+ _v5 = invocation_hint
53
+ _v6 = marshal_data
60
54
  GObject::Lib.g_cclosure_marshal_BOOLEAN__BOXED_BOXED(_v1, _v2, _v3, _v4, _v5, _v6)
61
55
  end
62
- def self.marshal_BOOLEAN__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
56
+ def self.marshal_BOOLEAN__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
63
57
  _v1 = GObject::Closure.from(closure)
64
58
  _v2 = GObject::Value.from(return_value)
65
59
  _v3 = n_param_values
66
60
  _v4 = GObject::Value.from(param_values)
67
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
68
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
61
+ _v5 = invocation_hint
62
+ _v6 = marshal_data
69
63
  GObject::Lib.g_cclosure_marshal_BOOLEAN__FLAGS(_v1, _v2, _v3, _v4, _v5, _v6)
70
64
  end
71
- def self.marshal_STRING__OBJECT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
65
+ def self.marshal_STRING__OBJECT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
72
66
  _v1 = GObject::Closure.from(closure)
73
67
  _v2 = GObject::Value.from(return_value)
74
68
  _v3 = n_param_values
75
69
  _v4 = GObject::Value.from(param_values)
76
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
77
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
70
+ _v5 = invocation_hint
71
+ _v6 = marshal_data
78
72
  GObject::Lib.g_cclosure_marshal_STRING__OBJECT_POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
79
73
  end
80
- def self.marshal_VOID__BOOLEAN(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
74
+ def self.marshal_VOID__BOOLEAN(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
81
75
  _v1 = GObject::Closure.from(closure)
82
76
  _v2 = GObject::Value.from(return_value)
83
77
  _v3 = n_param_values
84
78
  _v4 = GObject::Value.from(param_values)
85
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
86
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
79
+ _v5 = invocation_hint
80
+ _v6 = marshal_data
87
81
  GObject::Lib.g_cclosure_marshal_VOID__BOOLEAN(_v1, _v2, _v3, _v4, _v5, _v6)
88
82
  end
89
- def self.marshal_VOID__BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
83
+ def self.marshal_VOID__BOXED(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
90
84
  _v1 = GObject::Closure.from(closure)
91
85
  _v2 = GObject::Value.from(return_value)
92
86
  _v3 = n_param_values
93
87
  _v4 = GObject::Value.from(param_values)
94
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
95
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
88
+ _v5 = invocation_hint
89
+ _v6 = marshal_data
96
90
  GObject::Lib.g_cclosure_marshal_VOID__BOXED(_v1, _v2, _v3, _v4, _v5, _v6)
97
91
  end
98
- def self.marshal_VOID__CHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
92
+ def self.marshal_VOID__CHAR(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
99
93
  _v1 = GObject::Closure.from(closure)
100
94
  _v2 = GObject::Value.from(return_value)
101
95
  _v3 = n_param_values
102
96
  _v4 = GObject::Value.from(param_values)
103
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
104
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
97
+ _v5 = invocation_hint
98
+ _v6 = marshal_data
105
99
  GObject::Lib.g_cclosure_marshal_VOID__CHAR(_v1, _v2, _v3, _v4, _v5, _v6)
106
100
  end
107
- def self.marshal_VOID__DOUBLE(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
101
+ def self.marshal_VOID__DOUBLE(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
108
102
  _v1 = GObject::Closure.from(closure)
109
103
  _v2 = GObject::Value.from(return_value)
110
104
  _v3 = n_param_values
111
105
  _v4 = GObject::Value.from(param_values)
112
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
113
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
106
+ _v5 = invocation_hint
107
+ _v6 = marshal_data
114
108
  GObject::Lib.g_cclosure_marshal_VOID__DOUBLE(_v1, _v2, _v3, _v4, _v5, _v6)
115
109
  end
116
- def self.marshal_VOID__ENUM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
110
+ def self.marshal_VOID__ENUM(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
117
111
  _v1 = GObject::Closure.from(closure)
118
112
  _v2 = GObject::Value.from(return_value)
119
113
  _v3 = n_param_values
120
114
  _v4 = GObject::Value.from(param_values)
121
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
122
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
115
+ _v5 = invocation_hint
116
+ _v6 = marshal_data
123
117
  GObject::Lib.g_cclosure_marshal_VOID__ENUM(_v1, _v2, _v3, _v4, _v5, _v6)
124
118
  end
125
- def self.marshal_VOID__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
119
+ def self.marshal_VOID__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
126
120
  _v1 = GObject::Closure.from(closure)
127
121
  _v2 = GObject::Value.from(return_value)
128
122
  _v3 = n_param_values
129
123
  _v4 = GObject::Value.from(param_values)
130
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
131
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
124
+ _v5 = invocation_hint
125
+ _v6 = marshal_data
132
126
  GObject::Lib.g_cclosure_marshal_VOID__FLAGS(_v1, _v2, _v3, _v4, _v5, _v6)
133
127
  end
134
- def self.marshal_VOID__FLOAT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
128
+ def self.marshal_VOID__FLOAT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
135
129
  _v1 = GObject::Closure.from(closure)
136
130
  _v2 = GObject::Value.from(return_value)
137
131
  _v3 = n_param_values
138
132
  _v4 = GObject::Value.from(param_values)
139
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
140
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
133
+ _v5 = invocation_hint
134
+ _v6 = marshal_data
141
135
  GObject::Lib.g_cclosure_marshal_VOID__FLOAT(_v1, _v2, _v3, _v4, _v5, _v6)
142
136
  end
143
- def self.marshal_VOID__INT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
137
+ def self.marshal_VOID__INT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
144
138
  _v1 = GObject::Closure.from(closure)
145
139
  _v2 = GObject::Value.from(return_value)
146
140
  _v3 = n_param_values
147
141
  _v4 = GObject::Value.from(param_values)
148
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
149
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
142
+ _v5 = invocation_hint
143
+ _v6 = marshal_data
150
144
  GObject::Lib.g_cclosure_marshal_VOID__INT(_v1, _v2, _v3, _v4, _v5, _v6)
151
145
  end
152
- def self.marshal_VOID__LONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
146
+ def self.marshal_VOID__LONG(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
153
147
  _v1 = GObject::Closure.from(closure)
154
148
  _v2 = GObject::Value.from(return_value)
155
149
  _v3 = n_param_values
156
150
  _v4 = GObject::Value.from(param_values)
157
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
158
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
151
+ _v5 = invocation_hint
152
+ _v6 = marshal_data
159
153
  GObject::Lib.g_cclosure_marshal_VOID__LONG(_v1, _v2, _v3, _v4, _v5, _v6)
160
154
  end
161
- def self.marshal_VOID__OBJECT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
155
+ def self.marshal_VOID__OBJECT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
162
156
  _v1 = GObject::Closure.from(closure)
163
157
  _v2 = GObject::Value.from(return_value)
164
158
  _v3 = n_param_values
165
159
  _v4 = GObject::Value.from(param_values)
166
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
167
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
160
+ _v5 = invocation_hint
161
+ _v6 = marshal_data
168
162
  GObject::Lib.g_cclosure_marshal_VOID__OBJECT(_v1, _v2, _v3, _v4, _v5, _v6)
169
163
  end
170
- def self.marshal_VOID__PARAM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
164
+ def self.marshal_VOID__PARAM(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
171
165
  _v1 = GObject::Closure.from(closure)
172
166
  _v2 = GObject::Value.from(return_value)
173
167
  _v3 = n_param_values
174
168
  _v4 = GObject::Value.from(param_values)
175
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
176
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
169
+ _v5 = invocation_hint
170
+ _v6 = marshal_data
177
171
  GObject::Lib.g_cclosure_marshal_VOID__PARAM(_v1, _v2, _v3, _v4, _v5, _v6)
178
172
  end
179
- def self.marshal_VOID__POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
173
+ def self.marshal_VOID__POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
180
174
  _v1 = GObject::Closure.from(closure)
181
175
  _v2 = GObject::Value.from(return_value)
182
176
  _v3 = n_param_values
183
177
  _v4 = GObject::Value.from(param_values)
184
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
185
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
178
+ _v5 = invocation_hint
179
+ _v6 = marshal_data
186
180
  GObject::Lib.g_cclosure_marshal_VOID__POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
187
181
  end
188
- def self.marshal_VOID__STRING(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
182
+ def self.marshal_VOID__STRING(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
189
183
  _v1 = GObject::Closure.from(closure)
190
184
  _v2 = GObject::Value.from(return_value)
191
185
  _v3 = n_param_values
192
186
  _v4 = GObject::Value.from(param_values)
193
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
194
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
187
+ _v5 = invocation_hint
188
+ _v6 = marshal_data
195
189
  GObject::Lib.g_cclosure_marshal_VOID__STRING(_v1, _v2, _v3, _v4, _v5, _v6)
196
190
  end
197
- def self.marshal_VOID__UCHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
191
+ def self.marshal_VOID__UCHAR(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
198
192
  _v1 = GObject::Closure.from(closure)
199
193
  _v2 = GObject::Value.from(return_value)
200
194
  _v3 = n_param_values
201
195
  _v4 = GObject::Value.from(param_values)
202
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
203
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
196
+ _v5 = invocation_hint
197
+ _v6 = marshal_data
204
198
  GObject::Lib.g_cclosure_marshal_VOID__UCHAR(_v1, _v2, _v3, _v4, _v5, _v6)
205
199
  end
206
- def self.marshal_VOID__UINT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
200
+ def self.marshal_VOID__UINT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
207
201
  _v1 = GObject::Closure.from(closure)
208
202
  _v2 = GObject::Value.from(return_value)
209
203
  _v3 = n_param_values
210
204
  _v4 = GObject::Value.from(param_values)
211
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
212
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
205
+ _v5 = invocation_hint
206
+ _v6 = marshal_data
213
207
  GObject::Lib.g_cclosure_marshal_VOID__UINT(_v1, _v2, _v3, _v4, _v5, _v6)
214
208
  end
215
- def self.marshal_VOID__UINT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
209
+ def self.marshal_VOID__UINT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
216
210
  _v1 = GObject::Closure.from(closure)
217
211
  _v2 = GObject::Value.from(return_value)
218
212
  _v3 = n_param_values
219
213
  _v4 = GObject::Value.from(param_values)
220
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
221
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
214
+ _v5 = invocation_hint
215
+ _v6 = marshal_data
222
216
  GObject::Lib.g_cclosure_marshal_VOID__UINT_POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
223
217
  end
224
- def self.marshal_VOID__ULONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
218
+ def self.marshal_VOID__ULONG(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
225
219
  _v1 = GObject::Closure.from(closure)
226
220
  _v2 = GObject::Value.from(return_value)
227
221
  _v3 = n_param_values
228
222
  _v4 = GObject::Value.from(param_values)
229
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
230
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
223
+ _v5 = invocation_hint
224
+ _v6 = marshal_data
231
225
  GObject::Lib.g_cclosure_marshal_VOID__ULONG(_v1, _v2, _v3, _v4, _v5, _v6)
232
226
  end
233
- def self.marshal_VOID__VARIANT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
227
+ def self.marshal_VOID__VARIANT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
234
228
  _v1 = GObject::Closure.from(closure)
235
229
  _v2 = GObject::Value.from(return_value)
236
230
  _v3 = n_param_values
237
231
  _v4 = GObject::Value.from(param_values)
238
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
239
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
232
+ _v5 = invocation_hint
233
+ _v6 = marshal_data
240
234
  GObject::Lib.g_cclosure_marshal_VOID__VARIANT(_v1, _v2, _v3, _v4, _v5, _v6)
241
235
  end
242
- def self.marshal_VOID__VOID(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
236
+ def self.marshal_VOID__VOID(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
243
237
  _v1 = GObject::Closure.from(closure)
244
238
  _v2 = GObject::Value.from(return_value)
245
239
  _v3 = n_param_values
246
240
  _v4 = GObject::Value.from(param_values)
247
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
248
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
241
+ _v5 = invocation_hint
242
+ _v6 = marshal_data
249
243
  GObject::Lib.g_cclosure_marshal_VOID__VOID(_v1, _v2, _v3, _v4, _v5, _v6)
250
244
  end
251
- def self.marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint, marshal_data)
245
+ def self.marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
252
246
  _v1 = GObject::Closure.from(closure)
253
247
  _v2 = GObject::Value.from(return_gvalue)
254
248
  _v3 = n_param_values
255
249
  _v4 = GObject::Value.from(param_values)
256
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
257
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
250
+ _v5 = invocation_hint
251
+ _v6 = marshal_data
258
252
  GObject::Lib.g_cclosure_marshal_generic(_v1, _v2, _v3, _v4, _v5, _v6)
259
253
  end
260
254
  def callback
261
255
  _v1 = (@struct.to_ptr + 64)
262
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
263
- _v3 = _v2.to_value
264
- _v3
256
+ _v2 = _v1.get_pointer(0)
257
+ _v2
265
258
  end
266
259
  def callback=(value)
267
260
  _v1 = (@struct.to_ptr + 64)
268
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
269
- _v3 = GirFFI::InPointer.from(:void, value)
270
- _v2.set_value(_v3)
261
+ _v2 = value
262
+ _v1.put_pointer(0, _v2)
271
263
  end
272
264
  def closure
273
265
  _v1 = (@struct.to_ptr + 0)
274
- _v2 = GirFFI::InOutPointer.new(GObject::Closure, _v1)
275
- _v3 = _v2.to_value
276
- _v4 = GObject::Closure.wrap(_v3)
277
- _v4
266
+ _v2 = GObject::Closure.get_value_from_pointer(_v1, 0)
267
+ _v3 = GObject::Closure.wrap(_v2)
268
+ _v3
278
269
  end
279
270
  def closure=(value)
280
271
  _v1 = (@struct.to_ptr + 0)
281
- _v2 = GirFFI::InOutPointer.new(GObject::Closure, _v1)
282
- _v3 = GObject::Closure.from(value)
283
- _v2.set_value(_v3)
272
+ _v2 = GObject::Closure.copy_from(value)
273
+ GObject::Closure.copy_value_to_pointer(_v2, _v1)
284
274
  end
285
275
  end
286
276
  # XXX: Don't know how to print callback
287
277
  # XXX: Don't know how to print callback
288
278
  # XXX: Don't know how to print callback
289
- class GObject::Closure < GirFFI::StructBase
279
+ class GObject::Closure < GirFFI::BoxedBase
290
280
  def self.new_object(*args, &block)
291
281
  raise(NoMethodError) unless (self == GObject::Closure)
292
282
  obj = allocate
@@ -301,133 +291,133 @@ module GObject
301
291
  end
302
292
  def data
303
293
  _v1 = (@struct.to_ptr + 48)
304
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
305
- _v3 = _v2.to_value
306
- _v3
294
+ _v2 = _v1.get_pointer(0)
295
+ _v2
307
296
  end
308
297
  def derivative_flag
309
298
  _v1 = (@struct.to_ptr + 28)
310
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
311
- _v3 = _v2.to_value
312
- _v3
299
+ _v2 = _v1.get_uint32(0)
300
+ _v2
313
301
  end
314
302
  def floating
315
303
  _v1 = (@struct.to_ptr + 24)
316
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
317
- _v3 = _v2.to_value
318
- _v3
304
+ _v2 = _v1.get_uint32(0)
305
+ _v2
319
306
  end
320
307
  def in_inotify
321
308
  _v1 = (@struct.to_ptr + 20)
322
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
323
- _v3 = _v2.to_value
324
- _v3
309
+ _v2 = _v1.get_uint32(0)
310
+ _v2
325
311
  end
326
312
  def in_marshal
327
313
  _v1 = (@struct.to_ptr + 32)
328
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
329
- _v3 = _v2.to_value
330
- _v3
314
+ _v2 = _v1.get_uint32(0)
315
+ _v2
331
316
  end
332
317
  def in_marshal=(value)
333
318
  _v1 = (@struct.to_ptr + 32)
334
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
335
- _v3 = value
336
- _v2.set_value(_v3)
319
+ _v2 = value
320
+ _v1.put_uint32(0, _v2)
337
321
  end
338
322
  def initialize_object(sizeof_closure, object)
339
323
  _v1 = sizeof_closure
340
324
  _v2 = GObject::Object.from(object)
341
325
  _v3 = GObject::Lib.g_closure_new_object(_v1, _v2)
342
326
  store_pointer(_v3)
327
+ @struct.owned = true
343
328
  end
344
- def initialize_simple(sizeof_closure, data)
329
+ def initialize_simple(sizeof_closure, data = nil)
345
330
  _v1 = sizeof_closure
346
- _v2 = GirFFI::InPointer.from(:void, data)
331
+ _v2 = data
347
332
  _v3 = GObject::Lib.g_closure_new_simple(_v1, _v2)
348
333
  store_pointer(_v3)
334
+ @struct.owned = true
349
335
  end
350
336
  def invalidate
351
337
  GObject::Lib.g_closure_invalidate(self)
352
338
  end
353
- def invoke(return_value, param_values, invocation_hint)
354
- _v1 = GObject::Value.from(return_value)
355
- n_param_values = param_values.nil? ? (0) : (param_values.length)
356
- _v2 = n_param_values
357
- _v3 = GirFFI::InPointer.from(:void, invocation_hint)
358
- _v4 = GirFFI::SizedArray.from(GObject::Value, -1, param_values)
359
- GObject::Lib.g_closure_invoke(self, _v1, _v2, _v4, _v3)
339
+ # @override
340
+ #
341
+ # This override of invoke ensures the return value location can be passed
342
+ # in as the first argument, which is needed to ensure the GValue is
343
+ # initialized with the proper type.
344
+ #
345
+ # @param [GObject::Value] return_value The GValue to store the return
346
+ # value, or nil if no return value is expected.
347
+ # @param [Array] param_values the closure parameters.
348
+ def invoke(return_value, param_values)
349
+ rval = Value.from(return_value)
350
+ n_params = param_values.length
351
+ params = GirFFI::SizedArray.from(Value, -1, param_values)
352
+ Lib.g_closure_invoke(self, rval, n_params, params, nil)
353
+ rval.get_value
360
354
  end
361
355
  def is_invalid
362
356
  _v1 = (@struct.to_ptr + 36)
363
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
364
- _v3 = _v2.to_value
365
- _v3
357
+ _v2 = _v1.get_uint32(0)
358
+ _v2
366
359
  end
367
360
  def is_invalid=(value)
368
361
  _v1 = (@struct.to_ptr + 36)
369
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
370
- _v3 = value
371
- _v2.set_value(_v3)
362
+ _v2 = value
363
+ _v1.put_uint32(0, _v2)
372
364
  end
373
365
  def marshal
374
366
  _v1 = (@struct.to_ptr + 40)
375
- _v2 = GirFFI::InOutPointer.new(GObject::Marshal, _v1)
376
- _v3 = _v2.to_value
377
- _v3
367
+ _v2 = GObject::Marshal.get_value_from_pointer(_v1, 0)
368
+ _v2
378
369
  end
379
370
  def meta_marshal_nouse
380
371
  _v1 = (@struct.to_ptr + 4)
381
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
382
- _v3 = _v2.to_value
383
- _v3
372
+ _v2 = _v1.get_uint32(0)
373
+ _v2
384
374
  end
385
375
  def n_fnotifiers
386
376
  _v1 = (@struct.to_ptr + 12)
387
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
388
- _v3 = _v2.to_value
389
- _v3
377
+ _v2 = _v1.get_uint32(0)
378
+ _v2
390
379
  end
391
380
  def n_guards
392
381
  _v1 = (@struct.to_ptr + 8)
393
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
394
- _v3 = _v2.to_value
395
- _v3
382
+ _v2 = _v1.get_uint32(0)
383
+ _v2
396
384
  end
397
385
  def n_inotifiers
398
386
  _v1 = (@struct.to_ptr + 16)
399
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
400
- _v3 = _v2.to_value
401
- _v3
387
+ _v2 = _v1.get_uint32(0)
388
+ _v2
402
389
  end
403
390
  def notifiers
404
391
  _v1 = (@struct.to_ptr + 56)
405
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::ClosureNotifyData], _v1)
406
- _v3 = _v2.to_value
407
- _v4 = GObject::ClosureNotifyData.wrap(_v3)
408
- _v4
392
+ _v2 = _v1.get_pointer(0)
393
+ _v3 = GObject::ClosureNotifyData.wrap(_v2)
394
+ _v3
409
395
  end
410
396
  def ref
411
397
  _v1 = GObject::Lib.g_closure_ref(self)
412
- _v2 = GObject::Closure.wrap(_v1)
398
+ _v2 = GObject::Closure.wrap_copy(_v1)
413
399
  return _v2
414
400
  end
415
401
  def ref_count
416
402
  _v1 = (@struct.to_ptr + 0)
417
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
418
- _v3 = _v2.to_value
419
- _v3
403
+ _v2 = _v1.get_uint32(0)
404
+ _v2
420
405
  end
421
406
  # @override
422
407
  #
423
408
  # @param [Proc] marshal The marshaller to use for this closure object
424
409
  def set_marshal(marshal)
425
- callback = GObject::ClosureMarshal.from(marshal)
410
+ callback = ClosureMarshal.from(marshal)
426
411
  Lib.g_closure_set_marshal(self, callback)
427
412
  end
428
413
  def sink
429
414
  GObject::Lib.g_closure_sink(self)
430
415
  end
416
+ def store_pointer(ptr)
417
+ Lib.g_closure_ref(ptr)
418
+ Lib.g_closure_sink(ptr)
419
+ super
420
+ end
431
421
  def unref
432
422
  GObject::Lib.g_closure_unref(self)
433
423
  end
@@ -438,27 +428,23 @@ module GObject
438
428
 
439
429
  def data
440
430
  _v1 = (@struct.to_ptr + 0)
441
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
442
- _v3 = _v2.to_value
443
- _v3
431
+ _v2 = _v1.get_pointer(0)
432
+ _v2
444
433
  end
445
434
  def data=(value)
446
435
  _v1 = (@struct.to_ptr + 0)
447
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
448
- _v3 = GirFFI::InPointer.from(:void, value)
449
- _v2.set_value(_v3)
436
+ _v2 = value
437
+ _v1.put_pointer(0, _v2)
450
438
  end
451
439
  def notify
452
440
  _v1 = (@struct.to_ptr + 8)
453
- _v2 = GirFFI::InOutPointer.new(GObject::ClosureNotify, _v1)
454
- _v3 = _v2.to_value
455
- _v3
441
+ _v2 = GObject::ClosureNotify.get_value_from_pointer(_v1, 0)
442
+ _v2
456
443
  end
457
444
  def notify=(value)
458
445
  _v1 = (@struct.to_ptr + 8)
459
- _v2 = GirFFI::InOutPointer.new(GObject::ClosureNotify, _v1)
460
- _v3 = GObject::ClosureNotify.from(value)
461
- _v2.set_value(_v3)
446
+ _v2 = GObject::ClosureNotify.from(value)
447
+ GObject::ClosureNotify.copy_value_to_pointer(_v2, _v1)
462
448
  end
463
449
  end
464
450
  # XXX: Don't know how to print flags
@@ -466,204 +452,185 @@ module GObject
466
452
 
467
453
  def g_type_class
468
454
  _v1 = (@struct.to_ptr + 0)
469
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
470
- _v3 = _v2.to_value
471
- _v4 = GObject::TypeClass.wrap(_v3)
472
- _v4
455
+ _v2 = GObject::TypeClass.get_value_from_pointer(_v1, 0)
456
+ _v3 = GObject::TypeClass.wrap(_v2)
457
+ _v3
473
458
  end
474
459
  def g_type_class=(value)
475
460
  _v1 = (@struct.to_ptr + 0)
476
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
477
- _v3 = GObject::TypeClass.from(value)
478
- _v2.set_value(_v3)
461
+ _v2 = GObject::TypeClass.copy_from(value)
462
+ GObject::TypeClass.copy_value_to_pointer(_v2, _v1)
479
463
  end
480
464
  def maximum
481
465
  _v1 = (@struct.to_ptr + 12)
482
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
483
- _v3 = _v2.to_value
484
- _v3
466
+ _v2 = _v1.get_int32(0)
467
+ _v2
485
468
  end
486
469
  def maximum=(value)
487
470
  _v1 = (@struct.to_ptr + 12)
488
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
489
- _v3 = value
490
- _v2.set_value(_v3)
471
+ _v2 = value
472
+ _v1.put_int32(0, _v2)
491
473
  end
492
474
  def minimum
493
475
  _v1 = (@struct.to_ptr + 8)
494
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
495
- _v3 = _v2.to_value
496
- _v3
476
+ _v2 = _v1.get_int32(0)
477
+ _v2
497
478
  end
498
479
  def minimum=(value)
499
480
  _v1 = (@struct.to_ptr + 8)
500
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
501
- _v3 = value
502
- _v2.set_value(_v3)
481
+ _v2 = value
482
+ _v1.put_int32(0, _v2)
503
483
  end
504
484
  def n_values
505
485
  _v1 = (@struct.to_ptr + 16)
506
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
507
- _v3 = _v2.to_value
508
- _v3
486
+ _v2 = _v1.get_uint32(0)
487
+ _v2
509
488
  end
510
489
  def n_values=(value)
511
490
  _v1 = (@struct.to_ptr + 16)
512
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
513
- _v3 = value
514
- _v2.set_value(_v3)
491
+ _v2 = value
492
+ _v1.put_uint32(0, _v2)
515
493
  end
516
494
  def values
517
495
  _v1 = (@struct.to_ptr + 24)
518
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::EnumValue], _v1)
519
- _v3 = _v2.to_value
520
- _v4 = GObject::EnumValue.wrap(_v3)
521
- _v4
496
+ _v2 = _v1.get_pointer(0)
497
+ _v3 = GObject::EnumValue.wrap(_v2)
498
+ _v3
522
499
  end
523
500
  def values=(value)
524
501
  _v1 = (@struct.to_ptr + 24)
525
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::EnumValue], _v1)
526
- _v3 = GObject::EnumValue.from(value)
527
- _v2.set_value(_v3)
502
+ _v2 = GObject::EnumValue.copy_from(value)
503
+ _v1.put_pointer(0, _v2)
528
504
  end
529
505
  end
530
506
  class GObject::EnumValue < GirFFI::StructBase
531
507
 
532
508
  def value
533
509
  _v1 = (@struct.to_ptr + 0)
534
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
535
- _v3 = _v2.to_value
536
- _v3
510
+ _v2 = _v1.get_int32(0)
511
+ _v2
537
512
  end
538
513
  def value=(value)
539
514
  _v1 = (@struct.to_ptr + 0)
540
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
541
- _v3 = value
542
- _v2.set_value(_v3)
515
+ _v2 = value
516
+ _v1.put_int32(0, _v2)
543
517
  end
544
518
  def value_name
545
519
  _v1 = (@struct.to_ptr + 8)
546
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
547
- _v3 = _v2.to_value
548
- _v4 = _v3.to_utf8
549
- _v4
520
+ _v2 = _v1.get_pointer(0)
521
+ _v3 = _v2.to_utf8
522
+ _v3
550
523
  end
551
524
  def value_name=(value)
552
525
  _v1 = (@struct.to_ptr + 8)
553
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
554
- _v3 = GirFFI::InPointer.from(:utf8, value)
555
- _v2.set_value(_v3)
526
+ _v2 = GirFFI::InPointer.from_utf8(value)
527
+ _v1.put_pointer(0, _v2)
556
528
  end
557
529
  def value_nick
558
530
  _v1 = (@struct.to_ptr + 16)
559
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
560
- _v3 = _v2.to_value
561
- _v4 = _v3.to_utf8
562
- _v4
531
+ _v2 = _v1.get_pointer(0)
532
+ _v3 = _v2.to_utf8
533
+ _v3
563
534
  end
564
535
  def value_nick=(value)
565
536
  _v1 = (@struct.to_ptr + 16)
566
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
567
- _v3 = GirFFI::InPointer.from(:utf8, value)
568
- _v2.set_value(_v3)
537
+ _v2 = GirFFI::InPointer.from_utf8(value)
538
+ _v1.put_pointer(0, _v2)
569
539
  end
570
540
  end
571
541
  class GObject::FlagsClass < GirFFI::StructBase
572
542
 
573
543
  def g_type_class
574
544
  _v1 = (@struct.to_ptr + 0)
575
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
576
- _v3 = _v2.to_value
577
- _v4 = GObject::TypeClass.wrap(_v3)
578
- _v4
545
+ _v2 = GObject::TypeClass.get_value_from_pointer(_v1, 0)
546
+ _v3 = GObject::TypeClass.wrap(_v2)
547
+ _v3
579
548
  end
580
549
  def g_type_class=(value)
581
550
  _v1 = (@struct.to_ptr + 0)
582
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
583
- _v3 = GObject::TypeClass.from(value)
584
- _v2.set_value(_v3)
551
+ _v2 = GObject::TypeClass.copy_from(value)
552
+ GObject::TypeClass.copy_value_to_pointer(_v2, _v1)
585
553
  end
586
554
  def mask
587
555
  _v1 = (@struct.to_ptr + 8)
588
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
589
- _v3 = _v2.to_value
590
- _v3
556
+ _v2 = _v1.get_uint32(0)
557
+ _v2
591
558
  end
592
559
  def mask=(value)
593
560
  _v1 = (@struct.to_ptr + 8)
594
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
595
- _v3 = value
596
- _v2.set_value(_v3)
561
+ _v2 = value
562
+ _v1.put_uint32(0, _v2)
597
563
  end
598
564
  def n_values
599
565
  _v1 = (@struct.to_ptr + 12)
600
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
601
- _v3 = _v2.to_value
602
- _v3
566
+ _v2 = _v1.get_uint32(0)
567
+ _v2
603
568
  end
604
569
  def n_values=(value)
605
570
  _v1 = (@struct.to_ptr + 12)
606
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
607
- _v3 = value
608
- _v2.set_value(_v3)
571
+ _v2 = value
572
+ _v1.put_uint32(0, _v2)
609
573
  end
610
574
  def values
611
575
  _v1 = (@struct.to_ptr + 16)
612
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::FlagsValue], _v1)
613
- _v3 = _v2.to_value
614
- _v4 = GObject::FlagsValue.wrap(_v3)
615
- _v4
576
+ _v2 = _v1.get_pointer(0)
577
+ _v3 = GObject::FlagsValue.wrap(_v2)
578
+ _v3
616
579
  end
617
580
  def values=(value)
618
581
  _v1 = (@struct.to_ptr + 16)
619
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::FlagsValue], _v1)
620
- _v3 = GObject::FlagsValue.from(value)
621
- _v2.set_value(_v3)
582
+ _v2 = GObject::FlagsValue.copy_from(value)
583
+ _v1.put_pointer(0, _v2)
622
584
  end
623
585
  end
624
586
  class GObject::FlagsValue < GirFFI::StructBase
625
587
 
626
588
  def value
627
589
  _v1 = (@struct.to_ptr + 0)
628
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
629
- _v3 = _v2.to_value
630
- _v3
590
+ _v2 = _v1.get_uint32(0)
591
+ _v2
631
592
  end
632
593
  def value=(value)
633
594
  _v1 = (@struct.to_ptr + 0)
634
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
635
- _v3 = value
636
- _v2.set_value(_v3)
595
+ _v2 = value
596
+ _v1.put_uint32(0, _v2)
637
597
  end
638
598
  def value_name
639
599
  _v1 = (@struct.to_ptr + 8)
640
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
641
- _v3 = _v2.to_value
642
- _v4 = _v3.to_utf8
643
- _v4
600
+ _v2 = _v1.get_pointer(0)
601
+ _v3 = _v2.to_utf8
602
+ _v3
644
603
  end
645
604
  def value_name=(value)
646
605
  _v1 = (@struct.to_ptr + 8)
647
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
648
- _v3 = GirFFI::InPointer.from(:utf8, value)
649
- _v2.set_value(_v3)
606
+ _v2 = GirFFI::InPointer.from_utf8(value)
607
+ _v1.put_pointer(0, _v2)
650
608
  end
651
609
  def value_nick
652
610
  _v1 = (@struct.to_ptr + 16)
653
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
654
- _v3 = _v2.to_value
655
- _v4 = _v3.to_utf8
656
- _v4
611
+ _v2 = _v1.get_pointer(0)
612
+ _v3 = _v2.to_utf8
613
+ _v3
657
614
  end
658
615
  def value_nick=(value)
659
616
  _v1 = (@struct.to_ptr + 16)
660
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
661
- _v3 = GirFFI::InPointer.from(:utf8, value)
662
- _v2.set_value(_v3)
617
+ _v2 = GirFFI::InPointer.from_utf8(value)
618
+ _v1.put_pointer(0, _v2)
663
619
  end
664
620
  end
665
621
  class GObject::InitiallyUnowned < GObject::Object
666
622
 
623
+ def g_type_instance
624
+ _v1 = (@struct.to_ptr + 0)
625
+ _v2 = GObject::TypeInstance.get_value_from_pointer(_v1, 0)
626
+ _v3 = GObject::TypeInstance.wrap(_v2)
627
+ _v3
628
+ end
629
+ def ref_count
630
+ _v1 = (@struct.to_ptr + 8)
631
+ _v2 = _v1.get_uint32(0)
632
+ _v2
633
+ end
667
634
  # Initializing method used in constructors. For InitiallyUnowned and
668
635
  # descendants, this needs to sink the object's floating reference.
669
636
  def store_pointer(ptr)
@@ -675,78 +642,66 @@ module GObject
675
642
 
676
643
  def construct_properties
677
644
  _v1 = (@struct.to_ptr + 8)
678
- _v2 = GirFFI::InOutPointer.new([:pointer, :gslist], _v1)
679
- _v3 = _v2.to_value
680
- _v4 = GLib::SList.wrap([:pointer, :void], _v3)
681
- _v4
645
+ _v2 = _v1.get_pointer(0)
646
+ _v3 = GLib::SList.wrap([:pointer, :void], _v2)
647
+ _v3
682
648
  end
683
649
  def constructed
684
650
  _v1 = (@struct.to_ptr + 72)
685
- _v2 = GirFFI::InOutPointer.new(GObject::Constructed, _v1)
686
- _v3 = _v2.to_value
687
- _v3
651
+ _v2 = GObject::Constructed.get_value_from_pointer(_v1, 0)
652
+ _v2
688
653
  end
689
654
  def constructor
690
655
  _v1 = (@struct.to_ptr + 16)
691
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
692
- _v3 = _v2.to_value
693
- _v3
656
+ _v2 = _v1.get_pointer(0)
657
+ _v2
694
658
  end
695
659
  def dispatch_properties_changed
696
660
  _v1 = (@struct.to_ptr + 56)
697
- _v2 = GirFFI::InOutPointer.new(GObject::Dispatch_properties_changed, _v1)
698
- _v3 = _v2.to_value
699
- _v3
661
+ _v2 = GObject::Dispatch_properties_changed.get_value_from_pointer(_v1, 0)
662
+ _v2
700
663
  end
701
664
  def dispose
702
665
  _v1 = (@struct.to_ptr + 40)
703
- _v2 = GirFFI::InOutPointer.new(GObject::Dispose, _v1)
704
- _v3 = _v2.to_value
705
- _v3
666
+ _v2 = GObject::Dispose.get_value_from_pointer(_v1, 0)
667
+ _v2
706
668
  end
707
669
  def finalize
708
670
  _v1 = (@struct.to_ptr + 48)
709
- _v2 = GirFFI::InOutPointer.new(GObject::Finalize, _v1)
710
- _v3 = _v2.to_value
711
- _v3
671
+ _v2 = GObject::Finalize.get_value_from_pointer(_v1, 0)
672
+ _v2
712
673
  end
713
674
  def flags
714
675
  _v1 = (@struct.to_ptr + 80)
715
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
716
- _v3 = _v2.to_value
717
- _v3
676
+ _v2 = _v1.get_uint64(0)
677
+ _v2
718
678
  end
719
679
  def g_type_class
720
680
  _v1 = (@struct.to_ptr + 0)
721
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
722
- _v3 = _v2.to_value
723
- _v4 = GObject::TypeClass.wrap(_v3)
724
- _v4
681
+ _v2 = GObject::TypeClass.get_value_from_pointer(_v1, 0)
682
+ _v3 = GObject::TypeClass.wrap(_v2)
683
+ _v3
725
684
  end
726
685
  def get_property
727
686
  _v1 = (@struct.to_ptr + 32)
728
- _v2 = GirFFI::InOutPointer.new(GObject::Get_property, _v1)
729
- _v3 = _v2.to_value
730
- _v3
687
+ _v2 = GObject::Get_property.get_value_from_pointer(_v1, 0)
688
+ _v2
731
689
  end
732
690
  def notify
733
691
  _v1 = (@struct.to_ptr + 64)
734
- _v2 = GirFFI::InOutPointer.new(GObject::Notify, _v1)
735
- _v3 = _v2.to_value
736
- _v3
692
+ _v2 = GObject::Notify.get_value_from_pointer(_v1, 0)
693
+ _v2
737
694
  end
738
695
  def pdummy
739
696
  _v1 = (@struct.to_ptr + 88)
740
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
741
- _v3 = _v2.to_value
742
- _v4 = GirFFI::SizedArray.wrap([:pointer, :void], 6, _v3)
743
- _v4
697
+ _v2 = GirFFI::SizedArray.get_value_from_pointer(_v1, 0)
698
+ _v3 = GirFFI::SizedArray.wrap([:pointer, :void], 6, _v2)
699
+ _v3
744
700
  end
745
701
  def set_property
746
702
  _v1 = (@struct.to_ptr + 24)
747
- _v2 = GirFFI::InOutPointer.new(GObject::Set_property, _v1)
748
- _v3 = _v2.to_value
749
- _v3
703
+ _v2 = GObject::Set_property.get_value_from_pointer(_v1, 0)
704
+ _v2
750
705
  end
751
706
  end
752
707
  # XXX: Don't know how to print callback
@@ -755,73 +710,67 @@ module GObject
755
710
 
756
711
  def interface_data
757
712
  _v1 = (@struct.to_ptr + 16)
758
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
759
- _v3 = _v2.to_value
760
- _v3
713
+ _v2 = _v1.get_pointer(0)
714
+ _v2
761
715
  end
762
716
  def interface_data=(value)
763
717
  _v1 = (@struct.to_ptr + 16)
764
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
765
- _v3 = GirFFI::InPointer.from(:void, value)
766
- _v2.set_value(_v3)
718
+ _v2 = value
719
+ _v1.put_pointer(0, _v2)
767
720
  end
768
721
  def interface_finalize
769
722
  _v1 = (@struct.to_ptr + 8)
770
- _v2 = GirFFI::InOutPointer.new(GObject::InterfaceFinalizeFunc, _v1)
771
- _v3 = _v2.to_value
772
- _v3
723
+ _v2 = GObject::InterfaceFinalizeFunc.get_value_from_pointer(_v1, 0)
724
+ _v2
773
725
  end
774
726
  def interface_finalize=(value)
775
727
  _v1 = (@struct.to_ptr + 8)
776
- _v2 = GirFFI::InOutPointer.new(GObject::InterfaceFinalizeFunc, _v1)
777
- _v3 = GObject::InterfaceFinalizeFunc.from(value)
778
- _v2.set_value(_v3)
728
+ _v2 = GObject::InterfaceFinalizeFunc.from(value)
729
+ GObject::InterfaceFinalizeFunc.copy_value_to_pointer(_v2, _v1)
779
730
  end
780
731
  def interface_init
781
732
  _v1 = (@struct.to_ptr + 0)
782
- _v2 = GirFFI::InOutPointer.new(GObject::InterfaceInitFunc, _v1)
783
- _v3 = _v2.to_value
784
- _v3
733
+ _v2 = GObject::InterfaceInitFunc.get_value_from_pointer(_v1, 0)
734
+ _v2
785
735
  end
786
736
  def interface_init=(value)
787
737
  _v1 = (@struct.to_ptr + 0)
788
- _v2 = GirFFI::InOutPointer.new(GObject::InterfaceInitFunc, _v1)
789
- _v3 = GObject::InterfaceInitFunc.from(value)
790
- _v2.set_value(_v3)
738
+ _v2 = GObject::InterfaceInitFunc.from(value)
739
+ GObject::InterfaceInitFunc.copy_value_to_pointer(_v2, _v1)
791
740
  end
792
741
  end
793
742
  # XXX: Don't know how to print callback
794
743
  class GObject::Object < GirFFI::ObjectBase
795
- def self.compat_control(what, data)
744
+ def self.compat_control(what, data = nil)
796
745
  _v1 = what
797
- _v2 = GirFFI::InPointer.from(:void, data)
746
+ _v2 = data
798
747
  _v3 = GObject::Lib.g_object_compat_control(_v1, _v2)
799
748
  return _v3
800
749
  end
801
750
  def self.interface_find_property(g_iface, property_name)
802
- _v1 = GirFFI::InPointer.from(:void, g_iface)
803
- _v2 = GirFFI::InPointer.from(:utf8, property_name)
751
+ _v1 = GObject::TypeInterface.from(g_iface)
752
+ _v2 = GirFFI::InPointer.from_utf8(property_name)
804
753
  _v3 = GObject::Lib.g_object_interface_find_property(_v1, _v2)
805
- _v4 = GObject::ParamSpec.wrap(_v3)
754
+ _v4 = GObject::ParamSpec.wrap(_v3).tap { |it| it and it.ref }
806
755
  return _v4
807
756
  end
808
757
  def self.interface_install_property(g_iface, pspec)
809
- _v1 = GirFFI::InPointer.from(:void, g_iface)
758
+ _v1 = GObject::TypeInterface.from(g_iface)
810
759
  _v2 = GObject::ParamSpec.from(pspec)
811
760
  GObject::Lib.g_object_interface_install_property(_v1, _v2)
812
761
  end
813
762
  def self.interface_list_properties(g_iface)
814
- _v1 = GirFFI::InPointer.from(:void, g_iface)
815
- _v2 = GirFFI::InOutPointer.for(:guint32)
763
+ _v1 = GObject::TypeInterface.from(g_iface)
764
+ _v2 = FFI::MemoryPointer.new(:uint32)
816
765
  _v3 = GObject::Lib.g_object_interface_list_properties(_v1, _v2)
817
- _v4 = _v2.to_value
766
+ _v4 = _v2.get_uint32(0)
818
767
  _v5 = GirFFI::SizedArray.wrap([:pointer, GObject::ParamSpec], _v4, _v3)
819
768
  return _v5
820
769
  end
821
- def self.make_finalizer(ptr, name)
770
+ def self.make_finalizer(ptr)
822
771
  proc do
823
772
  rc = GObject::Object::Struct.new(ptr)[:ref_count]
824
- if (rc == 0) then
773
+ if rc.zero? then
825
774
  warn("not unreffing #{name}:#{ptr} (#{rc})")
826
775
  else
827
776
  GObject::Lib.g_object_unref(ptr)
@@ -833,78 +782,94 @@ module GObject
833
782
  obj.__send__(:initialize, *args, &block)
834
783
  obj
835
784
  end
785
+ def self.newv(*args, &block)
786
+ raise(NoMethodError) unless (self == GObject::Object)
787
+ obj = allocate
788
+ obj.__send__(:initializev, *args, &block)
789
+ obj
790
+ end
836
791
  def bind_property(source_property, target, target_property, flags)
837
- _v1 = GirFFI::InPointer.from(:utf8, source_property)
792
+ _v1 = GirFFI::InPointer.from_utf8(source_property)
838
793
  _v2 = GObject::Object.from(target)
839
- _v3 = GirFFI::InPointer.from(:utf8, target_property)
794
+ _v3 = GirFFI::InPointer.from_utf8(target_property)
840
795
  _v4 = flags
841
796
  _v5 = GObject::Lib.g_object_bind_property(self, _v1, _v2, _v3, _v4)
842
- _v6 = GObject::Binding.wrap(_v5)
797
+ _v6 = GObject::Binding.wrap(_v5).tap { |it| it and it.ref }
843
798
  return _v6
844
799
  end
845
800
  def bind_property_full(source_property, target, target_property, flags, transform_to, transform_from)
846
- _v1 = GirFFI::InPointer.from(:utf8, source_property)
801
+ _v1 = GirFFI::InPointer.from_utf8(source_property)
847
802
  _v2 = GObject::Object.from(target)
848
- _v3 = GirFFI::InPointer.from(:utf8, target_property)
803
+ _v3 = GirFFI::InPointer.from_utf8(target_property)
849
804
  _v4 = flags
850
805
  _v5 = GObject::Closure.from(transform_to)
851
806
  _v6 = GObject::Closure.from(transform_from)
852
807
  _v7 = GObject::Lib.g_object_bind_property_with_closures(self, _v1, _v2, _v3, _v4, _v5, _v6)
853
- _v8 = GObject::Binding.wrap(_v7)
808
+ _v8 = GObject::Binding.wrap(_v7).tap { |it| it and it.ref }
854
809
  return _v8
855
810
  end
856
- def is_floating
857
- _v1 = GObject::Lib.g_object_is_floating(self)
858
- return _v1
859
- end
860
811
  def force_floating
861
812
  GObject::Lib.g_object_force_floating(self)
862
813
  end
863
814
  def freeze_notify
864
815
  GObject::Lib.g_object_freeze_notify(self)
865
816
  end
817
+ def g_type_instance
818
+ _v1 = (@struct.to_ptr + 0)
819
+ _v2 = GObject::TypeInstance.get_value_from_pointer(_v1, 0)
820
+ _v3 = GObject::TypeInstance.wrap(_v2)
821
+ _v3
822
+ end
866
823
  def get_data(key)
867
- _v1 = GirFFI::InPointer.from(:utf8, key)
824
+ _v1 = GirFFI::InPointer.from_utf8(key)
868
825
  _v2 = GObject::Lib.g_object_get_data(self, _v1)
869
826
  return _v2
870
827
  end
871
- def get_property_with_override(property_name)
872
- gvalue = gvalue_for_property(property_name)
873
- get_property_without_override(property_name, gvalue)
874
- gvalue.get_value
875
- end
876
828
  def get_property_extended(property_name)
877
829
  value = get_property(property_name)
878
830
  type_info = get_property_type(property_name)
879
- case type_info.tag
880
- when :ghash, :glist then
881
- adjust_value_to_type(value, type_info)
882
- else
883
- value
884
- end
831
+ property_value_post_conversion(value, type_info)
885
832
  end
886
- def get_property(property_name, value)
887
- _v1 = GirFFI::InPointer.from(:utf8, property_name)
888
- _v2 = GObject::Value.from(value)
889
- GObject::Lib.g_object_get_property(self, _v1, _v2)
833
+ def get_property_with_override(property_name)
834
+ gvalue = gvalue_for_property(property_name)
835
+ get_property_without_override(property_name, gvalue)
836
+ gvalue.get_value
890
837
  end
891
838
  def get_qdata(quark)
892
839
  _v1 = quark
893
840
  _v2 = GObject::Lib.g_object_get_qdata(self, _v1)
894
841
  return _v2
895
842
  end
843
+ def getv(names, values)
844
+ n_properties = values.nil? ? (0) : (values.length)
845
+ _v1 = n_properties
846
+ _v2 = GirFFI::SizedArray.from(:utf8, -1, names)
847
+ _v3 = GirFFI::SizedArray.from(GObject::Value, -1, values)
848
+ GObject::Lib.g_object_getv(self, _v1, _v2, _v3)
849
+ end
896
850
  def initialize_with_automatic_gtype(properties = {})
897
- gparameters = properties.map do |name, value|
851
+ names = []
852
+ values = []
853
+ properties.each do |name, value|
898
854
  name = name.to_s
899
- unless property_param_spec(name) then
900
- raise(ArgumentError, "Property '#{name}' not found in class #{self.class}")
901
- end
902
- GObject::Parameter.new.tap do |gparam|
903
- gparam.name = name
904
- gparam.value = value
905
- end
855
+ gvalue = gvalue_for_property(name)
856
+ gvalue.set_value(value)
857
+ (names << name)
858
+ (values << gvalue)
906
859
  end
907
- initialize_without_automatic_gtype(self.class.gtype, gparameters)
860
+ initialize_without_automatic_gtype(self.class.gtype, names, values)
861
+ end
862
+ def initializev(object_type, parameters)
863
+ _v1 = object_type
864
+ n_parameters = parameters.nil? ? (0) : (parameters.length)
865
+ _v2 = n_parameters
866
+ _v3 = GirFFI::SizedArray.from(GObject::Parameter, -1, parameters)
867
+ _v4 = GObject::Lib.g_object_newv(_v1, _v2, _v3)
868
+ store_pointer(_v4)
869
+ end
870
+ def is_floating
871
+ _v1 = GObject::Lib.g_object_is_floating(self)
872
+ return _v1
908
873
  end
909
874
  # TODO: Generate accessor methods from GIR at class definition time
910
875
  def method_missing(method, *args)
@@ -917,7 +882,7 @@ module GObject
917
882
  super
918
883
  end
919
884
  def notify(property_name)
920
- _v1 = GirFFI::InPointer.from(:utf8, property_name)
885
+ _v1 = GirFFI::InPointer.from_utf8(property_name)
921
886
  GObject::Lib.g_object_notify(self, _v1)
922
887
  end
923
888
  def notify_by_pspec(pspec)
@@ -925,28 +890,32 @@ module GObject
925
890
  GObject::Lib.g_object_notify_by_pspec(self, _v1)
926
891
  end
927
892
  def ref
928
- _v1 = GObject::Lib.g_object_ref(self)
929
- _v2 = GObject::Object.wrap(_v1)
930
- return _v2
893
+ Lib.g_object_ref(self)
894
+ self
895
+ end
896
+ def ref_count
897
+ _v1 = (@struct.to_ptr + 8)
898
+ _v2 = _v1.get_uint32(0)
899
+ _v2
931
900
  end
932
901
  def ref_sink
933
902
  _v1 = GObject::Lib.g_object_ref_sink(self)
934
- _v2 = GObject::Object.wrap(_v1)
903
+ _v2 = GObject::Object.wrap(_v1).tap { |it| it and it.ref }
935
904
  return _v2
936
905
  end
937
- def replace_data(key, oldval, newval, old_destroy, &destroy)
938
- _v1 = GirFFI::InPointer.from(:utf8, key)
939
- _v2 = GirFFI::InPointer.from(:void, oldval)
940
- _v3 = GirFFI::InPointer.from(:void, newval)
906
+ def replace_data(key, oldval = nil, newval = nil, &destroy)
907
+ _v1 = GirFFI::InPointer.from_utf8(key)
908
+ _v2 = oldval
909
+ _v3 = newval
941
910
  _v4 = GLib::DestroyNotify.from(destroy)
942
911
  _v5 = GLib::DestroyNotify.from(old_destroy)
943
912
  _v6 = GObject::Lib.g_object_replace_data(self, _v1, _v2, _v3, _v4, _v5)
944
913
  return _v6
945
914
  end
946
- def replace_qdata(quark, oldval, newval, old_destroy, &destroy)
915
+ def replace_qdata(quark, oldval = nil, newval = nil, &destroy)
947
916
  _v1 = quark
948
- _v2 = GirFFI::InPointer.from(:void, oldval)
949
- _v3 = GirFFI::InPointer.from(:void, newval)
917
+ _v2 = oldval
918
+ _v3 = newval
950
919
  _v4 = GLib::DestroyNotify.from(destroy)
951
920
  _v5 = GLib::DestroyNotify.from(old_destroy)
952
921
  _v6 = GObject::Lib.g_object_replace_qdata(self, _v1, _v2, _v3, _v4, _v5)
@@ -955,25 +924,20 @@ module GObject
955
924
  def run_dispose
956
925
  GObject::Lib.g_object_run_dispose(self)
957
926
  end
958
- def set_data(key, data)
959
- _v1 = GirFFI::InPointer.from(:utf8, key)
960
- _v2 = GirFFI::InPointer.from(:void, data)
927
+ def set_data(key, data = nil)
928
+ _v1 = GirFFI::InPointer.from_utf8(key)
929
+ _v2 = data
961
930
  GObject::Lib.g_object_set_data(self, _v1, _v2)
962
931
  end
963
- def set_property_with_override(property_name, value)
964
- gvalue = gvalue_for_property(property_name)
965
- gvalue.set_value(value)
966
- set_property_without_override(property_name, gvalue)
967
- end
968
932
  def set_property_extended(property_name, value)
969
933
  type_info = get_property_type(property_name)
970
- adjusted_value = adjust_value_to_type(value, type_info)
934
+ adjusted_value = property_value_pre_conversion(value, type_info)
971
935
  set_property(property_name, adjusted_value)
972
936
  end
973
- def set_property(property_name, value)
974
- _v1 = GirFFI::InPointer.from(:utf8, property_name)
975
- _v2 = GObject::Value.from(value)
976
- GObject::Lib.g_object_set_property(self, _v1, _v2)
937
+ def set_property_with_override(property_name, value)
938
+ gvalue = gvalue_for_property(property_name)
939
+ gvalue.set_value(value)
940
+ set_property_without_override(property_name, gvalue)
977
941
  end
978
942
  def signal_connect(event, data = nil, &block)
979
943
  GObject.signal_connect(self, event, data, &block)
@@ -982,7 +946,7 @@ module GObject
982
946
  GObject.signal_connect_after(self, event, data, &block)
983
947
  end
984
948
  def steal_data(key)
985
- _v1 = GirFFI::InPointer.from(:utf8, key)
949
+ _v1 = GirFFI::InPointer.from_utf8(key)
986
950
  _v2 = GObject::Lib.g_object_steal_data(self, _v1)
987
951
  return _v2
988
952
  end
@@ -993,8 +957,7 @@ module GObject
993
957
  end
994
958
  def store_pointer(ptr)
995
959
  super
996
- klass = self.class
997
- ObjectSpace.define_finalizer(self, klass.make_finalizer(ptr, klass.name))
960
+ ObjectSpace.define_finalizer(self, self.class.make_finalizer(ptr))
998
961
  end
999
962
  def thaw_notify
1000
963
  GObject::Lib.g_object_thaw_notify(self)
@@ -1016,71 +979,62 @@ module GObject
1016
979
 
1017
980
  def construct_properties
1018
981
  _v1 = (@struct.to_ptr + 8)
1019
- _v2 = GirFFI::InOutPointer.new([:pointer, :gslist], _v1)
1020
- _v3 = _v2.to_value
1021
- _v4 = GLib::SList.wrap([:pointer, :void], _v3)
1022
- _v4
982
+ _v2 = _v1.get_pointer(0)
983
+ _v3 = GLib::SList.wrap([:pointer, :void], _v2)
984
+ _v3
1023
985
  end
1024
986
  def constructed
1025
987
  _v1 = (@struct.to_ptr + 72)
1026
- _v2 = GirFFI::InOutPointer.new(GObject::Constructed, _v1)
1027
- _v3 = _v2.to_value
1028
- _v3
988
+ _v2 = GObject::Constructed.get_value_from_pointer(_v1, 0)
989
+ _v2
1029
990
  end
1030
991
  def constructor
1031
992
  _v1 = (@struct.to_ptr + 16)
1032
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
1033
- _v3 = _v2.to_value
1034
- _v3
993
+ _v2 = _v1.get_pointer(0)
994
+ _v2
1035
995
  end
1036
996
  def dispatch_properties_changed
1037
997
  _v1 = (@struct.to_ptr + 56)
1038
- _v2 = GirFFI::InOutPointer.new(GObject::Dispatch_properties_changed, _v1)
1039
- _v3 = _v2.to_value
1040
- _v3
998
+ _v2 = GObject::Dispatch_properties_changed.get_value_from_pointer(_v1, 0)
999
+ _v2
1041
1000
  end
1042
1001
  def dispose
1043
1002
  _v1 = (@struct.to_ptr + 40)
1044
- _v2 = GirFFI::InOutPointer.new(GObject::Dispose, _v1)
1045
- _v3 = _v2.to_value
1046
- _v3
1003
+ _v2 = GObject::Dispose.get_value_from_pointer(_v1, 0)
1004
+ _v2
1047
1005
  end
1048
1006
  def finalize
1049
1007
  _v1 = (@struct.to_ptr + 48)
1050
- _v2 = GirFFI::InOutPointer.new(GObject::Finalize, _v1)
1051
- _v3 = _v2.to_value
1052
- _v3
1008
+ _v2 = GObject::Finalize.get_value_from_pointer(_v1, 0)
1009
+ _v2
1053
1010
  end
1054
1011
  def find_property(property_name)
1055
- _v1 = GirFFI::InPointer.from(:utf8, property_name)
1012
+ _v1 = GirFFI::InPointer.from_utf8(property_name)
1056
1013
  _v2 = GObject::Lib.g_object_class_find_property(self, _v1)
1057
- _v3 = GObject::ParamSpec.wrap(_v2)
1014
+ _v3 = GObject::ParamSpec.wrap(_v2).tap { |it| it and it.ref }
1058
1015
  return _v3
1059
1016
  end
1060
1017
  def flags
1061
1018
  _v1 = (@struct.to_ptr + 80)
1062
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1063
- _v3 = _v2.to_value
1064
- _v3
1019
+ _v2 = _v1.get_uint64(0)
1020
+ _v2
1065
1021
  end
1066
1022
  def g_type_class
1067
1023
  _v1 = (@struct.to_ptr + 0)
1068
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
1069
- _v3 = _v2.to_value
1070
- _v4 = GObject::TypeClass.wrap(_v3)
1071
- _v4
1024
+ _v2 = GObject::TypeClass.get_value_from_pointer(_v1, 0)
1025
+ _v3 = GObject::TypeClass.wrap(_v2)
1026
+ _v3
1072
1027
  end
1073
1028
  def get_property
1074
1029
  _v1 = (@struct.to_ptr + 32)
1075
- _v2 = GirFFI::InOutPointer.new(GObject::Get_property, _v1)
1076
- _v3 = _v2.to_value
1077
- _v3
1030
+ _v2 = GObject::Get_property.get_value_from_pointer(_v1, 0)
1031
+ _v2
1078
1032
  end
1079
1033
  def get_property=(callback)
1080
1034
  @struct[:get_property] = GObject::ObjectGetPropertyFunc.from(callback)
1081
1035
  end
1082
1036
  def gtype
1083
- GirFFI::InOutPointer.new(:GType, to_ptr).to_value
1037
+ to_ptr.get_gtype(0)
1084
1038
  end
1085
1039
  def install_properties(pspecs)
1086
1040
  n_pspecs = pspecs.nil? ? (0) : (pspecs.length)
@@ -1094,35 +1048,32 @@ module GObject
1094
1048
  GObject::Lib.g_object_class_install_property(self, _v1, _v2)
1095
1049
  end
1096
1050
  def list_properties
1097
- _v1 = GirFFI::InOutPointer.for(:guint32)
1051
+ _v1 = FFI::MemoryPointer.new(:uint32)
1098
1052
  _v2 = GObject::Lib.g_object_class_list_properties(self, _v1)
1099
- _v3 = _v1.to_value
1053
+ _v3 = _v1.get_uint32(0)
1100
1054
  _v4 = GirFFI::SizedArray.wrap([:pointer, GObject::ParamSpec], _v3, _v2)
1101
1055
  return _v4
1102
1056
  end
1103
1057
  def notify
1104
1058
  _v1 = (@struct.to_ptr + 64)
1105
- _v2 = GirFFI::InOutPointer.new(GObject::Notify, _v1)
1106
- _v3 = _v2.to_value
1107
- _v3
1059
+ _v2 = GObject::Notify.get_value_from_pointer(_v1, 0)
1060
+ _v2
1108
1061
  end
1109
1062
  def override_property(property_id, name)
1110
1063
  _v1 = property_id
1111
- _v2 = GirFFI::InPointer.from(:utf8, name)
1064
+ _v2 = GirFFI::InPointer.from_utf8(name)
1112
1065
  GObject::Lib.g_object_class_override_property(self, _v1, _v2)
1113
1066
  end
1114
1067
  def pdummy
1115
1068
  _v1 = (@struct.to_ptr + 88)
1116
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
1117
- _v3 = _v2.to_value
1118
- _v4 = GirFFI::SizedArray.wrap([:pointer, :void], 6, _v3)
1119
- _v4
1069
+ _v2 = GirFFI::SizedArray.get_value_from_pointer(_v1, 0)
1070
+ _v3 = GirFFI::SizedArray.wrap([:pointer, :void], 6, _v2)
1071
+ _v3
1120
1072
  end
1121
1073
  def set_property
1122
1074
  _v1 = (@struct.to_ptr + 24)
1123
- _v2 = GirFFI::InOutPointer.new(GObject::Set_property, _v1)
1124
- _v3 = _v2.to_value
1125
- _v3
1075
+ _v2 = GObject::Set_property.get_value_from_pointer(_v1, 0)
1076
+ _v2
1126
1077
  end
1127
1078
  def set_property=(callback)
1128
1079
  @struct[:set_property] = GObject::ObjectSetPropertyFunc.from(callback)
@@ -1132,29 +1083,25 @@ module GObject
1132
1083
 
1133
1084
  def pspec
1134
1085
  _v1 = (@struct.to_ptr + 0)
1135
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::ParamSpec], _v1)
1136
- _v3 = _v2.to_value
1137
- _v4 = GObject::ParamSpec.wrap(_v3)
1138
- _v4
1086
+ _v2 = _v1.get_pointer(0)
1087
+ _v3 = GObject::ParamSpec.wrap(_v2)
1088
+ _v3
1139
1089
  end
1140
1090
  def pspec=(value)
1141
1091
  _v1 = (@struct.to_ptr + 0)
1142
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::ParamSpec], _v1)
1143
- _v3 = GObject::ParamSpec.from(value.ref)
1144
- _v2.set_value(_v3)
1092
+ _v2 = GObject::ParamSpec.from((value and value.ref))
1093
+ _v1.put_pointer(0, _v2)
1145
1094
  end
1146
1095
  def value
1147
1096
  _v1 = (@struct.to_ptr + 8)
1148
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::Value], _v1)
1149
- _v3 = _v2.to_value
1150
- _v4 = GObject::Value.wrap(_v3)
1151
- _v4
1097
+ _v2 = _v1.get_pointer(0)
1098
+ _v3 = GObject::Value.wrap(_v2)
1099
+ _v3
1152
1100
  end
1153
1101
  def value=(value)
1154
1102
  _v1 = (@struct.to_ptr + 8)
1155
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::Value], _v1)
1156
- _v3 = GObject::Value.from(value)
1157
- _v2.set_value(_v3)
1103
+ _v2 = GObject::Value.copy_from(value)
1104
+ _v1.put_pointer(0, _v2)
1158
1105
  end
1159
1106
  end
1160
1107
  # XXX: Don't know how to print callback
@@ -1168,30 +1115,29 @@ module GObject
1168
1115
 
1169
1116
  def _blurb
1170
1117
  _v1 = (@struct.to_ptr + 48)
1171
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1172
- _v3 = _v2.to_value
1173
- _v4 = _v3.to_utf8
1174
- _v4
1118
+ _v2 = _v1.get_pointer(0)
1119
+ _v3 = _v2.to_utf8
1120
+ _v3
1175
1121
  end
1176
1122
  def _nick
1177
1123
  _v1 = (@struct.to_ptr + 40)
1178
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1179
- _v3 = _v2.to_value
1180
- _v4 = _v3.to_utf8
1181
- _v4
1124
+ _v2 = _v1.get_pointer(0)
1125
+ _v3 = _v2.to_utf8
1126
+ _v3
1127
+ end
1128
+ def accessor_name
1129
+ get_name.tr("-", "_")
1182
1130
  end
1183
1131
  def flags
1184
1132
  _v1 = (@struct.to_ptr + 16)
1185
- _v2 = GirFFI::InOutPointer.new(GObject::ParamFlags, _v1)
1186
- _v3 = _v2.to_value
1187
- _v3
1133
+ _v2 = GObject::ParamFlags.get_value_from_pointer(_v1, 0)
1134
+ _v2
1188
1135
  end
1189
1136
  def g_type_instance
1190
1137
  _v1 = (@struct.to_ptr + 0)
1191
- _v2 = GirFFI::InOutPointer.new(GObject::TypeInstance, _v1)
1192
- _v3 = _v2.to_value
1193
- _v4 = GObject::TypeInstance.wrap(_v3)
1194
- _v4
1138
+ _v2 = GObject::TypeInstance.get_value_from_pointer(_v1, 0)
1139
+ _v3 = GObject::TypeInstance.wrap(_v2)
1140
+ _v3
1195
1141
  end
1196
1142
  def get_blurb
1197
1143
  _v1 = GObject::Lib.g_param_spec_get_blurb(self)
@@ -1224,44 +1170,31 @@ module GObject
1224
1170
  end
1225
1171
  def get_redirect_target
1226
1172
  _v1 = GObject::Lib.g_param_spec_get_redirect_target(self)
1227
- _v2 = GObject::ParamSpec.wrap(_v1)
1173
+ _v2 = GObject::ParamSpec.wrap(_v1).tap { |it| it and it.ref }
1228
1174
  return _v2
1229
1175
  end
1230
- def name
1231
- _v1 = (@struct.to_ptr + 8)
1232
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1233
- _v3 = _v2.to_value
1234
- _v4 = _v3.to_utf8
1235
- _v4
1236
- end
1237
1176
  def owner_type
1238
1177
  _v1 = (@struct.to_ptr + 32)
1239
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1240
- _v3 = _v2.to_value
1241
- _v3
1178
+ _v2 = _v1.get_uint64(0)
1179
+ _v2
1242
1180
  end
1243
1181
  def param_id
1244
1182
  _v1 = (@struct.to_ptr + 68)
1245
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1246
- _v3 = _v2.to_value
1247
- _v3
1183
+ _v2 = _v1.get_uint32(0)
1184
+ _v2
1248
1185
  end
1249
- def qdata
1250
- _v1 = (@struct.to_ptr + 56)
1251
- _v2 = GirFFI::InOutPointer.new([:pointer, GLib::Data], _v1)
1252
- _v3 = _v2.to_value
1253
- _v4 = GLib::Data.wrap(_v3)
1254
- _v4
1186
+ def ref
1187
+ Lib.g_param_spec_ref(self)
1188
+ self
1255
1189
  end
1256
1190
  def ref_count
1257
1191
  _v1 = (@struct.to_ptr + 64)
1258
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1259
- _v3 = _v2.to_value
1260
- _v3
1192
+ _v2 = _v1.get_uint32(0)
1193
+ _v2
1261
1194
  end
1262
- def set_qdata(quark, data)
1195
+ def set_qdata(quark, data = nil)
1263
1196
  _v1 = quark
1264
- _v2 = GirFFI::InPointer.from(:void, data)
1197
+ _v2 = data
1265
1198
  GObject::Lib.g_param_spec_set_qdata(self, _v1, _v2)
1266
1199
  end
1267
1200
  def sink
@@ -1274,378 +1207,242 @@ module GObject
1274
1207
  end
1275
1208
  def value_type
1276
1209
  _v1 = (@struct.to_ptr + 24)
1277
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1278
- _v3 = _v2.to_value
1279
- _v3
1210
+ _v2 = _v1.get_uint64(0)
1211
+ _v2
1280
1212
  end
1281
1213
  end
1282
1214
  class GObject::ParamSpecBoolean < GObject::ParamSpec
1283
1215
 
1284
1216
  def default_value
1285
1217
  _v1 = (@struct.to_ptr + 72)
1286
- _v2 = GirFFI::InOutPointer.new(:gboolean, _v1)
1287
- _v3 = _v2.to_value
1288
- _v3
1289
- end
1290
- def parent_instance
1291
- _v1 = (@struct.to_ptr + 0)
1292
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1293
- _v3 = _v2.to_value
1294
- _v4 = GObject::ParamSpec.wrap(_v3)
1295
- _v4
1218
+ _v2 = GirFFI::Boolean.get_value_from_pointer(_v1, 0)
1219
+ _v2
1296
1220
  end
1297
1221
  end
1298
1222
  class GObject::ParamSpecBoxed < GObject::ParamSpec
1299
1223
 
1300
- def parent_instance
1301
- _v1 = (@struct.to_ptr + 0)
1302
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1303
- _v3 = _v2.to_value
1304
- _v4 = GObject::ParamSpec.wrap(_v3)
1305
- _v4
1306
- end
1224
+
1307
1225
  end
1308
1226
  class GObject::ParamSpecChar < GObject::ParamSpec
1309
1227
 
1310
1228
  def default_value
1311
1229
  _v1 = (@struct.to_ptr + 74)
1312
- _v2 = GirFFI::InOutPointer.new(:gint8, _v1)
1313
- _v3 = _v2.to_value
1314
- _v3
1230
+ _v2 = _v1.get_int8(0)
1231
+ _v2
1315
1232
  end
1316
1233
  def maximum
1317
1234
  _v1 = (@struct.to_ptr + 73)
1318
- _v2 = GirFFI::InOutPointer.new(:gint8, _v1)
1319
- _v3 = _v2.to_value
1320
- _v3
1235
+ _v2 = _v1.get_int8(0)
1236
+ _v2
1321
1237
  end
1322
1238
  def minimum
1323
1239
  _v1 = (@struct.to_ptr + 72)
1324
- _v2 = GirFFI::InOutPointer.new(:gint8, _v1)
1325
- _v3 = _v2.to_value
1326
- _v3
1327
- end
1328
- def parent_instance
1329
- _v1 = (@struct.to_ptr + 0)
1330
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1331
- _v3 = _v2.to_value
1332
- _v4 = GObject::ParamSpec.wrap(_v3)
1333
- _v4
1240
+ _v2 = _v1.get_int8(0)
1241
+ _v2
1334
1242
  end
1335
1243
  end
1336
1244
  class GObject::ParamSpecClass < GObject::TypeClass
1337
1245
 
1338
1246
  def dummy
1339
1247
  _v1 = (@struct.to_ptr + 48)
1340
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
1341
- _v3 = _v2.to_value
1342
- _v4 = GirFFI::SizedArray.wrap([:pointer, :void], 4, _v3)
1343
- _v4
1248
+ _v2 = GirFFI::SizedArray.get_value_from_pointer(_v1, 0)
1249
+ _v3 = GirFFI::SizedArray.wrap([:pointer, :void], 4, _v2)
1250
+ _v3
1344
1251
  end
1345
1252
  def finalize
1346
1253
  _v1 = (@struct.to_ptr + 16)
1347
- _v2 = GirFFI::InOutPointer.new(GObject::Finalize, _v1)
1348
- _v3 = _v2.to_value
1349
- _v3
1254
+ _v2 = GObject::Finalize.get_value_from_pointer(_v1, 0)
1255
+ _v2
1350
1256
  end
1351
1257
  def g_type_class
1352
1258
  _v1 = (@struct.to_ptr + 0)
1353
- _v2 = GirFFI::InOutPointer.new(GObject::TypeClass, _v1)
1354
- _v3 = _v2.to_value
1355
- _v4 = GObject::TypeClass.wrap(_v3)
1356
- _v4
1259
+ _v2 = GObject::TypeClass.get_value_from_pointer(_v1, 0)
1260
+ _v3 = GObject::TypeClass.wrap(_v2)
1261
+ _v3
1357
1262
  end
1358
1263
  def value_set_default
1359
1264
  _v1 = (@struct.to_ptr + 24)
1360
- _v2 = GirFFI::InOutPointer.new(GObject::Value_set_default, _v1)
1361
- _v3 = _v2.to_value
1362
- _v3
1265
+ _v2 = GObject::Value_set_default.get_value_from_pointer(_v1, 0)
1266
+ _v2
1363
1267
  end
1364
1268
  def value_type
1365
1269
  _v1 = (@struct.to_ptr + 8)
1366
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1367
- _v3 = _v2.to_value
1368
- _v3
1270
+ _v2 = _v1.get_uint64(0)
1271
+ _v2
1369
1272
  end
1370
1273
  def value_validate
1371
1274
  _v1 = (@struct.to_ptr + 32)
1372
- _v2 = GirFFI::InOutPointer.new(GObject::Value_validate, _v1)
1373
- _v3 = _v2.to_value
1374
- _v3
1275
+ _v2 = GObject::Value_validate.get_value_from_pointer(_v1, 0)
1276
+ _v2
1375
1277
  end
1376
1278
  def values_cmp
1377
1279
  _v1 = (@struct.to_ptr + 40)
1378
- _v2 = GirFFI::InOutPointer.new(GObject::Values_cmp, _v1)
1379
- _v3 = _v2.to_value
1380
- _v3
1280
+ _v2 = GObject::Values_cmp.get_value_from_pointer(_v1, 0)
1281
+ _v2
1381
1282
  end
1382
1283
  end
1383
1284
  class GObject::ParamSpecDouble < GObject::ParamSpec
1384
1285
 
1385
1286
  def default_value
1386
1287
  _v1 = (@struct.to_ptr + 88)
1387
- _v2 = GirFFI::InOutPointer.new(:gdouble, _v1)
1388
- _v3 = _v2.to_value
1389
- _v3
1288
+ _v2 = _v1.get_double(0)
1289
+ _v2
1390
1290
  end
1391
1291
  def epsilon
1392
1292
  _v1 = (@struct.to_ptr + 96)
1393
- _v2 = GirFFI::InOutPointer.new(:gdouble, _v1)
1394
- _v3 = _v2.to_value
1395
- _v3
1293
+ _v2 = _v1.get_double(0)
1294
+ _v2
1396
1295
  end
1397
1296
  def maximum
1398
1297
  _v1 = (@struct.to_ptr + 80)
1399
- _v2 = GirFFI::InOutPointer.new(:gdouble, _v1)
1400
- _v3 = _v2.to_value
1401
- _v3
1298
+ _v2 = _v1.get_double(0)
1299
+ _v2
1402
1300
  end
1403
1301
  def minimum
1404
1302
  _v1 = (@struct.to_ptr + 72)
1405
- _v2 = GirFFI::InOutPointer.new(:gdouble, _v1)
1406
- _v3 = _v2.to_value
1407
- _v3
1408
- end
1409
- def parent_instance
1410
- _v1 = (@struct.to_ptr + 0)
1411
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1412
- _v3 = _v2.to_value
1413
- _v4 = GObject::ParamSpec.wrap(_v3)
1414
- _v4
1303
+ _v2 = _v1.get_double(0)
1304
+ _v2
1415
1305
  end
1416
1306
  end
1417
1307
  class GObject::ParamSpecEnum < GObject::ParamSpec
1418
1308
 
1419
1309
  def default_value
1420
1310
  _v1 = (@struct.to_ptr + 80)
1421
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
1422
- _v3 = _v2.to_value
1423
- _v3
1311
+ _v2 = _v1.get_int32(0)
1312
+ _v2
1424
1313
  end
1425
1314
  def enum_class
1426
1315
  _v1 = (@struct.to_ptr + 72)
1427
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::EnumClass], _v1)
1428
- _v3 = _v2.to_value
1429
- _v4 = GObject::EnumClass.wrap(_v3)
1430
- _v4
1431
- end
1432
- def parent_instance
1433
- _v1 = (@struct.to_ptr + 0)
1434
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1435
- _v3 = _v2.to_value
1436
- _v4 = GObject::ParamSpec.wrap(_v3)
1437
- _v4
1316
+ _v2 = _v1.get_pointer(0)
1317
+ _v3 = GObject::EnumClass.wrap(_v2)
1318
+ _v3
1438
1319
  end
1439
1320
  end
1440
1321
  class GObject::ParamSpecFlags < GObject::ParamSpec
1441
1322
 
1442
1323
  def default_value
1443
1324
  _v1 = (@struct.to_ptr + 80)
1444
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1445
- _v3 = _v2.to_value
1446
- _v3
1325
+ _v2 = _v1.get_uint32(0)
1326
+ _v2
1447
1327
  end
1448
1328
  def flags_class
1449
1329
  _v1 = (@struct.to_ptr + 72)
1450
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::FlagsClass], _v1)
1451
- _v3 = _v2.to_value
1452
- _v4 = GObject::FlagsClass.wrap(_v3)
1453
- _v4
1454
- end
1455
- def parent_instance
1456
- _v1 = (@struct.to_ptr + 0)
1457
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1458
- _v3 = _v2.to_value
1459
- _v4 = GObject::ParamSpec.wrap(_v3)
1460
- _v4
1330
+ _v2 = _v1.get_pointer(0)
1331
+ _v3 = GObject::FlagsClass.wrap(_v2)
1332
+ _v3
1461
1333
  end
1462
1334
  end
1463
1335
  class GObject::ParamSpecFloat < GObject::ParamSpec
1464
1336
 
1465
1337
  def default_value
1466
1338
  _v1 = (@struct.to_ptr + 80)
1467
- _v2 = GirFFI::InOutPointer.new(:gfloat, _v1)
1468
- _v3 = _v2.to_value
1469
- _v3
1339
+ _v2 = _v1.get_float(0)
1340
+ _v2
1470
1341
  end
1471
1342
  def epsilon
1472
1343
  _v1 = (@struct.to_ptr + 84)
1473
- _v2 = GirFFI::InOutPointer.new(:gfloat, _v1)
1474
- _v3 = _v2.to_value
1475
- _v3
1344
+ _v2 = _v1.get_float(0)
1345
+ _v2
1476
1346
  end
1477
1347
  def maximum
1478
1348
  _v1 = (@struct.to_ptr + 76)
1479
- _v2 = GirFFI::InOutPointer.new(:gfloat, _v1)
1480
- _v3 = _v2.to_value
1481
- _v3
1349
+ _v2 = _v1.get_float(0)
1350
+ _v2
1482
1351
  end
1483
1352
  def minimum
1484
1353
  _v1 = (@struct.to_ptr + 72)
1485
- _v2 = GirFFI::InOutPointer.new(:gfloat, _v1)
1486
- _v3 = _v2.to_value
1487
- _v3
1488
- end
1489
- def parent_instance
1490
- _v1 = (@struct.to_ptr + 0)
1491
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1492
- _v3 = _v2.to_value
1493
- _v4 = GObject::ParamSpec.wrap(_v3)
1494
- _v4
1354
+ _v2 = _v1.get_float(0)
1355
+ _v2
1495
1356
  end
1496
1357
  end
1497
1358
  class GObject::ParamSpecGType < GObject::ParamSpec
1498
1359
 
1499
1360
  def is_a_type
1500
1361
  _v1 = (@struct.to_ptr + 72)
1501
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1502
- _v3 = _v2.to_value
1503
- _v3
1504
- end
1505
- def parent_instance
1506
- _v1 = (@struct.to_ptr + 0)
1507
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1508
- _v3 = _v2.to_value
1509
- _v4 = GObject::ParamSpec.wrap(_v3)
1510
- _v4
1362
+ _v2 = _v1.get_uint64(0)
1363
+ _v2
1511
1364
  end
1512
1365
  end
1513
1366
  class GObject::ParamSpecInt < GObject::ParamSpec
1514
1367
 
1515
1368
  def default_value
1516
1369
  _v1 = (@struct.to_ptr + 80)
1517
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
1518
- _v3 = _v2.to_value
1519
- _v3
1370
+ _v2 = _v1.get_int32(0)
1371
+ _v2
1520
1372
  end
1521
1373
  def maximum
1522
1374
  _v1 = (@struct.to_ptr + 76)
1523
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
1524
- _v3 = _v2.to_value
1525
- _v3
1375
+ _v2 = _v1.get_int32(0)
1376
+ _v2
1526
1377
  end
1527
1378
  def minimum
1528
1379
  _v1 = (@struct.to_ptr + 72)
1529
- _v2 = GirFFI::InOutPointer.new(:gint32, _v1)
1530
- _v3 = _v2.to_value
1531
- _v3
1532
- end
1533
- def parent_instance
1534
- _v1 = (@struct.to_ptr + 0)
1535
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1536
- _v3 = _v2.to_value
1537
- _v4 = GObject::ParamSpec.wrap(_v3)
1538
- _v4
1380
+ _v2 = _v1.get_int32(0)
1381
+ _v2
1539
1382
  end
1540
1383
  end
1541
1384
  class GObject::ParamSpecInt64 < GObject::ParamSpec
1542
1385
 
1543
1386
  def default_value
1544
1387
  _v1 = (@struct.to_ptr + 88)
1545
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1546
- _v3 = _v2.to_value
1547
- _v3
1388
+ _v2 = _v1.get_int64(0)
1389
+ _v2
1548
1390
  end
1549
1391
  def maximum
1550
1392
  _v1 = (@struct.to_ptr + 80)
1551
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1552
- _v3 = _v2.to_value
1553
- _v3
1393
+ _v2 = _v1.get_int64(0)
1394
+ _v2
1554
1395
  end
1555
1396
  def minimum
1556
1397
  _v1 = (@struct.to_ptr + 72)
1557
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1558
- _v3 = _v2.to_value
1559
- _v3
1560
- end
1561
- def parent_instance
1562
- _v1 = (@struct.to_ptr + 0)
1563
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1564
- _v3 = _v2.to_value
1565
- _v4 = GObject::ParamSpec.wrap(_v3)
1566
- _v4
1398
+ _v2 = _v1.get_int64(0)
1399
+ _v2
1567
1400
  end
1568
1401
  end
1569
1402
  class GObject::ParamSpecLong < GObject::ParamSpec
1570
1403
 
1571
1404
  def default_value
1572
1405
  _v1 = (@struct.to_ptr + 88)
1573
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1574
- _v3 = _v2.to_value
1575
- _v3
1406
+ _v2 = _v1.get_int64(0)
1407
+ _v2
1576
1408
  end
1577
1409
  def maximum
1578
1410
  _v1 = (@struct.to_ptr + 80)
1579
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1580
- _v3 = _v2.to_value
1581
- _v3
1411
+ _v2 = _v1.get_int64(0)
1412
+ _v2
1582
1413
  end
1583
1414
  def minimum
1584
1415
  _v1 = (@struct.to_ptr + 72)
1585
- _v2 = GirFFI::InOutPointer.new(:gint64, _v1)
1586
- _v3 = _v2.to_value
1587
- _v3
1588
- end
1589
- def parent_instance
1590
- _v1 = (@struct.to_ptr + 0)
1591
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1592
- _v3 = _v2.to_value
1593
- _v4 = GObject::ParamSpec.wrap(_v3)
1594
- _v4
1416
+ _v2 = _v1.get_int64(0)
1417
+ _v2
1595
1418
  end
1596
1419
  end
1597
1420
  class GObject::ParamSpecObject < GObject::ParamSpec
1598
1421
 
1599
- def parent_instance
1600
- _v1 = (@struct.to_ptr + 0)
1601
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1602
- _v3 = _v2.to_value
1603
- _v4 = GObject::ParamSpec.wrap(_v3)
1604
- _v4
1605
- end
1422
+
1606
1423
  end
1607
1424
  class GObject::ParamSpecOverride < GObject::ParamSpec
1608
1425
 
1609
1426
  def overridden
1610
1427
  _v1 = (@struct.to_ptr + 72)
1611
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::ParamSpec], _v1)
1612
- _v3 = _v2.to_value
1613
- _v4 = GObject::ParamSpec.wrap(_v3)
1614
- _v4
1615
- end
1616
- def parent_instance
1617
- _v1 = (@struct.to_ptr + 0)
1618
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1619
- _v3 = _v2.to_value
1620
- _v4 = GObject::ParamSpec.wrap(_v3)
1621
- _v4
1428
+ _v2 = _v1.get_pointer(0)
1429
+ _v3 = GObject::ParamSpec.wrap(_v2)
1430
+ _v3
1622
1431
  end
1623
1432
  end
1624
1433
  class GObject::ParamSpecParam < GObject::ParamSpec
1625
1434
 
1626
- def parent_instance
1627
- _v1 = (@struct.to_ptr + 0)
1628
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1629
- _v3 = _v2.to_value
1630
- _v4 = GObject::ParamSpec.wrap(_v3)
1631
- _v4
1632
- end
1435
+
1633
1436
  end
1634
1437
  class GObject::ParamSpecPointer < GObject::ParamSpec
1635
1438
 
1636
- def parent_instance
1637
- _v1 = (@struct.to_ptr + 0)
1638
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1639
- _v3 = _v2.to_value
1640
- _v4 = GObject::ParamSpec.wrap(_v3)
1641
- _v4
1642
- end
1439
+
1643
1440
  end
1644
1441
  class GObject::ParamSpecPool < GirFFI::StructBase
1645
1442
  def self.new(type_prefixing)
1646
1443
  _v1 = type_prefixing
1647
1444
  _v2 = GObject::Lib.g_param_spec_pool_new(_v1)
1648
- _v3 = GObject::ParamSpecPool.wrap(_v2)
1445
+ _v3 = GObject::ParamSpecPool.wrap_copy(_v2)
1649
1446
  return _v3
1650
1447
  end
1651
1448
  def insert(pspec, owner_type)
@@ -1655,9 +1452,9 @@ module GObject
1655
1452
  end
1656
1453
  def list(owner_type)
1657
1454
  _v1 = owner_type
1658
- _v2 = GirFFI::InOutPointer.for(:guint32)
1455
+ _v2 = FFI::MemoryPointer.new(:uint32)
1659
1456
  _v3 = GObject::Lib.g_param_spec_pool_list(self, _v1, _v2)
1660
- _v4 = _v2.to_value
1457
+ _v4 = _v2.get_uint32(0)
1661
1458
  _v5 = GirFFI::SizedArray.wrap([:pointer, GObject::ParamSpec], _v4, _v3)
1662
1459
  return _v5
1663
1460
  end
@@ -1668,11 +1465,11 @@ module GObject
1668
1465
  return _v3
1669
1466
  end
1670
1467
  def lookup(param_name, owner_type, walk_ancestors)
1671
- _v1 = GirFFI::InPointer.from(:utf8, param_name)
1468
+ _v1 = GirFFI::InPointer.from_utf8(param_name)
1672
1469
  _v2 = owner_type
1673
1470
  _v3 = walk_ancestors
1674
1471
  _v4 = GObject::Lib.g_param_spec_pool_lookup(self, _v1, _v2, _v3)
1675
- _v5 = GObject::ParamSpec.wrap(_v4)
1472
+ _v5 = GObject::ParamSpec.wrap(_v4).tap { |it| it and it.ref }
1676
1473
  return _v5
1677
1474
  end
1678
1475
  def remove(pspec)
@@ -1684,329 +1481,222 @@ module GObject
1684
1481
 
1685
1482
  def cset_first
1686
1483
  _v1 = (@struct.to_ptr + 80)
1687
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1688
- _v3 = _v2.to_value
1689
- _v4 = _v3.to_utf8
1690
- _v4
1484
+ _v2 = _v1.get_pointer(0)
1485
+ _v3 = _v2.to_utf8
1486
+ _v3
1691
1487
  end
1692
1488
  def cset_nth
1693
1489
  _v1 = (@struct.to_ptr + 88)
1694
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1695
- _v3 = _v2.to_value
1696
- _v4 = _v3.to_utf8
1697
- _v4
1490
+ _v2 = _v1.get_pointer(0)
1491
+ _v3 = _v2.to_utf8
1492
+ _v3
1698
1493
  end
1699
1494
  def default_value
1700
1495
  _v1 = (@struct.to_ptr + 72)
1701
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1702
- _v3 = _v2.to_value
1703
- _v4 = _v3.to_utf8
1704
- _v4
1496
+ _v2 = _v1.get_pointer(0)
1497
+ _v3 = _v2.to_utf8
1498
+ _v3
1705
1499
  end
1706
1500
  def ensure_non_null
1707
1501
  _v1 = (@struct.to_ptr + 104)
1708
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1709
- _v3 = _v2.to_value
1710
- _v3
1502
+ _v2 = _v1.get_uint32(0)
1503
+ _v2
1711
1504
  end
1712
1505
  def null_fold_if_empty
1713
1506
  _v1 = (@struct.to_ptr + 100)
1714
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1715
- _v3 = _v2.to_value
1716
- _v3
1717
- end
1718
- def parent_instance
1719
- _v1 = (@struct.to_ptr + 0)
1720
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1721
- _v3 = _v2.to_value
1722
- _v4 = GObject::ParamSpec.wrap(_v3)
1723
- _v4
1507
+ _v2 = _v1.get_uint32(0)
1508
+ _v2
1724
1509
  end
1725
1510
  def substitutor
1726
1511
  _v1 = (@struct.to_ptr + 96)
1727
- _v2 = GirFFI::InOutPointer.new(:gint8, _v1)
1728
- _v3 = _v2.to_value
1729
- _v3
1512
+ _v2 = _v1.get_int8(0)
1513
+ _v2
1730
1514
  end
1731
1515
  end
1732
1516
  class GObject::ParamSpecTypeInfo < GirFFI::StructBase
1733
1517
 
1734
1518
  def finalize
1735
1519
  _v1 = (@struct.to_ptr + 24)
1736
- _v2 = GirFFI::InOutPointer.new(GObject::Finalize, _v1)
1737
- _v3 = _v2.to_value
1738
- _v3
1520
+ _v2 = GObject::Finalize.get_value_from_pointer(_v1, 0)
1521
+ _v2
1739
1522
  end
1740
1523
  def instance_init
1741
1524
  _v1 = (@struct.to_ptr + 8)
1742
- _v2 = GirFFI::InOutPointer.new(GObject::Instance_init, _v1)
1743
- _v3 = _v2.to_value
1744
- _v3
1525
+ _v2 = GObject::Instance_init.get_value_from_pointer(_v1, 0)
1526
+ _v2
1745
1527
  end
1746
1528
  def instance_size
1747
1529
  _v1 = (@struct.to_ptr + 0)
1748
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
1749
- _v3 = _v2.to_value
1750
- _v3
1530
+ _v2 = _v1.get_uint16(0)
1531
+ _v2
1751
1532
  end
1752
1533
  def instance_size=(value)
1753
1534
  _v1 = (@struct.to_ptr + 0)
1754
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
1755
- _v3 = value
1756
- _v2.set_value(_v3)
1535
+ _v2 = value
1536
+ _v1.put_uint16(0, _v2)
1757
1537
  end
1758
1538
  def n_preallocs
1759
1539
  _v1 = (@struct.to_ptr + 2)
1760
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
1761
- _v3 = _v2.to_value
1762
- _v3
1540
+ _v2 = _v1.get_uint16(0)
1541
+ _v2
1763
1542
  end
1764
1543
  def n_preallocs=(value)
1765
1544
  _v1 = (@struct.to_ptr + 2)
1766
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
1767
- _v3 = value
1768
- _v2.set_value(_v3)
1545
+ _v2 = value
1546
+ _v1.put_uint16(0, _v2)
1769
1547
  end
1770
1548
  def value_set_default
1771
1549
  _v1 = (@struct.to_ptr + 32)
1772
- _v2 = GirFFI::InOutPointer.new(GObject::Value_set_default, _v1)
1773
- _v3 = _v2.to_value
1774
- _v3
1550
+ _v2 = GObject::Value_set_default.get_value_from_pointer(_v1, 0)
1551
+ _v2
1775
1552
  end
1776
1553
  def value_type
1777
1554
  _v1 = (@struct.to_ptr + 16)
1778
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1779
- _v3 = _v2.to_value
1780
- _v3
1555
+ _v2 = _v1.get_uint64(0)
1556
+ _v2
1781
1557
  end
1782
1558
  def value_type=(value)
1783
1559
  _v1 = (@struct.to_ptr + 16)
1784
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
1785
- _v3 = value
1786
- _v2.set_value(_v3)
1560
+ _v2 = value
1561
+ _v1.put_uint64(0, _v2)
1787
1562
  end
1788
1563
  def value_validate
1789
1564
  _v1 = (@struct.to_ptr + 40)
1790
- _v2 = GirFFI::InOutPointer.new(GObject::Value_validate, _v1)
1791
- _v3 = _v2.to_value
1792
- _v3
1565
+ _v2 = GObject::Value_validate.get_value_from_pointer(_v1, 0)
1566
+ _v2
1793
1567
  end
1794
1568
  def values_cmp
1795
1569
  _v1 = (@struct.to_ptr + 48)
1796
- _v2 = GirFFI::InOutPointer.new(GObject::Values_cmp, _v1)
1797
- _v3 = _v2.to_value
1798
- _v3
1570
+ _v2 = GObject::Values_cmp.get_value_from_pointer(_v1, 0)
1571
+ _v2
1799
1572
  end
1800
1573
  end
1801
1574
  class GObject::ParamSpecUChar < GObject::ParamSpec
1802
1575
 
1803
1576
  def default_value
1804
1577
  _v1 = (@struct.to_ptr + 74)
1805
- _v2 = GirFFI::InOutPointer.new(:guint8, _v1)
1806
- _v3 = _v2.to_value
1807
- _v3
1578
+ _v2 = _v1.get_uint8(0)
1579
+ _v2
1808
1580
  end
1809
1581
  def maximum
1810
1582
  _v1 = (@struct.to_ptr + 73)
1811
- _v2 = GirFFI::InOutPointer.new(:guint8, _v1)
1812
- _v3 = _v2.to_value
1813
- _v3
1583
+ _v2 = _v1.get_uint8(0)
1584
+ _v2
1814
1585
  end
1815
1586
  def minimum
1816
1587
  _v1 = (@struct.to_ptr + 72)
1817
- _v2 = GirFFI::InOutPointer.new(:guint8, _v1)
1818
- _v3 = _v2.to_value
1819
- _v3
1820
- end
1821
- def parent_instance
1822
- _v1 = (@struct.to_ptr + 0)
1823
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1824
- _v3 = _v2.to_value
1825
- _v4 = GObject::ParamSpec.wrap(_v3)
1826
- _v4
1588
+ _v2 = _v1.get_uint8(0)
1589
+ _v2
1827
1590
  end
1828
1591
  end
1829
1592
  class GObject::ParamSpecUInt < GObject::ParamSpec
1830
1593
 
1831
1594
  def default_value
1832
1595
  _v1 = (@struct.to_ptr + 80)
1833
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1834
- _v3 = _v2.to_value
1835
- _v3
1596
+ _v2 = _v1.get_uint32(0)
1597
+ _v2
1836
1598
  end
1837
1599
  def maximum
1838
1600
  _v1 = (@struct.to_ptr + 76)
1839
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1840
- _v3 = _v2.to_value
1841
- _v3
1601
+ _v2 = _v1.get_uint32(0)
1602
+ _v2
1842
1603
  end
1843
1604
  def minimum
1844
1605
  _v1 = (@struct.to_ptr + 72)
1845
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1846
- _v3 = _v2.to_value
1847
- _v3
1848
- end
1849
- def parent_instance
1850
- _v1 = (@struct.to_ptr + 0)
1851
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1852
- _v3 = _v2.to_value
1853
- _v4 = GObject::ParamSpec.wrap(_v3)
1854
- _v4
1606
+ _v2 = _v1.get_uint32(0)
1607
+ _v2
1855
1608
  end
1856
1609
  end
1857
1610
  class GObject::ParamSpecUInt64 < GObject::ParamSpec
1858
1611
 
1859
1612
  def default_value
1860
1613
  _v1 = (@struct.to_ptr + 88)
1861
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1862
- _v3 = _v2.to_value
1863
- _v3
1614
+ _v2 = _v1.get_uint64(0)
1615
+ _v2
1864
1616
  end
1865
1617
  def maximum
1866
1618
  _v1 = (@struct.to_ptr + 80)
1867
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1868
- _v3 = _v2.to_value
1869
- _v3
1619
+ _v2 = _v1.get_uint64(0)
1620
+ _v2
1870
1621
  end
1871
1622
  def minimum
1872
1623
  _v1 = (@struct.to_ptr + 72)
1873
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1874
- _v3 = _v2.to_value
1875
- _v3
1876
- end
1877
- def parent_instance
1878
- _v1 = (@struct.to_ptr + 0)
1879
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1880
- _v3 = _v2.to_value
1881
- _v4 = GObject::ParamSpec.wrap(_v3)
1882
- _v4
1624
+ _v2 = _v1.get_uint64(0)
1625
+ _v2
1883
1626
  end
1884
1627
  end
1885
1628
  class GObject::ParamSpecULong < GObject::ParamSpec
1886
1629
 
1887
1630
  def default_value
1888
1631
  _v1 = (@struct.to_ptr + 88)
1889
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1890
- _v3 = _v2.to_value
1891
- _v3
1632
+ _v2 = _v1.get_uint64(0)
1633
+ _v2
1892
1634
  end
1893
1635
  def maximum
1894
1636
  _v1 = (@struct.to_ptr + 80)
1895
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1896
- _v3 = _v2.to_value
1897
- _v3
1637
+ _v2 = _v1.get_uint64(0)
1638
+ _v2
1898
1639
  end
1899
1640
  def minimum
1900
1641
  _v1 = (@struct.to_ptr + 72)
1901
- _v2 = GirFFI::InOutPointer.new(:guint64, _v1)
1902
- _v3 = _v2.to_value
1903
- _v3
1904
- end
1905
- def parent_instance
1906
- _v1 = (@struct.to_ptr + 0)
1907
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1908
- _v3 = _v2.to_value
1909
- _v4 = GObject::ParamSpec.wrap(_v3)
1910
- _v4
1642
+ _v2 = _v1.get_uint64(0)
1643
+ _v2
1911
1644
  end
1912
1645
  end
1913
1646
  class GObject::ParamSpecUnichar < GObject::ParamSpec
1914
1647
 
1915
1648
  def default_value
1916
1649
  _v1 = (@struct.to_ptr + 72)
1917
- _v2 = GirFFI::InOutPointer.new(:gunichar, _v1)
1918
- _v3 = _v2.to_value
1919
- _v3
1920
- end
1921
- def parent_instance
1922
- _v1 = (@struct.to_ptr + 0)
1923
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1924
- _v3 = _v2.to_value
1925
- _v4 = GObject::ParamSpec.wrap(_v3)
1926
- _v4
1650
+ _v2 = _v1.get_uint32(0)
1651
+ _v2
1927
1652
  end
1928
1653
  end
1929
1654
  class GObject::ParamSpecValueArray < GObject::ParamSpec
1930
1655
 
1931
1656
  def element_spec
1932
1657
  _v1 = (@struct.to_ptr + 72)
1933
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::ParamSpec], _v1)
1934
- _v3 = _v2.to_value
1935
- _v4 = GObject::ParamSpec.wrap(_v3)
1936
- _v4
1658
+ _v2 = _v1.get_pointer(0)
1659
+ _v3 = GObject::ParamSpec.wrap(_v2)
1660
+ _v3
1937
1661
  end
1938
1662
  def fixed_n_elements
1939
1663
  _v1 = (@struct.to_ptr + 80)
1940
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
1941
- _v3 = _v2.to_value
1942
- _v3
1943
- end
1944
- def parent_instance
1945
- _v1 = (@struct.to_ptr + 0)
1946
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1947
- _v3 = _v2.to_value
1948
- _v4 = GObject::ParamSpec.wrap(_v3)
1949
- _v4
1664
+ _v2 = _v1.get_uint32(0)
1665
+ _v2
1950
1666
  end
1951
1667
  end
1952
1668
  class GObject::ParamSpecVariant < GObject::ParamSpec
1953
1669
 
1954
- def default_value
1955
- _v1 = (@struct.to_ptr + 80)
1956
- _v2 = GirFFI::InOutPointer.new([:pointer, GLib::Variant], _v1)
1957
- _v3 = _v2.to_value
1958
- _v4 = GLib::Variant.wrap(_v3)
1959
- _v4
1960
- end
1961
1670
  def padding
1962
1671
  _v1 = (@struct.to_ptr + 88)
1963
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
1964
- _v3 = _v2.to_value
1965
- _v4 = GirFFI::SizedArray.wrap([:pointer, :void], 4, _v3)
1966
- _v4
1967
- end
1968
- def parent_instance
1969
- _v1 = (@struct.to_ptr + 0)
1970
- _v2 = GirFFI::InOutPointer.new(GObject::ParamSpec, _v1)
1971
- _v3 = _v2.to_value
1972
- _v4 = GObject::ParamSpec.wrap(_v3)
1973
- _v4
1974
- end
1975
- def type
1976
- _v1 = (@struct.to_ptr + 72)
1977
- _v2 = GirFFI::InOutPointer.new([:pointer, GLib::VariantType], _v1)
1978
- _v3 = _v2.to_value
1979
- _v4 = GLib::VariantType.wrap(_v3)
1980
- _v4
1672
+ _v2 = GirFFI::SizedArray.get_value_from_pointer(_v1, 0)
1673
+ _v3 = GirFFI::SizedArray.wrap([:pointer, :void], 4, _v2)
1674
+ _v3
1981
1675
  end
1982
1676
  end
1983
1677
  class GObject::Parameter < GirFFI::StructBase
1984
1678
 
1985
1679
  def name
1986
1680
  _v1 = (@struct.to_ptr + 0)
1987
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1988
- _v3 = _v2.to_value
1989
- _v4 = _v3.to_utf8
1990
- _v4
1681
+ _v2 = _v1.get_pointer(0)
1682
+ _v3 = _v2.to_utf8
1683
+ _v3
1991
1684
  end
1992
1685
  def name=(value)
1993
1686
  _v1 = (@struct.to_ptr + 0)
1994
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
1995
- _v3 = GirFFI::InPointer.from(:utf8, value)
1996
- _v2.set_value(_v3)
1687
+ _v2 = GirFFI::InPointer.from_utf8(value)
1688
+ _v1.put_pointer(0, _v2)
1997
1689
  end
1998
1690
  def value
1999
1691
  _v1 = (@struct.to_ptr + 8)
2000
- _v2 = GirFFI::InOutPointer.new(GObject::Value, _v1)
2001
- _v3 = _v2.to_value
2002
- _v4 = GObject::Value.wrap(_v3)
2003
- _v4
1692
+ _v2 = GObject::Value.get_value_from_pointer(_v1, 0)
1693
+ _v3 = GObject::Value.wrap(_v2)
1694
+ _v3
2004
1695
  end
2005
1696
  def value=(value)
2006
1697
  _v1 = (@struct.to_ptr + 8)
2007
- _v2 = GirFFI::InOutPointer.new(GObject::Value, _v1)
2008
- _v3 = GObject::Value.from(value)
2009
- _v2.set_value(_v3)
1698
+ _v2 = GObject::Value.copy_from(value)
1699
+ GObject::Value.copy_value_to_pointer(_v2, _v1)
2010
1700
  end
2011
1701
  end
2012
1702
  SIGNAL_FLAGS_MASK = 511
@@ -2018,39 +1708,33 @@ module GObject
2018
1708
 
2019
1709
  def detail
2020
1710
  _v1 = (@struct.to_ptr + 4)
2021
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2022
- _v3 = _v2.to_value
2023
- _v3
1711
+ _v2 = _v1.get_uint32(0)
1712
+ _v2
2024
1713
  end
2025
1714
  def detail=(value)
2026
1715
  _v1 = (@struct.to_ptr + 4)
2027
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2028
- _v3 = value
2029
- _v2.set_value(_v3)
1716
+ _v2 = value
1717
+ _v1.put_uint32(0, _v2)
2030
1718
  end
2031
1719
  def run_type
2032
1720
  _v1 = (@struct.to_ptr + 8)
2033
- _v2 = GirFFI::InOutPointer.new(GObject::SignalFlags, _v1)
2034
- _v3 = _v2.to_value
2035
- _v3
1721
+ _v2 = GObject::SignalFlags.get_value_from_pointer(_v1, 0)
1722
+ _v2
2036
1723
  end
2037
1724
  def run_type=(value)
2038
1725
  _v1 = (@struct.to_ptr + 8)
2039
- _v2 = GirFFI::InOutPointer.new(GObject::SignalFlags, _v1)
2040
- _v3 = value
2041
- _v2.set_value(_v3)
1726
+ _v2 = value
1727
+ GObject::SignalFlags.copy_value_to_pointer(_v2, _v1)
2042
1728
  end
2043
1729
  def signal_id
2044
1730
  _v1 = (@struct.to_ptr + 0)
2045
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2046
- _v3 = _v2.to_value
2047
- _v3
1731
+ _v2 = _v1.get_uint32(0)
1732
+ _v2
2048
1733
  end
2049
1734
  def signal_id=(value)
2050
1735
  _v1 = (@struct.to_ptr + 0)
2051
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2052
- _v3 = value
2053
- _v2.set_value(_v3)
1736
+ _v2 = value
1737
+ _v1.put_uint32(0, _v2)
2054
1738
  end
2055
1739
  end
2056
1740
  # XXX: Don't know how to print flags
@@ -2058,92 +1742,77 @@ module GObject
2058
1742
 
2059
1743
  def itype
2060
1744
  _v1 = (@struct.to_ptr + 16)
2061
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2062
- _v3 = _v2.to_value
2063
- _v3
1745
+ _v2 = _v1.get_uint64(0)
1746
+ _v2
2064
1747
  end
2065
1748
  def itype=(value)
2066
1749
  _v1 = (@struct.to_ptr + 16)
2067
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2068
- _v3 = value
2069
- _v2.set_value(_v3)
1750
+ _v2 = value
1751
+ _v1.put_uint64(0, _v2)
2070
1752
  end
2071
1753
  def n_params
2072
1754
  _v1 = (@struct.to_ptr + 40)
2073
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2074
- _v3 = _v2.to_value
2075
- _v3
1755
+ _v2 = _v1.get_uint32(0)
1756
+ _v2
2076
1757
  end
2077
1758
  def n_params=(value)
2078
1759
  _v1 = (@struct.to_ptr + 40)
2079
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2080
- _v3 = value
2081
- _v2.set_value(_v3)
1760
+ _v2 = value
1761
+ _v1.put_uint32(0, _v2)
2082
1762
  end
2083
1763
  def param_types
2084
1764
  _v1 = (@struct.to_ptr + 40)
2085
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2086
- _v3 = _v2.to_value
2087
- _v4 = (@struct.to_ptr + 48)
2088
- _v5 = GirFFI::InOutPointer.new([:pointer, :c], _v4)
2089
- _v6 = _v5.to_value
2090
- _v7 = GirFFI::SizedArray.wrap(:GType, _v3, _v6)
2091
- _v7
1765
+ _v2 = _v1.get_uint32(0)
1766
+ _v3 = (@struct.to_ptr + 48)
1767
+ _v4 = _v3.get_pointer(0)
1768
+ _v5 = GirFFI::SizedArray.wrap(:GType, _v2, _v4)
1769
+ _v5
2092
1770
  end
2093
1771
  def param_types=(value)
2094
1772
  _v1 = (@struct.to_ptr + 48)
2095
- _v2 = GirFFI::InOutPointer.new([:pointer, :c], _v1)
2096
- _v3 = GirFFI::SizedArray.from(:GType, -1, value)
2097
- _v2.set_value(_v3)
1773
+ _v2 = GirFFI::SizedArray.copy_from(:GType, -1, value)
1774
+ _v1.put_pointer(0, _v2)
2098
1775
  end
2099
1776
  def return_type
2100
1777
  _v1 = (@struct.to_ptr + 32)
2101
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2102
- _v3 = _v2.to_value
2103
- _v3
1778
+ _v2 = _v1.get_uint64(0)
1779
+ _v2
2104
1780
  end
2105
1781
  def return_type=(value)
2106
1782
  _v1 = (@struct.to_ptr + 32)
2107
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2108
- _v3 = value
2109
- _v2.set_value(_v3)
1783
+ _v2 = value
1784
+ _v1.put_uint64(0, _v2)
2110
1785
  end
2111
1786
  def signal_flags
2112
1787
  _v1 = (@struct.to_ptr + 24)
2113
- _v2 = GirFFI::InOutPointer.new(GObject::SignalFlags, _v1)
2114
- _v3 = _v2.to_value
2115
- _v3
1788
+ _v2 = GObject::SignalFlags.get_value_from_pointer(_v1, 0)
1789
+ _v2
2116
1790
  end
2117
1791
  def signal_flags=(value)
2118
1792
  _v1 = (@struct.to_ptr + 24)
2119
- _v2 = GirFFI::InOutPointer.new(GObject::SignalFlags, _v1)
2120
- _v3 = value
2121
- _v2.set_value(_v3)
1793
+ _v2 = value
1794
+ GObject::SignalFlags.copy_value_to_pointer(_v2, _v1)
2122
1795
  end
2123
1796
  def signal_id
2124
1797
  _v1 = (@struct.to_ptr + 0)
2125
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2126
- _v3 = _v2.to_value
2127
- _v3
1798
+ _v2 = _v1.get_uint32(0)
1799
+ _v2
2128
1800
  end
2129
1801
  def signal_id=(value)
2130
1802
  _v1 = (@struct.to_ptr + 0)
2131
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2132
- _v3 = value
2133
- _v2.set_value(_v3)
1803
+ _v2 = value
1804
+ _v1.put_uint32(0, _v2)
2134
1805
  end
2135
1806
  def signal_name
2136
1807
  _v1 = (@struct.to_ptr + 8)
2137
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2138
- _v3 = _v2.to_value
2139
- _v4 = _v3.to_utf8
2140
- _v4
1808
+ _v2 = _v1.get_pointer(0)
1809
+ _v3 = _v2.to_utf8
1810
+ _v3
2141
1811
  end
2142
1812
  def signal_name=(value)
2143
1813
  _v1 = (@struct.to_ptr + 8)
2144
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2145
- _v3 = GirFFI::InPointer.from(:utf8, value)
2146
- _v2.set_value(_v3)
1814
+ _v2 = GirFFI::InPointer.from_utf8(value)
1815
+ _v1.put_pointer(0, _v2)
2147
1816
  end
2148
1817
  end
2149
1818
  TYPE_FLAG_RESERVED_ID_BIT = 1
@@ -2157,43 +1826,46 @@ module GObject
2157
1826
  # XXX: Don't know how to print callback
2158
1827
  # XXX: Don't know how to print union
2159
1828
  class GObject::TypeClass < GirFFI::StructBase
2160
- def self.add_private(g_class, private_size)
2161
- _v1 = GirFFI::InPointer.from(:void, g_class)
2162
- _v2 = private_size
2163
- GObject::Lib.g_type_class_add_private(_v1, _v2)
2164
- end
2165
1829
  def self.adjust_private_offset(g_class, private_size_or_offset)
2166
- _v1 = GirFFI::InPointer.from(:void, g_class)
1830
+ _v1 = g_class
2167
1831
  _v2 = private_size_or_offset
2168
1832
  GObject::Lib.g_type_class_adjust_private_offset(_v1, _v2)
2169
1833
  end
2170
1834
  def self.peek(type)
2171
1835
  _v1 = type
2172
1836
  _v2 = GObject::Lib.g_type_class_peek(_v1)
2173
- _v3 = GObject::TypeClass.wrap(_v2)
1837
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
2174
1838
  return _v3
2175
1839
  end
2176
1840
  def self.peek_static(type)
2177
1841
  _v1 = type
2178
1842
  _v2 = GObject::Lib.g_type_class_peek_static(_v1)
2179
- _v3 = GObject::TypeClass.wrap(_v2)
1843
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
2180
1844
  return _v3
2181
1845
  end
2182
1846
  def self.ref(type)
2183
1847
  _v1 = type
2184
1848
  _v2 = GObject::Lib.g_type_class_ref(_v1)
2185
- _v3 = GObject::TypeClass.wrap(_v2)
1849
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
2186
1850
  return _v3
2187
1851
  end
1852
+ def add_private(private_size)
1853
+ _v1 = private_size
1854
+ GObject::Lib.g_type_class_add_private(self, _v1)
1855
+ end
2188
1856
  def g_type
2189
1857
  _v1 = (@struct.to_ptr + 0)
2190
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2191
- _v3 = _v2.to_value
2192
- _v3
1858
+ _v2 = _v1.get_uint64(0)
1859
+ _v2
1860
+ end
1861
+ def get_private(private_type)
1862
+ _v1 = private_type
1863
+ _v2 = GObject::Lib.g_type_class_get_private(self, _v1)
1864
+ return _v2
2193
1865
  end
2194
1866
  def peek_parent
2195
1867
  _v1 = GObject::Lib.g_type_class_peek_parent(self)
2196
- _v2 = GObject::TypeClass.wrap(_v1)
1868
+ _v2 = GObject::TypeClass.wrap_copy(_v1)
2197
1869
  return _v2
2198
1870
  end
2199
1871
  def unref
@@ -2208,149 +1880,131 @@ module GObject
2208
1880
 
2209
1881
  def type_flags
2210
1882
  _v1 = (@struct.to_ptr + 0)
2211
- _v2 = GirFFI::InOutPointer.new(GObject::TypeFundamentalFlags, _v1)
2212
- _v3 = _v2.to_value
2213
- _v3
1883
+ _v2 = GObject::TypeFundamentalFlags.get_value_from_pointer(_v1, 0)
1884
+ _v2
2214
1885
  end
2215
1886
  def type_flags=(value)
2216
1887
  _v1 = (@struct.to_ptr + 0)
2217
- _v2 = GirFFI::InOutPointer.new(GObject::TypeFundamentalFlags, _v1)
2218
- _v3 = value
2219
- _v2.set_value(_v3)
1888
+ _v2 = value
1889
+ GObject::TypeFundamentalFlags.copy_value_to_pointer(_v2, _v1)
2220
1890
  end
2221
1891
  end
2222
1892
  class GObject::TypeInfo < GirFFI::StructBase
2223
1893
 
2224
1894
  def base_finalize
2225
1895
  _v1 = (@struct.to_ptr + 16)
2226
- _v2 = GirFFI::InOutPointer.new(GObject::BaseFinalizeFunc, _v1)
2227
- _v3 = _v2.to_value
2228
- _v3
1896
+ _v2 = GObject::BaseFinalizeFunc.get_value_from_pointer(_v1, 0)
1897
+ _v2
2229
1898
  end
2230
1899
  def base_finalize=(value)
2231
1900
  _v1 = (@struct.to_ptr + 16)
2232
- _v2 = GirFFI::InOutPointer.new(GObject::BaseFinalizeFunc, _v1)
2233
- _v3 = GObject::BaseFinalizeFunc.from(value)
2234
- _v2.set_value(_v3)
1901
+ _v2 = GObject::BaseFinalizeFunc.from(value)
1902
+ GObject::BaseFinalizeFunc.copy_value_to_pointer(_v2, _v1)
2235
1903
  end
2236
1904
  def base_init
2237
1905
  _v1 = (@struct.to_ptr + 8)
2238
- _v2 = GirFFI::InOutPointer.new(GObject::BaseInitFunc, _v1)
2239
- _v3 = _v2.to_value
2240
- _v3
1906
+ _v2 = GObject::BaseInitFunc.get_value_from_pointer(_v1, 0)
1907
+ _v2
2241
1908
  end
2242
1909
  def base_init=(value)
2243
1910
  _v1 = (@struct.to_ptr + 8)
2244
- _v2 = GirFFI::InOutPointer.new(GObject::BaseInitFunc, _v1)
2245
- _v3 = GObject::BaseInitFunc.from(value)
2246
- _v2.set_value(_v3)
1911
+ _v2 = GObject::BaseInitFunc.from(value)
1912
+ GObject::BaseInitFunc.copy_value_to_pointer(_v2, _v1)
2247
1913
  end
2248
1914
  def class_data
2249
1915
  _v1 = (@struct.to_ptr + 40)
2250
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
2251
- _v3 = _v2.to_value
2252
- _v3
1916
+ _v2 = _v1.get_pointer(0)
1917
+ _v2
2253
1918
  end
2254
1919
  def class_data=(value)
2255
1920
  _v1 = (@struct.to_ptr + 40)
2256
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
2257
- _v3 = GirFFI::InPointer.from(:void, value)
2258
- _v2.set_value(_v3)
1921
+ _v2 = value
1922
+ _v1.put_pointer(0, _v2)
2259
1923
  end
2260
1924
  def class_finalize
2261
1925
  _v1 = (@struct.to_ptr + 32)
2262
- _v2 = GirFFI::InOutPointer.new(GObject::ClassFinalizeFunc, _v1)
2263
- _v3 = _v2.to_value
2264
- _v3
1926
+ _v2 = GObject::ClassFinalizeFunc.get_value_from_pointer(_v1, 0)
1927
+ _v2
2265
1928
  end
2266
1929
  def class_finalize=(value)
2267
1930
  _v1 = (@struct.to_ptr + 32)
2268
- _v2 = GirFFI::InOutPointer.new(GObject::ClassFinalizeFunc, _v1)
2269
- _v3 = GObject::ClassFinalizeFunc.from(value)
2270
- _v2.set_value(_v3)
1931
+ _v2 = GObject::ClassFinalizeFunc.from(value)
1932
+ GObject::ClassFinalizeFunc.copy_value_to_pointer(_v2, _v1)
2271
1933
  end
2272
1934
  def class_init
2273
1935
  _v1 = (@struct.to_ptr + 24)
2274
- _v2 = GirFFI::InOutPointer.new(GObject::ClassInitFunc, _v1)
2275
- _v3 = _v2.to_value
2276
- _v3
1936
+ _v2 = GObject::ClassInitFunc.get_value_from_pointer(_v1, 0)
1937
+ _v2
2277
1938
  end
2278
1939
  def class_init=(value)
2279
1940
  _v1 = (@struct.to_ptr + 24)
2280
- _v2 = GirFFI::InOutPointer.new(GObject::ClassInitFunc, _v1)
2281
- _v3 = GObject::ClassInitFunc.from(value)
2282
- _v2.set_value(_v3)
1941
+ _v2 = GObject::ClassInitFunc.from(value)
1942
+ GObject::ClassInitFunc.copy_value_to_pointer(_v2, _v1)
2283
1943
  end
2284
1944
  def class_size
2285
1945
  _v1 = (@struct.to_ptr + 0)
2286
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2287
- _v3 = _v2.to_value
2288
- _v3
1946
+ _v2 = _v1.get_uint16(0)
1947
+ _v2
2289
1948
  end
2290
1949
  def class_size=(value)
2291
1950
  _v1 = (@struct.to_ptr + 0)
2292
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2293
- _v3 = value
2294
- _v2.set_value(_v3)
1951
+ _v2 = value
1952
+ _v1.put_uint16(0, _v2)
2295
1953
  end
2296
1954
  def instance_init
2297
1955
  _v1 = (@struct.to_ptr + 56)
2298
- _v2 = GirFFI::InOutPointer.new(GObject::InstanceInitFunc, _v1)
2299
- _v3 = _v2.to_value
2300
- _v3
1956
+ _v2 = GObject::InstanceInitFunc.get_value_from_pointer(_v1, 0)
1957
+ _v2
2301
1958
  end
2302
1959
  def instance_init=(value)
2303
1960
  _v1 = (@struct.to_ptr + 56)
2304
- _v2 = GirFFI::InOutPointer.new(GObject::InstanceInitFunc, _v1)
2305
- _v3 = GObject::InstanceInitFunc.from(value)
2306
- _v2.set_value(_v3)
1961
+ _v2 = GObject::InstanceInitFunc.from(value)
1962
+ GObject::InstanceInitFunc.copy_value_to_pointer(_v2, _v1)
2307
1963
  end
2308
1964
  def instance_size
2309
1965
  _v1 = (@struct.to_ptr + 48)
2310
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2311
- _v3 = _v2.to_value
2312
- _v3
1966
+ _v2 = _v1.get_uint16(0)
1967
+ _v2
2313
1968
  end
2314
1969
  def instance_size=(value)
2315
1970
  _v1 = (@struct.to_ptr + 48)
2316
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2317
- _v3 = value
2318
- _v2.set_value(_v3)
1971
+ _v2 = value
1972
+ _v1.put_uint16(0, _v2)
2319
1973
  end
2320
1974
  def n_preallocs
2321
1975
  _v1 = (@struct.to_ptr + 50)
2322
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2323
- _v3 = _v2.to_value
2324
- _v3
1976
+ _v2 = _v1.get_uint16(0)
1977
+ _v2
2325
1978
  end
2326
1979
  def n_preallocs=(value)
2327
1980
  _v1 = (@struct.to_ptr + 50)
2328
- _v2 = GirFFI::InOutPointer.new(:guint16, _v1)
2329
- _v3 = value
2330
- _v2.set_value(_v3)
1981
+ _v2 = value
1982
+ _v1.put_uint16(0, _v2)
2331
1983
  end
2332
1984
  def value_table
2333
1985
  _v1 = (@struct.to_ptr + 64)
2334
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::TypeValueTable], _v1)
2335
- _v3 = _v2.to_value
2336
- _v4 = GObject::TypeValueTable.wrap(_v3)
2337
- _v4
1986
+ _v2 = _v1.get_pointer(0)
1987
+ _v3 = GObject::TypeValueTable.wrap(_v2)
1988
+ _v3
2338
1989
  end
2339
1990
  def value_table=(value)
2340
1991
  _v1 = (@struct.to_ptr + 64)
2341
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::TypeValueTable], _v1)
2342
- _v3 = GObject::TypeValueTable.from(value)
2343
- _v2.set_value(_v3)
1992
+ _v2 = GObject::TypeValueTable.copy_from(value)
1993
+ _v1.put_pointer(0, _v2)
2344
1994
  end
2345
1995
  end
2346
1996
  class GObject::TypeInstance < GirFFI::StructBase
2347
1997
 
2348
1998
  def g_class
2349
1999
  _v1 = (@struct.to_ptr + 0)
2350
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::TypeClass], _v1)
2351
- _v3 = _v2.to_value
2352
- _v4 = GObject::TypeClass.wrap(_v3)
2353
- _v4
2000
+ _v2 = _v1.get_pointer(0)
2001
+ _v3 = GObject::TypeClass.wrap(_v2)
2002
+ _v3
2003
+ end
2004
+ def get_private(private_type)
2005
+ _v1 = private_type
2006
+ _v2 = GObject::Lib.g_type_instance_get_private(self, _v1)
2007
+ return _v2
2354
2008
  end
2355
2009
  end
2356
2010
  class GObject::TypeInterface < GirFFI::StructBase
@@ -2370,32 +2024,30 @@ module GObject
2370
2024
  _v1 = GObject::TypeClass.from(instance_class)
2371
2025
  _v2 = iface_type
2372
2026
  _v3 = GObject::Lib.g_type_interface_peek(_v1, _v2)
2373
- _v4 = GObject::TypeInterface.wrap(_v3)
2027
+ _v4 = GObject::TypeInterface.wrap_copy(_v3)
2374
2028
  return _v4
2375
2029
  end
2376
2030
  def self.prerequisites(interface_type)
2377
2031
  _v1 = interface_type
2378
- _v2 = GirFFI::InOutPointer.for(:guint32)
2032
+ _v2 = FFI::MemoryPointer.new(:uint32)
2379
2033
  _v3 = GObject::Lib.g_type_interface_prerequisites(_v1, _v2)
2380
- _v4 = _v2.to_value
2034
+ _v4 = _v2.get_uint32(0)
2381
2035
  _v5 = GirFFI::SizedArray.wrap(:GType, _v4, _v3)
2382
2036
  return _v5
2383
2037
  end
2384
2038
  def g_instance_type
2385
2039
  _v1 = (@struct.to_ptr + 8)
2386
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2387
- _v3 = _v2.to_value
2388
- _v3
2040
+ _v2 = _v1.get_uint64(0)
2041
+ _v2
2389
2042
  end
2390
2043
  def g_type
2391
2044
  _v1 = (@struct.to_ptr + 0)
2392
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2393
- _v3 = _v2.to_value
2394
- _v3
2045
+ _v2 = _v1.get_uint64(0)
2046
+ _v2
2395
2047
  end
2396
2048
  def peek_parent
2397
2049
  _v1 = GObject::Lib.g_type_interface_peek_parent(self)
2398
- _v2 = GObject::TypeInterface.wrap(_v1)
2050
+ _v2 = GObject::TypeInterface.wrap_copy(_v1)
2399
2051
  return _v2
2400
2052
  end
2401
2053
  end
@@ -2408,30 +2060,48 @@ module GObject
2408
2060
  _v3 = GObject::InterfaceInfo.from(interface_info)
2409
2061
  GObject::Lib.g_type_module_add_interface(self, _v1, _v2, _v3)
2410
2062
  end
2063
+ def interface_infos
2064
+ _v1 = (@struct.to_ptr + 40)
2065
+ _v2 = _v1.get_pointer(0)
2066
+ _v3 = GLib::SList.wrap([:pointer, :void], _v2)
2067
+ _v3
2068
+ end
2069
+ def name
2070
+ _v1 = (@struct.to_ptr + 48)
2071
+ _v2 = _v1.get_pointer(0)
2072
+ _v3 = _v2.to_utf8
2073
+ _v3
2074
+ end
2411
2075
  def register_enum(name, const_static_values)
2412
- _v1 = GirFFI::InPointer.from(:utf8, name)
2076
+ _v1 = GirFFI::InPointer.from_utf8(name)
2413
2077
  _v2 = GObject::EnumValue.from(const_static_values)
2414
2078
  _v3 = GObject::Lib.g_type_module_register_enum(self, _v1, _v2)
2415
2079
  return _v3
2416
2080
  end
2417
2081
  def register_flags(name, const_static_values)
2418
- _v1 = GirFFI::InPointer.from(:utf8, name)
2082
+ _v1 = GirFFI::InPointer.from_utf8(name)
2419
2083
  _v2 = GObject::FlagsValue.from(const_static_values)
2420
2084
  _v3 = GObject::Lib.g_type_module_register_flags(self, _v1, _v2)
2421
2085
  return _v3
2422
2086
  end
2423
2087
  def register_type(parent_type, type_name, type_info, flags)
2424
2088
  _v1 = parent_type
2425
- _v2 = GirFFI::InPointer.from(:utf8, type_name)
2089
+ _v2 = GirFFI::InPointer.from_utf8(type_name)
2426
2090
  _v3 = GObject::TypeInfo.from(type_info)
2427
2091
  _v4 = flags
2428
2092
  _v5 = GObject::Lib.g_type_module_register_type(self, _v1, _v2, _v3, _v4)
2429
2093
  return _v5
2430
2094
  end
2431
2095
  def set_name(name)
2432
- _v1 = GirFFI::InPointer.from(:utf8, name)
2096
+ _v1 = GirFFI::InPointer.from_utf8(name)
2433
2097
  GObject::Lib.g_type_module_set_name(self, _v1)
2434
2098
  end
2099
+ def type_infos
2100
+ _v1 = (@struct.to_ptr + 32)
2101
+ _v2 = _v1.get_pointer(0)
2102
+ _v3 = GLib::SList.wrap([:pointer, :void], _v2)
2103
+ _v3
2104
+ end
2435
2105
  def unuse
2436
2106
  GObject::Lib.g_type_module_unuse(self)
2437
2107
  end
@@ -2439,51 +2109,49 @@ module GObject
2439
2109
  _v1 = GObject::Lib.g_type_module_use(self)
2440
2110
  return _v1
2441
2111
  end
2112
+ def use_count
2113
+ _v1 = (@struct.to_ptr + 24)
2114
+ _v2 = _v1.get_uint32(0)
2115
+ _v2
2116
+ end
2442
2117
  end
2443
2118
  class GObject::TypeModuleClass < GObject::ObjectClass
2444
2119
 
2445
2120
  def load
2446
2121
  _v1 = (@struct.to_ptr + 136)
2447
- _v2 = GirFFI::InOutPointer.new(GObject::Load, _v1)
2448
- _v3 = _v2.to_value
2449
- _v3
2122
+ _v2 = GObject::Load.get_value_from_pointer(_v1, 0)
2123
+ _v2
2450
2124
  end
2451
2125
  def parent_class
2452
2126
  _v1 = (@struct.to_ptr + 0)
2453
- _v2 = GirFFI::InOutPointer.new(GObject::ObjectClass, _v1)
2454
- _v3 = _v2.to_value
2455
- _v4 = GObject::ObjectClass.wrap(_v3)
2456
- _v4
2127
+ _v2 = GObject::ObjectClass.get_value_from_pointer(_v1, 0)
2128
+ _v3 = GObject::ObjectClass.wrap(_v2)
2129
+ _v3
2457
2130
  end
2458
2131
  def reserved1
2459
2132
  _v1 = (@struct.to_ptr + 152)
2460
- _v2 = GirFFI::InOutPointer.new(GObject::Reserved1, _v1)
2461
- _v3 = _v2.to_value
2462
- _v3
2133
+ _v2 = GObject::Reserved1.get_value_from_pointer(_v1, 0)
2134
+ _v2
2463
2135
  end
2464
2136
  def reserved2
2465
2137
  _v1 = (@struct.to_ptr + 160)
2466
- _v2 = GirFFI::InOutPointer.new(GObject::Reserved2, _v1)
2467
- _v3 = _v2.to_value
2468
- _v3
2138
+ _v2 = GObject::Reserved2.get_value_from_pointer(_v1, 0)
2139
+ _v2
2469
2140
  end
2470
2141
  def reserved3
2471
2142
  _v1 = (@struct.to_ptr + 168)
2472
- _v2 = GirFFI::InOutPointer.new(GObject::Reserved3, _v1)
2473
- _v3 = _v2.to_value
2474
- _v3
2143
+ _v2 = GObject::Reserved3.get_value_from_pointer(_v1, 0)
2144
+ _v2
2475
2145
  end
2476
2146
  def reserved4
2477
2147
  _v1 = (@struct.to_ptr + 176)
2478
- _v2 = GirFFI::InOutPointer.new(GObject::Reserved4, _v1)
2479
- _v3 = _v2.to_value
2480
- _v3
2148
+ _v2 = GObject::Reserved4.get_value_from_pointer(_v1, 0)
2149
+ _v2
2481
2150
  end
2482
2151
  def unload
2483
2152
  _v1 = (@struct.to_ptr + 144)
2484
- _v2 = GirFFI::InOutPointer.new(GObject::Unload, _v1)
2485
- _v3 = _v2.to_value
2486
- _v3
2153
+ _v2 = GObject::Unload.get_value_from_pointer(_v1, 0)
2154
+ _v2
2487
2155
  end
2488
2156
  end
2489
2157
  # XXX: Don't know how to print interface
@@ -2491,58 +2159,49 @@ module GObject
2491
2159
 
2492
2160
  def base_iface
2493
2161
  _v1 = (@struct.to_ptr + 0)
2494
- _v2 = GirFFI::InOutPointer.new(GObject::TypeInterface, _v1)
2495
- _v3 = _v2.to_value
2496
- _v4 = GObject::TypeInterface.wrap(_v3)
2497
- _v4
2162
+ _v2 = GObject::TypeInterface.get_value_from_pointer(_v1, 0)
2163
+ _v3 = GObject::TypeInterface.wrap(_v2)
2164
+ _v3
2498
2165
  end
2499
2166
  def complete_interface_info
2500
2167
  _v1 = (@struct.to_ptr + 40)
2501
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginCompleteInterfaceInfo, _v1)
2502
- _v3 = _v2.to_value
2503
- _v3
2168
+ _v2 = GObject::TypePluginCompleteInterfaceInfo.get_value_from_pointer(_v1, 0)
2169
+ _v2
2504
2170
  end
2505
2171
  def complete_interface_info=(value)
2506
2172
  _v1 = (@struct.to_ptr + 40)
2507
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginCompleteInterfaceInfo, _v1)
2508
- _v3 = GObject::TypePluginCompleteInterfaceInfo.from(value)
2509
- _v2.set_value(_v3)
2173
+ _v2 = GObject::TypePluginCompleteInterfaceInfo.from(value)
2174
+ GObject::TypePluginCompleteInterfaceInfo.copy_value_to_pointer(_v2, _v1)
2510
2175
  end
2511
2176
  def complete_type_info
2512
2177
  _v1 = (@struct.to_ptr + 32)
2513
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginCompleteTypeInfo, _v1)
2514
- _v3 = _v2.to_value
2515
- _v3
2178
+ _v2 = GObject::TypePluginCompleteTypeInfo.get_value_from_pointer(_v1, 0)
2179
+ _v2
2516
2180
  end
2517
2181
  def complete_type_info=(value)
2518
2182
  _v1 = (@struct.to_ptr + 32)
2519
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginCompleteTypeInfo, _v1)
2520
- _v3 = GObject::TypePluginCompleteTypeInfo.from(value)
2521
- _v2.set_value(_v3)
2183
+ _v2 = GObject::TypePluginCompleteTypeInfo.from(value)
2184
+ GObject::TypePluginCompleteTypeInfo.copy_value_to_pointer(_v2, _v1)
2522
2185
  end
2523
2186
  def unuse_plugin
2524
2187
  _v1 = (@struct.to_ptr + 24)
2525
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginUnuse, _v1)
2526
- _v3 = _v2.to_value
2527
- _v3
2188
+ _v2 = GObject::TypePluginUnuse.get_value_from_pointer(_v1, 0)
2189
+ _v2
2528
2190
  end
2529
2191
  def unuse_plugin=(value)
2530
2192
  _v1 = (@struct.to_ptr + 24)
2531
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginUnuse, _v1)
2532
- _v3 = GObject::TypePluginUnuse.from(value)
2533
- _v2.set_value(_v3)
2193
+ _v2 = GObject::TypePluginUnuse.from(value)
2194
+ GObject::TypePluginUnuse.copy_value_to_pointer(_v2, _v1)
2534
2195
  end
2535
2196
  def use_plugin
2536
2197
  _v1 = (@struct.to_ptr + 16)
2537
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginUse, _v1)
2538
- _v3 = _v2.to_value
2539
- _v3
2198
+ _v2 = GObject::TypePluginUse.get_value_from_pointer(_v1, 0)
2199
+ _v2
2540
2200
  end
2541
2201
  def use_plugin=(value)
2542
2202
  _v1 = (@struct.to_ptr + 16)
2543
- _v2 = GirFFI::InOutPointer.new(GObject::TypePluginUse, _v1)
2544
- _v3 = GObject::TypePluginUse.from(value)
2545
- _v2.set_value(_v3)
2203
+ _v2 = GObject::TypePluginUse.from(value)
2204
+ GObject::TypePluginUse.copy_value_to_pointer(_v2, _v1)
2546
2205
  end
2547
2206
  end
2548
2207
  # XXX: Don't know how to print callback
@@ -2553,122 +2212,109 @@ module GObject
2553
2212
 
2554
2213
  def class_size
2555
2214
  _v1 = (@struct.to_ptr + 16)
2556
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2557
- _v3 = _v2.to_value
2558
- _v3
2215
+ _v2 = _v1.get_uint32(0)
2216
+ _v2
2559
2217
  end
2560
2218
  def class_size=(value)
2561
2219
  _v1 = (@struct.to_ptr + 16)
2562
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2563
- _v3 = value
2564
- _v2.set_value(_v3)
2220
+ _v2 = value
2221
+ _v1.put_uint32(0, _v2)
2565
2222
  end
2566
2223
  def instance_size
2567
2224
  _v1 = (@struct.to_ptr + 20)
2568
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2569
- _v3 = _v2.to_value
2570
- _v3
2225
+ _v2 = _v1.get_uint32(0)
2226
+ _v2
2571
2227
  end
2572
2228
  def instance_size=(value)
2573
2229
  _v1 = (@struct.to_ptr + 20)
2574
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
2575
- _v3 = value
2576
- _v2.set_value(_v3)
2230
+ _v2 = value
2231
+ _v1.put_uint32(0, _v2)
2577
2232
  end
2578
2233
  def type
2579
2234
  _v1 = (@struct.to_ptr + 0)
2580
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2581
- _v3 = _v2.to_value
2582
- _v3
2235
+ _v2 = _v1.get_uint64(0)
2236
+ _v2
2583
2237
  end
2584
2238
  def type=(value)
2585
2239
  _v1 = (@struct.to_ptr + 0)
2586
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2587
- _v3 = value
2588
- _v2.set_value(_v3)
2240
+ _v2 = value
2241
+ _v1.put_uint64(0, _v2)
2589
2242
  end
2590
2243
  def type_name
2591
2244
  _v1 = (@struct.to_ptr + 8)
2592
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2593
- _v3 = _v2.to_value
2594
- _v4 = _v3.to_utf8
2595
- _v4
2245
+ _v2 = _v1.get_pointer(0)
2246
+ _v3 = _v2.to_utf8
2247
+ _v3
2596
2248
  end
2597
2249
  def type_name=(value)
2598
2250
  _v1 = (@struct.to_ptr + 8)
2599
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2600
- _v3 = GirFFI::InPointer.from(:utf8, value)
2601
- _v2.set_value(_v3)
2251
+ _v2 = GirFFI::InPointer.from_utf8(value)
2252
+ _v1.put_pointer(0, _v2)
2602
2253
  end
2603
2254
  end
2604
2255
  class GObject::TypeValueTable < GirFFI::StructBase
2605
2256
 
2606
2257
  def collect_format
2607
2258
  _v1 = (@struct.to_ptr + 32)
2608
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2609
- _v3 = _v2.to_value
2610
- _v4 = _v3.to_utf8
2611
- _v4
2259
+ _v2 = _v1.get_pointer(0)
2260
+ _v3 = _v2.to_utf8
2261
+ _v3
2612
2262
  end
2613
2263
  def collect_format=(value)
2614
2264
  _v1 = (@struct.to_ptr + 32)
2615
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2616
- _v3 = GirFFI::InPointer.from(:utf8, value)
2617
- _v2.set_value(_v3)
2265
+ _v2 = GirFFI::InPointer.from_utf8(value)
2266
+ _v1.put_pointer(0, _v2)
2618
2267
  end
2619
2268
  def collect_value
2620
2269
  _v1 = (@struct.to_ptr + 40)
2621
- _v2 = GirFFI::InOutPointer.new(GObject::Collect_value, _v1)
2622
- _v3 = _v2.to_value
2623
- _v3
2270
+ _v2 = GObject::Collect_value.get_value_from_pointer(_v1, 0)
2271
+ _v2
2624
2272
  end
2625
2273
  def lcopy_format
2626
2274
  _v1 = (@struct.to_ptr + 48)
2627
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2628
- _v3 = _v2.to_value
2629
- _v4 = _v3.to_utf8
2630
- _v4
2275
+ _v2 = _v1.get_pointer(0)
2276
+ _v3 = _v2.to_utf8
2277
+ _v3
2631
2278
  end
2632
2279
  def lcopy_format=(value)
2633
2280
  _v1 = (@struct.to_ptr + 48)
2634
- _v2 = GirFFI::InOutPointer.new(:utf8, _v1)
2635
- _v3 = GirFFI::InPointer.from(:utf8, value)
2636
- _v2.set_value(_v3)
2281
+ _v2 = GirFFI::InPointer.from_utf8(value)
2282
+ _v1.put_pointer(0, _v2)
2637
2283
  end
2638
2284
  def lcopy_value
2639
2285
  _v1 = (@struct.to_ptr + 56)
2640
- _v2 = GirFFI::InOutPointer.new(GObject::Lcopy_value, _v1)
2641
- _v3 = _v2.to_value
2642
- _v3
2286
+ _v2 = GObject::Lcopy_value.get_value_from_pointer(_v1, 0)
2287
+ _v2
2643
2288
  end
2644
2289
  def value_copy
2645
2290
  _v1 = (@struct.to_ptr + 16)
2646
- _v2 = GirFFI::InOutPointer.new(GObject::Value_copy, _v1)
2647
- _v3 = _v2.to_value
2648
- _v3
2291
+ _v2 = GObject::Value_copy.get_value_from_pointer(_v1, 0)
2292
+ _v2
2649
2293
  end
2650
2294
  def value_free
2651
2295
  _v1 = (@struct.to_ptr + 8)
2652
- _v2 = GirFFI::InOutPointer.new(GObject::Value_free, _v1)
2653
- _v3 = _v2.to_value
2654
- _v3
2296
+ _v2 = GObject::Value_free.get_value_from_pointer(_v1, 0)
2297
+ _v2
2655
2298
  end
2656
2299
  def value_init
2657
2300
  _v1 = (@struct.to_ptr + 0)
2658
- _v2 = GirFFI::InOutPointer.new(GObject::Value_init, _v1)
2659
- _v3 = _v2.to_value
2660
- _v3
2301
+ _v2 = GObject::Value_init.get_value_from_pointer(_v1, 0)
2302
+ _v2
2661
2303
  end
2662
2304
  def value_peek_pointer
2663
2305
  _v1 = (@struct.to_ptr + 24)
2664
- _v2 = GirFFI::InOutPointer.new([:pointer, :void], _v1)
2665
- _v3 = _v2.to_value
2666
- _v3
2306
+ _v2 = GObject::Value_peek_pointer.get_value_from_pointer(_v1, 0)
2307
+ _v2
2667
2308
  end
2668
2309
  end
2669
2310
  VALUE_COLLECT_FORMAT_MAX_LENGTH = 8
2670
2311
  VALUE_NOCOPY_CONTENTS = 134217728
2671
- class GObject::Value < GirFFI::StructBase
2312
+ class GObject::Value < GirFFI::BoxedBase
2313
+ def self.copy_value_to_pointer(value, pointer, offset = 0)
2314
+ target = wrap((pointer + offset))
2315
+ target.init(value.current_gtype)
2316
+ Lib.g_value_copy(value, target) unless value.uninitialized?
2317
+ end
2672
2318
  def self.for_gtype(gtype)
2673
2319
  new.tap { |it| it.init(gtype) }
2674
2320
  end
@@ -2680,8 +2326,14 @@ module GObject
2680
2326
  wrap_ruby_value(val)
2681
2327
  end
2682
2328
  end
2683
- def self.make_finalizer(ptr)
2684
- proc { GObject::Lib.g_value_unset(ptr) }
2329
+ def self.make_finalizer(struct)
2330
+ proc do
2331
+ if struct.owned? then
2332
+ ptr = struct.to_ptr
2333
+ Lib.g_value_unset(ptr) unless (struct[:g_type] == TYPE_INVALID)
2334
+ GObject.boxed_free(gtype, ptr)
2335
+ end
2336
+ end
2685
2337
  end
2686
2338
  def self.type_compatible(src_type, dest_type)
2687
2339
  _v1 = src_type
@@ -2695,14 +2347,12 @@ module GObject
2695
2347
  _v3 = GObject::Lib.g_value_type_transformable(_v1, _v2)
2696
2348
  return _v3
2697
2349
  end
2698
- # TODO: Combine with wrap_ruby_value
2699
2350
  def self.wrap_instance(instance)
2700
2351
  new.tap do |it|
2701
2352
  it.init(GObject.type_from_instance(instance))
2702
2353
  it.set_instance(instance)
2703
2354
  end
2704
2355
  end
2705
- # TODO: Give more generic name
2706
2356
  def self.wrap_ruby_value(val)
2707
2357
  new.tap { |gv| gv.__send__(:set_ruby_value, val) }
2708
2358
  end
@@ -2721,17 +2371,15 @@ module GObject
2721
2371
  end
2722
2372
  def data
2723
2373
  _v1 = (@struct.to_ptr + 8)
2724
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
2725
- _v3 = _v2.to_value
2726
- _v4 = GirFFI::SizedArray.wrap(GObject::Private___Value__data__union, 2, _v3)
2727
- _v4
2374
+ _v2 = GirFFI::SizedArray.get_value_from_pointer(_v1, 0)
2375
+ _v3 = GirFFI::SizedArray.wrap(GObject::Private___Value__data__union, 2, _v2)
2376
+ _v3
2728
2377
  end
2729
2378
  def data=(value)
2730
2379
  _v1 = (@struct.to_ptr + 8)
2731
- _v2 = GirFFI::InOutPointer.new(:c, _v1)
2732
2380
  GirFFI::ArgHelper.check_fixed_array_size(2, value, "value")
2733
- _v3 = GirFFI::SizedArray.from(GObject::Private___Value__data__union, 2, value)
2734
- _v2.set_value(_v3)
2381
+ _v2 = GirFFI::SizedArray.copy_from(GObject::Private___Value__data__union, 2, value)
2382
+ GirFFI::SizedArray.copy_value_to_pointer(_v2, _v1)
2735
2383
  end
2736
2384
  def dup_object
2737
2385
  _v1 = GObject::Lib.g_value_dup_object(self)
@@ -2740,12 +2388,12 @@ module GObject
2740
2388
  end
2741
2389
  def dup_string
2742
2390
  _v1 = GObject::Lib.g_value_dup_string(self)
2743
- _v2 = _v1.to_utf8
2391
+ _v2 = GirFFI::AllocationHelper.free_after(_v1, &:to_utf8)
2744
2392
  return _v2
2745
2393
  end
2746
2394
  def dup_variant
2747
2395
  _v1 = GObject::Lib.g_value_dup_variant(self)
2748
- _v2 = GLib::Variant.wrap(_v1)
2396
+ _v2 = GLib::Variant.wrap_own(_v1)
2749
2397
  return _v2
2750
2398
  end
2751
2399
  def fits_pointer
@@ -2754,9 +2402,8 @@ module GObject
2754
2402
  end
2755
2403
  def g_type
2756
2404
  _v1 = (@struct.to_ptr + 0)
2757
- _v2 = GirFFI::InOutPointer.new(:GType, _v1)
2758
- _v3 = _v2.to_value
2759
- _v3
2405
+ _v2 = _v1.get_uint64(0)
2406
+ _v2
2760
2407
  end
2761
2408
  def get_boolean
2762
2409
  _v1 = GObject::Lib.g_value_get_boolean(self)
@@ -2804,12 +2451,12 @@ module GObject
2804
2451
  end
2805
2452
  def get_object
2806
2453
  _v1 = GObject::Lib.g_value_get_object(self)
2807
- _v2 = GObject::Object.wrap(_v1)
2454
+ _v2 = GObject::Object.wrap(_v1).tap { |it| it and it.ref }
2808
2455
  return _v2
2809
2456
  end
2810
2457
  def get_param
2811
2458
  _v1 = GObject::Lib.g_value_get_param(self)
2812
- _v2 = GObject::ParamSpec.wrap(_v1)
2459
+ _v2 = GObject::ParamSpec.wrap(_v1).tap { |it| it and it.ref }
2813
2460
  return _v2
2814
2461
  end
2815
2462
  def get_pointer
@@ -2850,25 +2497,19 @@ module GObject
2850
2497
  end
2851
2498
  def get_variant
2852
2499
  _v1 = GObject::Lib.g_value_get_variant(self)
2853
- _v2 = GLib::Variant.wrap(_v1)
2500
+ _v2 = GLib::Variant.wrap_own(_v1)
2854
2501
  return _v2
2855
2502
  end
2856
- def init_with_finalizer(type)
2857
- return self if [TYPE_NONE, TYPE_INVALID].include?(type)
2858
- init_without_finalizer(type)
2859
- ObjectSpace.define_finalizer(self, self.class.make_finalizer(to_ptr))
2503
+ def init(type)
2504
+ unless [TYPE_NONE, TYPE_INVALID].include?(type) then
2505
+ Lib.g_value_init(self, type)
2506
+ end
2860
2507
  self
2861
2508
  end
2862
2509
  def init_from_instance(instance)
2863
- _v1 = GirFFI::InPointer.from(:void, instance)
2510
+ _v1 = GObject::TypeInstance.from(instance)
2864
2511
  GObject::Lib.g_value_init_from_instance(self, _v1)
2865
2512
  end
2866
- def init(g_type)
2867
- _v1 = g_type
2868
- _v2 = GObject::Lib.g_value_init(self, _v1)
2869
- _v3 = GObject::Value.wrap(_v2).get_value
2870
- return _v3
2871
- end
2872
2513
  def peek_pointer
2873
2514
  _v1 = GObject::Lib.g_value_peek_pointer(self)
2874
2515
  return _v1
@@ -2882,12 +2523,12 @@ module GObject
2882
2523
  _v1 = v_boolean
2883
2524
  GObject::Lib.g_value_set_boolean(self, _v1)
2884
2525
  end
2885
- def set_boxed(v_boxed)
2886
- _v1 = GirFFI::InPointer.from(:void, v_boxed)
2526
+ def set_boxed(v_boxed = nil)
2527
+ _v1 = v_boxed
2887
2528
  GObject::Lib.g_value_set_boxed(self, _v1)
2888
2529
  end
2889
- def set_boxed_take_ownership(v_boxed)
2890
- _v1 = GirFFI::InPointer.from(:void, v_boxed)
2530
+ def set_boxed_take_ownership(v_boxed = nil)
2531
+ _v1 = v_boxed
2891
2532
  GObject::Lib.g_value_set_boxed_take_ownership(self, _v1)
2892
2533
  end
2893
2534
  def set_char(v_char)
@@ -2914,8 +2555,8 @@ module GObject
2914
2555
  _v1 = v_gtype
2915
2556
  GObject::Lib.g_value_set_gtype(self, _v1)
2916
2557
  end
2917
- def set_instance(instance)
2918
- _v1 = GirFFI::InPointer.from(:void, instance)
2558
+ def set_instance(instance = nil)
2559
+ _v1 = instance
2919
2560
  GObject::Lib.g_value_set_instance(self, _v1)
2920
2561
  end
2921
2562
  def set_int(v_int)
@@ -2930,36 +2571,36 @@ module GObject
2930
2571
  _v1 = v_long
2931
2572
  GObject::Lib.g_value_set_long(self, _v1)
2932
2573
  end
2933
- def set_object(v_object)
2574
+ def set_object(v_object = nil)
2934
2575
  _v1 = GObject::Object.from(v_object)
2935
2576
  GObject::Lib.g_value_set_object(self, _v1)
2936
2577
  end
2937
- def set_param(param)
2578
+ def set_param(param = nil)
2938
2579
  _v1 = GObject::ParamSpec.from(param)
2939
2580
  GObject::Lib.g_value_set_param(self, _v1)
2940
2581
  end
2941
- def set_pointer(v_pointer)
2942
- _v1 = GirFFI::InPointer.from(:void, v_pointer)
2582
+ def set_pointer(v_pointer = nil)
2583
+ _v1 = v_pointer
2943
2584
  GObject::Lib.g_value_set_pointer(self, _v1)
2944
2585
  end
2945
2586
  def set_schar(v_char)
2946
2587
  _v1 = v_char
2947
2588
  GObject::Lib.g_value_set_schar(self, _v1)
2948
2589
  end
2949
- def set_static_boxed(v_boxed)
2950
- _v1 = GirFFI::InPointer.from(:void, v_boxed)
2590
+ def set_static_boxed(v_boxed = nil)
2591
+ _v1 = v_boxed
2951
2592
  GObject::Lib.g_value_set_static_boxed(self, _v1)
2952
2593
  end
2953
- def set_static_string(v_string)
2954
- _v1 = GirFFI::InPointer.from(:utf8, v_string)
2594
+ def set_static_string(v_string = nil)
2595
+ _v1 = GirFFI::InPointer.from_utf8(v_string)
2955
2596
  GObject::Lib.g_value_set_static_string(self, _v1)
2956
2597
  end
2957
- def set_string(v_string)
2958
- _v1 = GirFFI::InPointer.from(:utf8, v_string)
2598
+ def set_string(v_string = nil)
2599
+ _v1 = GirFFI::InPointer.from_utf8(v_string)
2959
2600
  GObject::Lib.g_value_set_string(self, _v1)
2960
2601
  end
2961
- def set_string_take_ownership(v_string)
2962
- _v1 = GirFFI::InPointer.from(:utf8, v_string)
2602
+ def set_string_take_ownership(v_string = nil)
2603
+ _v1 = GirFFI::InPointer.from_utf8(v_string)
2963
2604
  GObject::Lib.g_value_set_string_take_ownership(self, _v1)
2964
2605
  end
2965
2606
  def set_uchar(v_uchar)
@@ -2982,20 +2623,20 @@ module GObject
2982
2623
  def set_value(val)
2983
2624
  send(set_method, val)
2984
2625
  end
2985
- def set_variant(variant)
2626
+ def set_variant(variant = nil)
2986
2627
  _v1 = GLib::Variant.from(variant)
2987
2628
  GObject::Lib.g_value_set_variant(self, _v1)
2988
2629
  end
2989
- def take_boxed(v_boxed)
2990
- _v1 = GirFFI::InPointer.from(:void, v_boxed)
2630
+ def take_boxed(v_boxed = nil)
2631
+ _v1 = v_boxed
2991
2632
  GObject::Lib.g_value_take_boxed(self, _v1)
2992
2633
  end
2993
- def take_string(v_string)
2994
- _v1 = GirFFI::InPointer.from(:utf8, v_string)
2634
+ def take_string(v_string = nil)
2635
+ _v1 = GirFFI::InPointer.from_utf8(v_string)
2995
2636
  GObject::Lib.g_value_take_string(self, _v1)
2996
2637
  end
2997
- def take_variant(variant)
2998
- _v1 = GLib::Variant.from(variant)
2638
+ def take_variant(variant = nil)
2639
+ _v1 = GLib::Variant.copy_from(variant)
2999
2640
  GObject::Lib.g_value_take_variant(self, _v1)
3000
2641
  end
3001
2642
  def transform(dest_value)
@@ -3003,28 +2644,29 @@ module GObject
3003
2644
  _v2 = GObject::Lib.g_value_transform(self, _v1)
3004
2645
  return _v2
3005
2646
  end
2647
+ def uninitialized?
2648
+ (current_gtype == TYPE_INVALID)
2649
+ end
3006
2650
  def unset
3007
2651
  GObject::Lib.g_value_unset(self)
3008
2652
  end
3009
- alias_method 'init', 'init_with_finalizer'
3010
- alias_method 'init_without_finalizer', 'init'
3011
2653
  alias_method 'value=', 'set_value'
3012
2654
  end
3013
- class GObject::ValueArray < GirFFI::StructBase
2655
+ class GObject::ValueArray < GirFFI::BoxedBase
3014
2656
  def self.new(*args, &block)
3015
2657
  obj = allocate
3016
2658
  obj.__send__(:initialize, *args, &block)
3017
2659
  obj
3018
2660
  end
3019
- def append(value)
2661
+ def append(value = nil)
3020
2662
  _v1 = GObject::Value.from(value)
3021
2663
  _v2 = GObject::Lib.g_value_array_append(self, _v1)
3022
- _v3 = GObject::ValueArray.wrap(_v2)
2664
+ _v3 = GObject::ValueArray.wrap_copy(_v2)
3023
2665
  return _v3
3024
2666
  end
3025
2667
  def copy
3026
2668
  _v1 = GObject::Lib.g_value_array_copy(self)
3027
- _v2 = GObject::ValueArray.wrap(_v1)
2669
+ _v2 = GObject::ValueArray.wrap_own(_v1)
3028
2670
  return _v2
3029
2671
  end
3030
2672
  def free
@@ -3036,62 +2678,57 @@ module GObject
3036
2678
  _v3 = GObject::Value.wrap(_v2).get_value
3037
2679
  return _v3
3038
2680
  end
3039
- def insert(index_, value)
2681
+ def insert(index_, value = nil)
3040
2682
  _v1 = index_
3041
2683
  _v2 = GObject::Value.from(value)
3042
2684
  _v3 = GObject::Lib.g_value_array_insert(self, _v1, _v2)
3043
- _v4 = GObject::ValueArray.wrap(_v3)
2685
+ _v4 = GObject::ValueArray.wrap_copy(_v3)
3044
2686
  return _v4
3045
2687
  end
3046
2688
  def n_prealloced
3047
2689
  _v1 = (@struct.to_ptr + 16)
3048
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
3049
- _v3 = _v2.to_value
3050
- _v3
2690
+ _v2 = _v1.get_uint32(0)
2691
+ _v2
3051
2692
  end
3052
2693
  def n_values
3053
2694
  _v1 = (@struct.to_ptr + 0)
3054
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
3055
- _v3 = _v2.to_value
3056
- _v3
2695
+ _v2 = _v1.get_uint32(0)
2696
+ _v2
3057
2697
  end
3058
2698
  def n_values=(value)
3059
2699
  _v1 = (@struct.to_ptr + 0)
3060
- _v2 = GirFFI::InOutPointer.new(:guint32, _v1)
3061
- _v3 = value
3062
- _v2.set_value(_v3)
2700
+ _v2 = value
2701
+ _v1.put_uint32(0, _v2)
3063
2702
  end
3064
- def prepend(value)
2703
+ def prepend(value = nil)
3065
2704
  _v1 = GObject::Value.from(value)
3066
2705
  _v2 = GObject::Lib.g_value_array_prepend(self, _v1)
3067
- _v3 = GObject::ValueArray.wrap(_v2)
2706
+ _v3 = GObject::ValueArray.wrap_copy(_v2)
3068
2707
  return _v3
3069
2708
  end
3070
2709
  def remove(index_)
3071
2710
  _v1 = index_
3072
2711
  _v2 = GObject::Lib.g_value_array_remove(self, _v1)
3073
- _v3 = GObject::ValueArray.wrap(_v2)
2712
+ _v3 = GObject::ValueArray.wrap_copy(_v2)
3074
2713
  return _v3
3075
2714
  end
3076
2715
  def sort(&compare_func)
3077
2716
  _v1 = GLib::CompareDataFunc.from(compare_func)
3078
- _v2 = GirFFI::InPointer.from_closure_data(_v1.object_id)
2717
+ _v2 = GirFFI::ArgHelper.store(_v1)
3079
2718
  _v3 = GObject::Lib.g_value_array_sort_with_data(self, _v1, _v2)
3080
- _v4 = GObject::ValueArray.wrap(_v3)
2719
+ _v4 = GObject::ValueArray.wrap_copy(_v3)
3081
2720
  return _v4
3082
2721
  end
3083
2722
  def values
3084
2723
  _v1 = (@struct.to_ptr + 8)
3085
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::Value], _v1)
3086
- _v3 = _v2.to_value
3087
- _v4 = GObject::Value.wrap(_v3)
3088
- _v4
2724
+ _v2 = _v1.get_pointer(0)
2725
+ _v3 = GObject::Value.wrap(_v2)
2726
+ _v3
3089
2727
  end
3090
2728
  def values=(value)
3091
2729
  _v1 = (@struct.to_ptr + 8)
3092
- _v2 = GirFFI::InOutPointer.new([:pointer, GObject::Value], _v1)
3093
- _v3 = GObject::Value.from(value)
3094
- _v2.set_value(_v3)
2730
+ _v2 = GObject::Value.copy_from(value)
2731
+ _v1.put_pointer(0, _v2)
3095
2732
  end
3096
2733
  end
3097
2734
  # XXX: Don't know how to print callback
@@ -3103,300 +2740,314 @@ module GObject
3103
2740
  # XXX: Don't know how to print union
3104
2741
  def self.boxed_copy(boxed_type, src_boxed)
3105
2742
  _v1 = boxed_type
3106
- _v2 = GirFFI::InPointer.from(:void, src_boxed)
2743
+ _v2 = src_boxed
3107
2744
  _v3 = GObject::Lib.g_boxed_copy(_v1, _v2)
3108
2745
  return _v3
3109
2746
  end
3110
2747
  def self.boxed_free(boxed_type, boxed)
3111
2748
  _v1 = boxed_type
3112
- _v2 = GirFFI::InPointer.from(:void, boxed)
2749
+ _v2 = boxed
3113
2750
  GObject::Lib.g_boxed_free(_v1, _v2)
3114
2751
  end
3115
- def self.cclosure_marshal_BOOLEAN__BOXED_BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2752
+ def self.cclosure_marshal_BOOLEAN__BOXED_BOXED(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3116
2753
  _v1 = GObject::Closure.from(closure)
3117
2754
  _v2 = GObject::Value.from(return_value)
3118
2755
  _v3 = n_param_values
3119
2756
  _v4 = GObject::Value.from(param_values)
3120
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3121
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2757
+ _v5 = invocation_hint
2758
+ _v6 = marshal_data
3122
2759
  GObject::Lib.g_cclosure_marshal_BOOLEAN__BOXED_BOXED(_v1, _v2, _v3, _v4, _v5, _v6)
3123
2760
  end
3124
- def self.cclosure_marshal_BOOLEAN__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2761
+ def self.cclosure_marshal_BOOLEAN__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3125
2762
  _v1 = GObject::Closure.from(closure)
3126
2763
  _v2 = GObject::Value.from(return_value)
3127
2764
  _v3 = n_param_values
3128
2765
  _v4 = GObject::Value.from(param_values)
3129
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3130
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2766
+ _v5 = invocation_hint
2767
+ _v6 = marshal_data
3131
2768
  GObject::Lib.g_cclosure_marshal_BOOLEAN__FLAGS(_v1, _v2, _v3, _v4, _v5, _v6)
3132
2769
  end
3133
- def self.cclosure_marshal_STRING__OBJECT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2770
+ def self.cclosure_marshal_STRING__OBJECT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3134
2771
  _v1 = GObject::Closure.from(closure)
3135
2772
  _v2 = GObject::Value.from(return_value)
3136
2773
  _v3 = n_param_values
3137
2774
  _v4 = GObject::Value.from(param_values)
3138
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3139
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2775
+ _v5 = invocation_hint
2776
+ _v6 = marshal_data
3140
2777
  GObject::Lib.g_cclosure_marshal_STRING__OBJECT_POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
3141
2778
  end
3142
- def self.cclosure_marshal_VOID__BOOLEAN(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2779
+ def self.cclosure_marshal_VOID__BOOLEAN(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3143
2780
  _v1 = GObject::Closure.from(closure)
3144
2781
  _v2 = GObject::Value.from(return_value)
3145
2782
  _v3 = n_param_values
3146
2783
  _v4 = GObject::Value.from(param_values)
3147
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3148
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2784
+ _v5 = invocation_hint
2785
+ _v6 = marshal_data
3149
2786
  GObject::Lib.g_cclosure_marshal_VOID__BOOLEAN(_v1, _v2, _v3, _v4, _v5, _v6)
3150
2787
  end
3151
- def self.cclosure_marshal_VOID__BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2788
+ def self.cclosure_marshal_VOID__BOXED(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3152
2789
  _v1 = GObject::Closure.from(closure)
3153
2790
  _v2 = GObject::Value.from(return_value)
3154
2791
  _v3 = n_param_values
3155
2792
  _v4 = GObject::Value.from(param_values)
3156
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3157
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2793
+ _v5 = invocation_hint
2794
+ _v6 = marshal_data
3158
2795
  GObject::Lib.g_cclosure_marshal_VOID__BOXED(_v1, _v2, _v3, _v4, _v5, _v6)
3159
2796
  end
3160
- def self.cclosure_marshal_VOID__CHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2797
+ def self.cclosure_marshal_VOID__CHAR(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3161
2798
  _v1 = GObject::Closure.from(closure)
3162
2799
  _v2 = GObject::Value.from(return_value)
3163
2800
  _v3 = n_param_values
3164
2801
  _v4 = GObject::Value.from(param_values)
3165
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3166
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2802
+ _v5 = invocation_hint
2803
+ _v6 = marshal_data
3167
2804
  GObject::Lib.g_cclosure_marshal_VOID__CHAR(_v1, _v2, _v3, _v4, _v5, _v6)
3168
2805
  end
3169
- def self.cclosure_marshal_VOID__DOUBLE(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2806
+ def self.cclosure_marshal_VOID__DOUBLE(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3170
2807
  _v1 = GObject::Closure.from(closure)
3171
2808
  _v2 = GObject::Value.from(return_value)
3172
2809
  _v3 = n_param_values
3173
2810
  _v4 = GObject::Value.from(param_values)
3174
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3175
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2811
+ _v5 = invocation_hint
2812
+ _v6 = marshal_data
3176
2813
  GObject::Lib.g_cclosure_marshal_VOID__DOUBLE(_v1, _v2, _v3, _v4, _v5, _v6)
3177
2814
  end
3178
- def self.cclosure_marshal_VOID__ENUM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2815
+ def self.cclosure_marshal_VOID__ENUM(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3179
2816
  _v1 = GObject::Closure.from(closure)
3180
2817
  _v2 = GObject::Value.from(return_value)
3181
2818
  _v3 = n_param_values
3182
2819
  _v4 = GObject::Value.from(param_values)
3183
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3184
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2820
+ _v5 = invocation_hint
2821
+ _v6 = marshal_data
3185
2822
  GObject::Lib.g_cclosure_marshal_VOID__ENUM(_v1, _v2, _v3, _v4, _v5, _v6)
3186
2823
  end
3187
- def self.cclosure_marshal_VOID__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2824
+ def self.cclosure_marshal_VOID__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3188
2825
  _v1 = GObject::Closure.from(closure)
3189
2826
  _v2 = GObject::Value.from(return_value)
3190
2827
  _v3 = n_param_values
3191
2828
  _v4 = GObject::Value.from(param_values)
3192
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3193
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2829
+ _v5 = invocation_hint
2830
+ _v6 = marshal_data
3194
2831
  GObject::Lib.g_cclosure_marshal_VOID__FLAGS(_v1, _v2, _v3, _v4, _v5, _v6)
3195
2832
  end
3196
- def self.cclosure_marshal_VOID__FLOAT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2833
+ def self.cclosure_marshal_VOID__FLOAT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3197
2834
  _v1 = GObject::Closure.from(closure)
3198
2835
  _v2 = GObject::Value.from(return_value)
3199
2836
  _v3 = n_param_values
3200
2837
  _v4 = GObject::Value.from(param_values)
3201
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3202
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2838
+ _v5 = invocation_hint
2839
+ _v6 = marshal_data
3203
2840
  GObject::Lib.g_cclosure_marshal_VOID__FLOAT(_v1, _v2, _v3, _v4, _v5, _v6)
3204
2841
  end
3205
- def self.cclosure_marshal_VOID__INT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2842
+ def self.cclosure_marshal_VOID__INT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3206
2843
  _v1 = GObject::Closure.from(closure)
3207
2844
  _v2 = GObject::Value.from(return_value)
3208
2845
  _v3 = n_param_values
3209
2846
  _v4 = GObject::Value.from(param_values)
3210
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3211
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2847
+ _v5 = invocation_hint
2848
+ _v6 = marshal_data
3212
2849
  GObject::Lib.g_cclosure_marshal_VOID__INT(_v1, _v2, _v3, _v4, _v5, _v6)
3213
2850
  end
3214
- def self.cclosure_marshal_VOID__LONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2851
+ def self.cclosure_marshal_VOID__LONG(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3215
2852
  _v1 = GObject::Closure.from(closure)
3216
2853
  _v2 = GObject::Value.from(return_value)
3217
2854
  _v3 = n_param_values
3218
2855
  _v4 = GObject::Value.from(param_values)
3219
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3220
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2856
+ _v5 = invocation_hint
2857
+ _v6 = marshal_data
3221
2858
  GObject::Lib.g_cclosure_marshal_VOID__LONG(_v1, _v2, _v3, _v4, _v5, _v6)
3222
2859
  end
3223
- def self.cclosure_marshal_VOID__OBJECT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2860
+ def self.cclosure_marshal_VOID__OBJECT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3224
2861
  _v1 = GObject::Closure.from(closure)
3225
2862
  _v2 = GObject::Value.from(return_value)
3226
2863
  _v3 = n_param_values
3227
2864
  _v4 = GObject::Value.from(param_values)
3228
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3229
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2865
+ _v5 = invocation_hint
2866
+ _v6 = marshal_data
3230
2867
  GObject::Lib.g_cclosure_marshal_VOID__OBJECT(_v1, _v2, _v3, _v4, _v5, _v6)
3231
2868
  end
3232
- def self.cclosure_marshal_VOID__PARAM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2869
+ def self.cclosure_marshal_VOID__PARAM(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3233
2870
  _v1 = GObject::Closure.from(closure)
3234
2871
  _v2 = GObject::Value.from(return_value)
3235
2872
  _v3 = n_param_values
3236
2873
  _v4 = GObject::Value.from(param_values)
3237
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3238
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2874
+ _v5 = invocation_hint
2875
+ _v6 = marshal_data
3239
2876
  GObject::Lib.g_cclosure_marshal_VOID__PARAM(_v1, _v2, _v3, _v4, _v5, _v6)
3240
2877
  end
3241
- def self.cclosure_marshal_VOID__POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2878
+ def self.cclosure_marshal_VOID__POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3242
2879
  _v1 = GObject::Closure.from(closure)
3243
2880
  _v2 = GObject::Value.from(return_value)
3244
2881
  _v3 = n_param_values
3245
2882
  _v4 = GObject::Value.from(param_values)
3246
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3247
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2883
+ _v5 = invocation_hint
2884
+ _v6 = marshal_data
3248
2885
  GObject::Lib.g_cclosure_marshal_VOID__POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
3249
2886
  end
3250
- def self.cclosure_marshal_VOID__STRING(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2887
+ def self.cclosure_marshal_VOID__STRING(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3251
2888
  _v1 = GObject::Closure.from(closure)
3252
2889
  _v2 = GObject::Value.from(return_value)
3253
2890
  _v3 = n_param_values
3254
2891
  _v4 = GObject::Value.from(param_values)
3255
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3256
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2892
+ _v5 = invocation_hint
2893
+ _v6 = marshal_data
3257
2894
  GObject::Lib.g_cclosure_marshal_VOID__STRING(_v1, _v2, _v3, _v4, _v5, _v6)
3258
2895
  end
3259
- def self.cclosure_marshal_VOID__UCHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2896
+ def self.cclosure_marshal_VOID__UCHAR(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3260
2897
  _v1 = GObject::Closure.from(closure)
3261
2898
  _v2 = GObject::Value.from(return_value)
3262
2899
  _v3 = n_param_values
3263
2900
  _v4 = GObject::Value.from(param_values)
3264
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3265
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2901
+ _v5 = invocation_hint
2902
+ _v6 = marshal_data
3266
2903
  GObject::Lib.g_cclosure_marshal_VOID__UCHAR(_v1, _v2, _v3, _v4, _v5, _v6)
3267
2904
  end
3268
- def self.cclosure_marshal_VOID__UINT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2905
+ def self.cclosure_marshal_VOID__UINT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3269
2906
  _v1 = GObject::Closure.from(closure)
3270
2907
  _v2 = GObject::Value.from(return_value)
3271
2908
  _v3 = n_param_values
3272
2909
  _v4 = GObject::Value.from(param_values)
3273
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3274
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2910
+ _v5 = invocation_hint
2911
+ _v6 = marshal_data
3275
2912
  GObject::Lib.g_cclosure_marshal_VOID__UINT(_v1, _v2, _v3, _v4, _v5, _v6)
3276
2913
  end
3277
- def self.cclosure_marshal_VOID__UINT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2914
+ def self.cclosure_marshal_VOID__UINT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3278
2915
  _v1 = GObject::Closure.from(closure)
3279
2916
  _v2 = GObject::Value.from(return_value)
3280
2917
  _v3 = n_param_values
3281
2918
  _v4 = GObject::Value.from(param_values)
3282
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3283
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2919
+ _v5 = invocation_hint
2920
+ _v6 = marshal_data
3284
2921
  GObject::Lib.g_cclosure_marshal_VOID__UINT_POINTER(_v1, _v2, _v3, _v4, _v5, _v6)
3285
2922
  end
3286
- def self.cclosure_marshal_VOID__ULONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2923
+ def self.cclosure_marshal_VOID__ULONG(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3287
2924
  _v1 = GObject::Closure.from(closure)
3288
2925
  _v2 = GObject::Value.from(return_value)
3289
2926
  _v3 = n_param_values
3290
2927
  _v4 = GObject::Value.from(param_values)
3291
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3292
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2928
+ _v5 = invocation_hint
2929
+ _v6 = marshal_data
3293
2930
  GObject::Lib.g_cclosure_marshal_VOID__ULONG(_v1, _v2, _v3, _v4, _v5, _v6)
3294
2931
  end
3295
- def self.cclosure_marshal_VOID__VARIANT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2932
+ def self.cclosure_marshal_VOID__VARIANT(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3296
2933
  _v1 = GObject::Closure.from(closure)
3297
2934
  _v2 = GObject::Value.from(return_value)
3298
2935
  _v3 = n_param_values
3299
2936
  _v4 = GObject::Value.from(param_values)
3300
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3301
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2937
+ _v5 = invocation_hint
2938
+ _v6 = marshal_data
3302
2939
  GObject::Lib.g_cclosure_marshal_VOID__VARIANT(_v1, _v2, _v3, _v4, _v5, _v6)
3303
2940
  end
3304
- def self.cclosure_marshal_VOID__VOID(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data)
2941
+ def self.cclosure_marshal_VOID__VOID(closure, return_value, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3305
2942
  _v1 = GObject::Closure.from(closure)
3306
2943
  _v2 = GObject::Value.from(return_value)
3307
2944
  _v3 = n_param_values
3308
2945
  _v4 = GObject::Value.from(param_values)
3309
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3310
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2946
+ _v5 = invocation_hint
2947
+ _v6 = marshal_data
3311
2948
  GObject::Lib.g_cclosure_marshal_VOID__VOID(_v1, _v2, _v3, _v4, _v5, _v6)
3312
2949
  end
3313
- def self.cclosure_marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint, marshal_data)
2950
+ def self.cclosure_marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint = nil, marshal_data = nil)
3314
2951
  _v1 = GObject::Closure.from(closure)
3315
2952
  _v2 = GObject::Value.from(return_gvalue)
3316
2953
  _v3 = n_param_values
3317
2954
  _v4 = GObject::Value.from(param_values)
3318
- _v5 = GirFFI::InPointer.from(:void, invocation_hint)
3319
- _v6 = GirFFI::InPointer.from(:void, marshal_data)
2955
+ _v5 = invocation_hint
2956
+ _v6 = marshal_data
3320
2957
  GObject::Lib.g_cclosure_marshal_generic(_v1, _v2, _v3, _v4, _v5, _v6)
3321
2958
  end
3322
2959
  def self.enum_complete_type_info(g_enum_type, const_values)
3323
2960
  _v1 = g_enum_type
3324
- _v2 = GirFFI::InOutPointer.for(GObject::TypeInfo)
2961
+ _v2 = FFI::MemoryPointer.new(GObject::TypeInfo)
3325
2962
  _v3 = GObject::EnumValue.from(const_values)
3326
2963
  GObject::Lib.g_enum_complete_type_info(_v1, _v2, _v3)
3327
- _v4 = GObject::TypeInfo.wrap(_v2.to_value)
2964
+ _v4 = GObject::TypeInfo.wrap_own(GObject::TypeInfo.get_value_from_pointer(_v2, 0))
3328
2965
  return _v4
3329
2966
  end
3330
2967
  def self.enum_get_value(enum_class, value)
3331
2968
  _v1 = GObject::EnumClass.from(enum_class)
3332
2969
  _v2 = value
3333
2970
  _v3 = GObject::Lib.g_enum_get_value(_v1, _v2)
3334
- _v4 = GObject::EnumValue.wrap(_v3)
2971
+ _v4 = GObject::EnumValue.wrap_copy(_v3)
3335
2972
  return _v4
3336
2973
  end
3337
2974
  def self.enum_get_value_by_name(enum_class, name)
3338
2975
  _v1 = GObject::EnumClass.from(enum_class)
3339
- _v2 = GirFFI::InPointer.from(:utf8, name)
2976
+ _v2 = GirFFI::InPointer.from_utf8(name)
3340
2977
  _v3 = GObject::Lib.g_enum_get_value_by_name(_v1, _v2)
3341
- _v4 = GObject::EnumValue.wrap(_v3)
2978
+ _v4 = GObject::EnumValue.wrap_copy(_v3)
3342
2979
  return _v4
3343
2980
  end
3344
2981
  def self.enum_get_value_by_nick(enum_class, nick)
3345
2982
  _v1 = GObject::EnumClass.from(enum_class)
3346
- _v2 = GirFFI::InPointer.from(:utf8, nick)
2983
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3347
2984
  _v3 = GObject::Lib.g_enum_get_value_by_nick(_v1, _v2)
3348
- _v4 = GObject::EnumValue.wrap(_v3)
2985
+ _v4 = GObject::EnumValue.wrap_copy(_v3)
3349
2986
  return _v4
3350
2987
  end
3351
2988
  def self.enum_register_static(name, const_static_values)
3352
- _v1 = GirFFI::InPointer.from(:utf8, name)
2989
+ _v1 = GirFFI::InPointer.from_utf8(name)
3353
2990
  _v2 = GObject::EnumValue.from(const_static_values)
3354
2991
  _v3 = GObject::Lib.g_enum_register_static(_v1, _v2)
3355
2992
  return _v3
3356
2993
  end
2994
+ def self.enum_to_string(g_enum_type, value)
2995
+ _v1 = g_enum_type
2996
+ _v2 = value
2997
+ _v3 = GObject::Lib.g_enum_to_string(_v1, _v2)
2998
+ _v4 = GirFFI::AllocationHelper.free_after(_v3, &:to_utf8)
2999
+ return _v4
3000
+ end
3357
3001
  def self.flags_complete_type_info(g_flags_type, const_values)
3358
3002
  _v1 = g_flags_type
3359
- _v2 = GirFFI::InOutPointer.for(GObject::TypeInfo)
3003
+ _v2 = FFI::MemoryPointer.new(GObject::TypeInfo)
3360
3004
  _v3 = GObject::FlagsValue.from(const_values)
3361
3005
  GObject::Lib.g_flags_complete_type_info(_v1, _v2, _v3)
3362
- _v4 = GObject::TypeInfo.wrap(_v2.to_value)
3006
+ _v4 = GObject::TypeInfo.wrap_own(GObject::TypeInfo.get_value_from_pointer(_v2, 0))
3363
3007
  return _v4
3364
3008
  end
3365
3009
  def self.flags_get_first_value(flags_class, value)
3366
3010
  _v1 = GObject::FlagsClass.from(flags_class)
3367
3011
  _v2 = value
3368
3012
  _v3 = GObject::Lib.g_flags_get_first_value(_v1, _v2)
3369
- _v4 = GObject::FlagsValue.wrap(_v3)
3013
+ _v4 = GObject::FlagsValue.wrap_copy(_v3)
3370
3014
  return _v4
3371
3015
  end
3372
3016
  def self.flags_get_value_by_name(flags_class, name)
3373
3017
  _v1 = GObject::FlagsClass.from(flags_class)
3374
- _v2 = GirFFI::InPointer.from(:utf8, name)
3018
+ _v2 = GirFFI::InPointer.from_utf8(name)
3375
3019
  _v3 = GObject::Lib.g_flags_get_value_by_name(_v1, _v2)
3376
- _v4 = GObject::FlagsValue.wrap(_v3)
3020
+ _v4 = GObject::FlagsValue.wrap_copy(_v3)
3377
3021
  return _v4
3378
3022
  end
3379
3023
  def self.flags_get_value_by_nick(flags_class, nick)
3380
3024
  _v1 = GObject::FlagsClass.from(flags_class)
3381
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3025
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3382
3026
  _v3 = GObject::Lib.g_flags_get_value_by_nick(_v1, _v2)
3383
- _v4 = GObject::FlagsValue.wrap(_v3)
3027
+ _v4 = GObject::FlagsValue.wrap_copy(_v3)
3384
3028
  return _v4
3385
3029
  end
3386
3030
  def self.flags_register_static(name, const_static_values)
3387
- _v1 = GirFFI::InPointer.from(:utf8, name)
3031
+ _v1 = GirFFI::InPointer.from_utf8(name)
3388
3032
  _v2 = GObject::FlagsValue.from(const_static_values)
3389
3033
  _v3 = GObject::Lib.g_flags_register_static(_v1, _v2)
3390
3034
  return _v3
3391
3035
  end
3036
+ def self.flags_to_string(flags_type, value)
3037
+ _v1 = flags_type
3038
+ _v2 = value
3039
+ _v3 = GObject::Lib.g_flags_to_string(_v1, _v2)
3040
+ _v4 = GirFFI::AllocationHelper.free_after(_v3, &:to_utf8)
3041
+ return _v4
3042
+ end
3392
3043
  def self.gtype_get_type
3393
3044
  _v1 = GObject::Lib.g_gtype_get_type
3394
3045
  return _v1
3395
3046
  end
3396
3047
  def self.param_spec_boolean(name, nick, blurb, default_value, flags)
3397
- _v1 = GirFFI::InPointer.from(:utf8, name)
3398
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3399
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3048
+ _v1 = GirFFI::InPointer.from_utf8(name)
3049
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3050
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3400
3051
  _v4 = default_value
3401
3052
  _v5 = flags
3402
3053
  _v6 = GObject::Lib.g_param_spec_boolean(_v1, _v2, _v3, _v4, _v5)
@@ -3404,9 +3055,9 @@ module GObject
3404
3055
  return _v7
3405
3056
  end
3406
3057
  def self.param_spec_boxed(name, nick, blurb, boxed_type, flags)
3407
- _v1 = GirFFI::InPointer.from(:utf8, name)
3408
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3409
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3058
+ _v1 = GirFFI::InPointer.from_utf8(name)
3059
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3060
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3410
3061
  _v4 = boxed_type
3411
3062
  _v5 = flags
3412
3063
  _v6 = GObject::Lib.g_param_spec_boxed(_v1, _v2, _v3, _v4, _v5)
@@ -3414,9 +3065,9 @@ module GObject
3414
3065
  return _v7
3415
3066
  end
3416
3067
  def self.param_spec_char(name, nick, blurb, minimum, maximum, default_value, flags)
3417
- _v1 = GirFFI::InPointer.from(:utf8, name)
3418
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3419
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3068
+ _v1 = GirFFI::InPointer.from_utf8(name)
3069
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3070
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3420
3071
  _v4 = minimum
3421
3072
  _v5 = maximum
3422
3073
  _v6 = default_value
@@ -3426,9 +3077,9 @@ module GObject
3426
3077
  return _v9
3427
3078
  end
3428
3079
  def self.param_spec_double(name, nick, blurb, minimum, maximum, default_value, flags)
3429
- _v1 = GirFFI::InPointer.from(:utf8, name)
3430
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3431
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3080
+ _v1 = GirFFI::InPointer.from_utf8(name)
3081
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3082
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3432
3083
  _v4 = minimum
3433
3084
  _v5 = maximum
3434
3085
  _v6 = default_value
@@ -3438,9 +3089,9 @@ module GObject
3438
3089
  return _v9
3439
3090
  end
3440
3091
  def self.param_spec_enum(name, nick, blurb, enum_type, default_value, flags)
3441
- _v1 = GirFFI::InPointer.from(:utf8, name)
3442
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3443
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3092
+ _v1 = GirFFI::InPointer.from_utf8(name)
3093
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3094
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3444
3095
  _v4 = enum_type
3445
3096
  _v5 = default_value
3446
3097
  _v6 = flags
@@ -3449,9 +3100,9 @@ module GObject
3449
3100
  return _v8
3450
3101
  end
3451
3102
  def self.param_spec_flags(name, nick, blurb, flags_type, default_value, flags)
3452
- _v1 = GirFFI::InPointer.from(:utf8, name)
3453
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3454
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3103
+ _v1 = GirFFI::InPointer.from_utf8(name)
3104
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3105
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3455
3106
  _v4 = flags_type
3456
3107
  _v5 = default_value
3457
3108
  _v6 = flags
@@ -3460,9 +3111,9 @@ module GObject
3460
3111
  return _v8
3461
3112
  end
3462
3113
  def self.param_spec_float(name, nick, blurb, minimum, maximum, default_value, flags)
3463
- _v1 = GirFFI::InPointer.from(:utf8, name)
3464
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3465
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3114
+ _v1 = GirFFI::InPointer.from_utf8(name)
3115
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3116
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3466
3117
  _v4 = minimum
3467
3118
  _v5 = maximum
3468
3119
  _v6 = default_value
@@ -3472,25 +3123,31 @@ module GObject
3472
3123
  return _v9
3473
3124
  end
3474
3125
  def self.param_spec_gtype(name, nick, blurb, is_a_type, flags)
3475
- _v1 = GirFFI::InPointer.from(:utf8, name)
3476
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3477
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3126
+ _v1 = GirFFI::InPointer.from_utf8(name)
3127
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3128
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3478
3129
  _v4 = is_a_type
3479
3130
  _v5 = flags
3480
3131
  _v6 = GObject::Lib.g_param_spec_gtype(_v1, _v2, _v3, _v4, _v5)
3481
3132
  _v7 = GObject::ParamSpec.wrap(_v6)
3482
3133
  return _v7
3483
3134
  end
3484
- # Smells of :reek:LongParameterList: due to the C interface.
3485
- # rubocop:disable Metrics/ParameterLists
3486
3135
  def self.param_spec_int(name, nick, blurb, minimum, maximum, default_value, flags)
3487
- ptr = Lib.g_param_spec_int(name, nick, blurb, minimum, maximum, default_value, flags)
3488
- ParamSpecInt.wrap(ptr)
3136
+ _v1 = GirFFI::InPointer.from_utf8(name)
3137
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3138
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3139
+ _v4 = minimum
3140
+ _v5 = maximum
3141
+ _v6 = default_value
3142
+ _v7 = flags
3143
+ _v8 = GObject::Lib.g_param_spec_int(_v1, _v2, _v3, _v4, _v5, _v6, _v7)
3144
+ _v9 = GObject::ParamSpec.wrap(_v8)
3145
+ return _v9
3489
3146
  end
3490
3147
  def self.param_spec_int64(name, nick, blurb, minimum, maximum, default_value, flags)
3491
- _v1 = GirFFI::InPointer.from(:utf8, name)
3492
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3493
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3148
+ _v1 = GirFFI::InPointer.from_utf8(name)
3149
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3150
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3494
3151
  _v4 = minimum
3495
3152
  _v5 = maximum
3496
3153
  _v6 = default_value
@@ -3500,9 +3157,9 @@ module GObject
3500
3157
  return _v9
3501
3158
  end
3502
3159
  def self.param_spec_long(name, nick, blurb, minimum, maximum, default_value, flags)
3503
- _v1 = GirFFI::InPointer.from(:utf8, name)
3504
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3505
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3160
+ _v1 = GirFFI::InPointer.from_utf8(name)
3161
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3162
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3506
3163
  _v4 = minimum
3507
3164
  _v5 = maximum
3508
3165
  _v6 = default_value
@@ -3512,9 +3169,9 @@ module GObject
3512
3169
  return _v9
3513
3170
  end
3514
3171
  def self.param_spec_object(name, nick, blurb, object_type, flags)
3515
- _v1 = GirFFI::InPointer.from(:utf8, name)
3516
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3517
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3172
+ _v1 = GirFFI::InPointer.from_utf8(name)
3173
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3174
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3518
3175
  _v4 = object_type
3519
3176
  _v5 = flags
3520
3177
  _v6 = GObject::Lib.g_param_spec_object(_v1, _v2, _v3, _v4, _v5)
@@ -3522,9 +3179,9 @@ module GObject
3522
3179
  return _v7
3523
3180
  end
3524
3181
  def self.param_spec_param(name, nick, blurb, param_type, flags)
3525
- _v1 = GirFFI::InPointer.from(:utf8, name)
3526
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3527
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3182
+ _v1 = GirFFI::InPointer.from_utf8(name)
3183
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3184
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3528
3185
  _v4 = param_type
3529
3186
  _v5 = flags
3530
3187
  _v6 = GObject::Lib.g_param_spec_param(_v1, _v2, _v3, _v4, _v5)
@@ -3532,9 +3189,9 @@ module GObject
3532
3189
  return _v7
3533
3190
  end
3534
3191
  def self.param_spec_pointer(name, nick, blurb, flags)
3535
- _v1 = GirFFI::InPointer.from(:utf8, name)
3536
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3537
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3192
+ _v1 = GirFFI::InPointer.from_utf8(name)
3193
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3194
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3538
3195
  _v4 = flags
3539
3196
  _v5 = GObject::Lib.g_param_spec_pointer(_v1, _v2, _v3, _v4)
3540
3197
  _v6 = GObject::ParamSpec.wrap(_v5)
@@ -3543,23 +3200,23 @@ module GObject
3543
3200
  def self.param_spec_pool_new(type_prefixing)
3544
3201
  _v1 = type_prefixing
3545
3202
  _v2 = GObject::Lib.g_param_spec_pool_new(_v1)
3546
- _v3 = GObject::ParamSpecPool.wrap(_v2)
3203
+ _v3 = GObject::ParamSpecPool.wrap_copy(_v2)
3547
3204
  return _v3
3548
3205
  end
3549
3206
  def self.param_spec_string(name, nick, blurb, default_value, flags)
3550
- _v1 = GirFFI::InPointer.from(:utf8, name)
3551
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3552
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3553
- _v4 = GirFFI::InPointer.from(:utf8, default_value)
3207
+ _v1 = GirFFI::InPointer.from_utf8(name)
3208
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3209
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3210
+ _v4 = GirFFI::InPointer.from_utf8(default_value)
3554
3211
  _v5 = flags
3555
3212
  _v6 = GObject::Lib.g_param_spec_string(_v1, _v2, _v3, _v4, _v5)
3556
3213
  _v7 = GObject::ParamSpec.wrap(_v6)
3557
3214
  return _v7
3558
3215
  end
3559
3216
  def self.param_spec_uchar(name, nick, blurb, minimum, maximum, default_value, flags)
3560
- _v1 = GirFFI::InPointer.from(:utf8, name)
3561
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3562
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3217
+ _v1 = GirFFI::InPointer.from_utf8(name)
3218
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3219
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3563
3220
  _v4 = minimum
3564
3221
  _v5 = maximum
3565
3222
  _v6 = default_value
@@ -3569,9 +3226,9 @@ module GObject
3569
3226
  return _v9
3570
3227
  end
3571
3228
  def self.param_spec_uint(name, nick, blurb, minimum, maximum, default_value, flags)
3572
- _v1 = GirFFI::InPointer.from(:utf8, name)
3573
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3574
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3229
+ _v1 = GirFFI::InPointer.from_utf8(name)
3230
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3231
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3575
3232
  _v4 = minimum
3576
3233
  _v5 = maximum
3577
3234
  _v6 = default_value
@@ -3581,9 +3238,9 @@ module GObject
3581
3238
  return _v9
3582
3239
  end
3583
3240
  def self.param_spec_uint64(name, nick, blurb, minimum, maximum, default_value, flags)
3584
- _v1 = GirFFI::InPointer.from(:utf8, name)
3585
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3586
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3241
+ _v1 = GirFFI::InPointer.from_utf8(name)
3242
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3243
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3587
3244
  _v4 = minimum
3588
3245
  _v5 = maximum
3589
3246
  _v6 = default_value
@@ -3593,9 +3250,9 @@ module GObject
3593
3250
  return _v9
3594
3251
  end
3595
3252
  def self.param_spec_ulong(name, nick, blurb, minimum, maximum, default_value, flags)
3596
- _v1 = GirFFI::InPointer.from(:utf8, name)
3597
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3598
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3253
+ _v1 = GirFFI::InPointer.from_utf8(name)
3254
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3255
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3599
3256
  _v4 = minimum
3600
3257
  _v5 = maximum
3601
3258
  _v6 = default_value
@@ -3605,9 +3262,9 @@ module GObject
3605
3262
  return _v9
3606
3263
  end
3607
3264
  def self.param_spec_unichar(name, nick, blurb, default_value, flags)
3608
- _v1 = GirFFI::InPointer.from(:utf8, name)
3609
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3610
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3265
+ _v1 = GirFFI::InPointer.from_utf8(name)
3266
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3267
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3611
3268
  _v4 = default_value
3612
3269
  _v5 = flags
3613
3270
  _v6 = GObject::Lib.g_param_spec_unichar(_v1, _v2, _v3, _v4, _v5)
@@ -3615,18 +3272,18 @@ module GObject
3615
3272
  return _v7
3616
3273
  end
3617
3274
  def self.param_spec_variant(name, nick, blurb, type, default_value, flags)
3618
- _v1 = GirFFI::InPointer.from(:utf8, name)
3619
- _v2 = GirFFI::InPointer.from(:utf8, nick)
3620
- _v3 = GirFFI::InPointer.from(:utf8, blurb)
3275
+ _v1 = GirFFI::InPointer.from_utf8(name)
3276
+ _v2 = GirFFI::InPointer.from_utf8(nick)
3277
+ _v3 = GirFFI::InPointer.from_utf8(blurb)
3621
3278
  _v4 = GLib::VariantType.from(type)
3622
- _v5 = GLib::Variant.from(default_value)
3279
+ _v5 = GLib::Variant.copy_from(default_value)
3623
3280
  _v6 = flags
3624
3281
  _v7 = GObject::Lib.g_param_spec_variant(_v1, _v2, _v3, _v4, _v5, _v6)
3625
3282
  _v8 = GObject::ParamSpec.wrap(_v7)
3626
3283
  return _v8
3627
3284
  end
3628
3285
  def self.param_type_register_static(name, pspec_info)
3629
- _v1 = GirFFI::InPointer.from(:utf8, name)
3286
+ _v1 = GirFFI::InPointer.from_utf8(name)
3630
3287
  _v2 = GObject::ParamSpecTypeInfo.from(pspec_info)
3631
3288
  _v3 = GObject::Lib.g_param_type_register_static(_v1, _v2)
3632
3289
  return _v3
@@ -3664,23 +3321,23 @@ module GObject
3664
3321
  return _v4
3665
3322
  end
3666
3323
  def self.pointer_type_register_static(name)
3667
- _v1 = GirFFI::InPointer.from(:utf8, name)
3324
+ _v1 = GirFFI::InPointer.from_utf8(name)
3668
3325
  _v2 = GObject::Lib.g_pointer_type_register_static(_v1)
3669
3326
  return _v2
3670
3327
  end
3671
- def self.signal_accumulator_first_wins(ihint, return_accu, handler_return, dummy)
3328
+ def self.signal_accumulator_first_wins(ihint, return_accu, handler_return, dummy = nil)
3672
3329
  _v1 = GObject::SignalInvocationHint.from(ihint)
3673
3330
  _v2 = GObject::Value.from(return_accu)
3674
3331
  _v3 = GObject::Value.from(handler_return)
3675
- _v4 = GirFFI::InPointer.from(:void, dummy)
3332
+ _v4 = dummy
3676
3333
  _v5 = GObject::Lib.g_signal_accumulator_first_wins(_v1, _v2, _v3, _v4)
3677
3334
  return _v5
3678
3335
  end
3679
- def self.signal_accumulator_true_handled(ihint, return_accu, handler_return, dummy)
3336
+ def self.signal_accumulator_true_handled(ihint, return_accu, handler_return, dummy = nil)
3680
3337
  _v1 = GObject::SignalInvocationHint.from(ihint)
3681
3338
  _v2 = GObject::Value.from(return_accu)
3682
3339
  _v3 = GObject::Value.from(handler_return)
3683
- _v4 = GirFFI::InPointer.from(:void, dummy)
3340
+ _v4 = dummy
3684
3341
  _v5 = GObject::Lib.g_signal_accumulator_true_handled(_v1, _v2, _v3, _v4)
3685
3342
  return _v5
3686
3343
  end
@@ -3688,7 +3345,7 @@ module GObject
3688
3345
  _v1 = signal_id
3689
3346
  _v2 = detail
3690
3347
  _v3 = GObject::SignalEmissionHook.from(hook_func)
3691
- _v4 = GirFFI::InPointer.from_closure_data(_v3.object_id)
3348
+ _v4 = GirFFI::ArgHelper.store(_v3)
3692
3349
  _v5 = GLib::DestroyNotify.default
3693
3350
  _v6 = GObject::Lib.g_signal_add_emission_hook(_v1, _v2, _v3, _v4, _v5)
3694
3351
  return _v6
@@ -3700,7 +3357,7 @@ module GObject
3700
3357
  end
3701
3358
  def self.signal_connect_closure(instance, detailed_signal, closure, after)
3702
3359
  _v1 = GObject::Object.from(instance)
3703
- _v2 = GirFFI::InPointer.from(:utf8, detailed_signal)
3360
+ _v2 = GirFFI::InPointer.from_utf8(detailed_signal)
3704
3361
  _v3 = GObject::Closure.from(closure)
3705
3362
  _v4 = after
3706
3363
  _v5 = GObject::Lib.g_signal_connect_closure(_v1, _v2, _v3, _v4)
@@ -3719,16 +3376,16 @@ module GObject
3719
3376
  _v1 = GirFFI::SizedArray.from(GObject::Value, -1, instance_and_params)
3720
3377
  _v2 = signal_id
3721
3378
  _v3 = detail
3722
- _v4 = GirFFI::InOutPointer.for(GObject::Value)
3723
- _v4.set_value(GObject::Value.from(return_value))
3379
+ _v4 = FFI::MemoryPointer.new(GObject::Value)
3380
+ GObject::Value.copy_value_to_pointer(GObject::Value.copy_from(return_value), _v4)
3724
3381
  GObject::Lib.g_signal_emitv(_v1, _v2, _v3, _v4)
3725
- _v5 = GObject::Value.wrap(_v4.to_value).get_value
3382
+ _v5 = GObject::Value.wrap(GObject::Value.get_value_from_pointer(_v4, 0)).get_value
3726
3383
  return _v5
3727
3384
  end
3728
3385
  def self.signal_get_invocation_hint(instance)
3729
3386
  _v1 = GObject::Object.from(instance)
3730
3387
  _v2 = GObject::Lib.g_signal_get_invocation_hint(_v1)
3731
- _v3 = GObject::SignalInvocationHint.wrap(_v2)
3388
+ _v3 = GObject::SignalInvocationHint.wrap_copy(_v2)
3732
3389
  return _v3
3733
3390
  end
3734
3391
  def self.signal_handler_block(instance, handler_id)
@@ -3741,14 +3398,14 @@ module GObject
3741
3398
  _v2 = handler_id
3742
3399
  GObject::Lib.g_signal_handler_disconnect(_v1, _v2)
3743
3400
  end
3744
- def self.signal_handler_find(instance, mask, signal_id, detail, closure, func, data)
3401
+ def self.signal_handler_find(instance, mask, signal_id, detail, closure = nil, func = nil, data = nil)
3745
3402
  _v1 = GObject::Object.from(instance)
3746
3403
  _v2 = mask
3747
3404
  _v3 = signal_id
3748
3405
  _v4 = detail
3749
3406
  _v5 = GObject::Closure.from(closure)
3750
- _v6 = GirFFI::InPointer.from(:void, func)
3751
- _v7 = GirFFI::InPointer.from(:void, data)
3407
+ _v6 = func
3408
+ _v7 = data
3752
3409
  _v8 = GObject::Lib.g_signal_handler_find(_v1, _v2, _v3, _v4, _v5, _v6, _v7)
3753
3410
  return _v8
3754
3411
  end
@@ -3763,14 +3420,14 @@ module GObject
3763
3420
  _v2 = handler_id
3764
3421
  GObject::Lib.g_signal_handler_unblock(_v1, _v2)
3765
3422
  end
3766
- def self.signal_handlers_block_matched(instance, mask, signal_id, detail, closure, func, data)
3423
+ def self.signal_handlers_block_matched(instance, mask, signal_id, detail, closure = nil, func = nil, data = nil)
3767
3424
  _v1 = GObject::Object.from(instance)
3768
3425
  _v2 = mask
3769
3426
  _v3 = signal_id
3770
3427
  _v4 = detail
3771
3428
  _v5 = GObject::Closure.from(closure)
3772
- _v6 = GirFFI::InPointer.from(:void, func)
3773
- _v7 = GirFFI::InPointer.from(:void, data)
3429
+ _v6 = func
3430
+ _v7 = data
3774
3431
  _v8 = GObject::Lib.g_signal_handlers_block_matched(_v1, _v2, _v3, _v4, _v5, _v6, _v7)
3775
3432
  return _v8
3776
3433
  end
@@ -3778,25 +3435,25 @@ module GObject
3778
3435
  _v1 = GObject::Object.from(instance)
3779
3436
  GObject::Lib.g_signal_handlers_destroy(_v1)
3780
3437
  end
3781
- def self.signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure, func, data)
3438
+ def self.signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure = nil, func = nil, data = nil)
3782
3439
  _v1 = GObject::Object.from(instance)
3783
3440
  _v2 = mask
3784
3441
  _v3 = signal_id
3785
3442
  _v4 = detail
3786
3443
  _v5 = GObject::Closure.from(closure)
3787
- _v6 = GirFFI::InPointer.from(:void, func)
3788
- _v7 = GirFFI::InPointer.from(:void, data)
3444
+ _v6 = func
3445
+ _v7 = data
3789
3446
  _v8 = GObject::Lib.g_signal_handlers_disconnect_matched(_v1, _v2, _v3, _v4, _v5, _v6, _v7)
3790
3447
  return _v8
3791
3448
  end
3792
- def self.signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure, func, data)
3449
+ def self.signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure = nil, func = nil, data = nil)
3793
3450
  _v1 = GObject::Object.from(instance)
3794
3451
  _v2 = mask
3795
3452
  _v3 = signal_id
3796
3453
  _v4 = detail
3797
3454
  _v5 = GObject::Closure.from(closure)
3798
- _v6 = GirFFI::InPointer.from(:void, func)
3799
- _v7 = GirFFI::InPointer.from(:void, data)
3455
+ _v6 = func
3456
+ _v7 = data
3800
3457
  _v8 = GObject::Lib.g_signal_handlers_unblock_matched(_v1, _v2, _v3, _v4, _v5, _v6, _v7)
3801
3458
  return _v8
3802
3459
  end
@@ -3810,14 +3467,14 @@ module GObject
3810
3467
  end
3811
3468
  def self.signal_list_ids(itype)
3812
3469
  _v1 = itype
3813
- _v2 = GirFFI::InOutPointer.for(:guint32)
3470
+ _v2 = FFI::MemoryPointer.new(:uint32)
3814
3471
  _v3 = GObject::Lib.g_signal_list_ids(_v1, _v2)
3815
- _v4 = _v2.to_value
3472
+ _v4 = _v2.get_uint32(0)
3816
3473
  _v5 = GirFFI::SizedArray.wrap(:guint32, _v4, _v3)
3817
3474
  return _v5
3818
3475
  end
3819
3476
  def self.signal_lookup(name, itype)
3820
- _v1 = GirFFI::InPointer.from(:utf8, name)
3477
+ _v1 = GirFFI::InPointer.from_utf8(name)
3821
3478
  _v2 = itype
3822
3479
  _v3 = GObject::Lib.g_signal_lookup(_v1, _v2)
3823
3480
  return _v3
@@ -3835,14 +3492,14 @@ module GObject
3835
3492
  GObject::Lib.g_signal_override_class_closure(_v1, _v2, _v3)
3836
3493
  end
3837
3494
  def self.signal_parse_name(detailed_signal, itype, force_detail_quark)
3838
- _v1 = GirFFI::InPointer.from(:utf8, detailed_signal)
3495
+ _v1 = GirFFI::InPointer.from_utf8(detailed_signal)
3839
3496
  _v2 = itype
3840
- _v3 = GirFFI::InOutPointer.for(:guint32)
3841
- _v4 = GirFFI::InOutPointer.for(:guint32)
3497
+ _v3 = FFI::MemoryPointer.new(:uint32)
3498
+ _v4 = FFI::MemoryPointer.new(:uint32)
3842
3499
  _v5 = force_detail_quark
3843
3500
  _v6 = GObject::Lib.g_signal_parse_name(_v1, _v2, _v3, _v4, _v5)
3844
- _v7 = _v3.to_value
3845
- _v8 = _v4.to_value
3501
+ _v7 = _v3.get_uint32(0)
3502
+ _v8 = _v4.get_uint32(0)
3846
3503
  return [_v6, _v7, _v8]
3847
3504
  end
3848
3505
  def self.signal_query(signal_id)
@@ -3870,14 +3527,14 @@ module GObject
3870
3527
  end
3871
3528
  def self.signal_stop_emission_by_name(instance, detailed_signal)
3872
3529
  _v1 = GObject::Object.from(instance)
3873
- _v2 = GirFFI::InPointer.from(:utf8, detailed_signal)
3530
+ _v2 = GirFFI::InPointer.from_utf8(detailed_signal)
3874
3531
  GObject::Lib.g_signal_stop_emission_by_name(_v1, _v2)
3875
3532
  end
3876
3533
  def self.signal_type_cclosure_new(itype, struct_offset)
3877
3534
  _v1 = itype
3878
3535
  _v2 = struct_offset
3879
3536
  _v3 = GObject::Lib.g_signal_type_cclosure_new(_v1, _v2)
3880
- _v4 = GObject::Closure.wrap(_v3)
3537
+ _v4 = GObject::Closure.wrap_own(_v3)
3881
3538
  return _v4
3882
3539
  end
3883
3540
  def self.source_set_closure(source, closure)
@@ -3892,7 +3549,7 @@ module GObject
3892
3549
  def self.strdup_value_contents(value)
3893
3550
  _v1 = GObject::Value.from(value)
3894
3551
  _v2 = GObject::Lib.g_strdup_value_contents(_v1)
3895
- _v3 = _v2.to_utf8
3552
+ _v3 = GirFFI::AllocationHelper.free_after(_v2, &:to_utf8)
3896
3553
  return _v3
3897
3554
  end
3898
3555
  def self.type_add_class_private(class_type, private_size)
@@ -3959,50 +3616,45 @@ module GObject
3959
3616
  end
3960
3617
  def self.type_children(type)
3961
3618
  _v1 = type
3962
- _v2 = GirFFI::InOutPointer.for(:guint32)
3619
+ _v2 = FFI::MemoryPointer.new(:uint32)
3963
3620
  _v3 = GObject::Lib.g_type_children(_v1, _v2)
3964
- _v4 = _v2.to_value
3621
+ _v4 = _v2.get_uint32(0)
3965
3622
  _v5 = GirFFI::SizedArray.wrap(:GType, _v4, _v3)
3966
3623
  return _v5
3967
3624
  end
3968
- def self.type_class_add_private(g_class, private_size)
3969
- _v1 = GirFFI::InPointer.from(:void, g_class)
3970
- _v2 = private_size
3971
- GObject::Lib.g_type_class_add_private(_v1, _v2)
3972
- end
3973
3625
  def self.type_class_adjust_private_offset(g_class, private_size_or_offset)
3974
- _v1 = GirFFI::InPointer.from(:void, g_class)
3626
+ _v1 = g_class
3975
3627
  _v2 = private_size_or_offset
3976
3628
  GObject::Lib.g_type_class_adjust_private_offset(_v1, _v2)
3977
3629
  end
3978
3630
  def self.type_class_peek(type)
3979
3631
  _v1 = type
3980
3632
  _v2 = GObject::Lib.g_type_class_peek(_v1)
3981
- _v3 = GObject::TypeClass.wrap(_v2)
3633
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
3982
3634
  return _v3
3983
3635
  end
3984
3636
  def self.type_class_peek_static(type)
3985
3637
  _v1 = type
3986
3638
  _v2 = GObject::Lib.g_type_class_peek_static(_v1)
3987
- _v3 = GObject::TypeClass.wrap(_v2)
3639
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
3988
3640
  return _v3
3989
3641
  end
3990
3642
  def self.type_class_ref(type)
3991
3643
  _v1 = type
3992
3644
  _v2 = GObject::Lib.g_type_class_ref(_v1)
3993
- _v3 = GObject::TypeClass.wrap(_v2)
3645
+ _v3 = GObject::TypeClass.wrap_copy(_v2)
3994
3646
  return _v3
3995
3647
  end
3996
3648
  def self.type_default_interface_peek(g_type)
3997
3649
  _v1 = g_type
3998
3650
  _v2 = GObject::Lib.g_type_default_interface_peek(_v1)
3999
- _v3 = GObject::TypeInterface.wrap(_v2)
3651
+ _v3 = GObject::TypeInterface.wrap_copy(_v2)
4000
3652
  return _v3
4001
3653
  end
4002
3654
  def self.type_default_interface_ref(g_type)
4003
3655
  _v1 = g_type
4004
3656
  _v2 = GObject::Lib.g_type_default_interface_ref(_v1)
4005
- _v3 = GObject::TypeInterface.wrap(_v2)
3657
+ _v3 = GObject::TypeInterface.wrap_copy(_v2)
4006
3658
  return _v3
4007
3659
  end
4008
3660
  def self.type_default_interface_unref(g_iface)
@@ -4023,7 +3675,7 @@ module GObject
4023
3675
  GObject::Lib.g_type_free_instance(_v1)
4024
3676
  end
4025
3677
  def self.type_from_name(name)
4026
- _v1 = GirFFI::InPointer.from(:utf8, name)
3678
+ _v1 = GirFFI::InPointer.from_utf8(name)
4027
3679
  _v2 = GObject::Lib.g_type_from_name(_v1)
4028
3680
  return _v2
4029
3681
  end
@@ -4058,7 +3710,7 @@ module GObject
4058
3710
  return _v1
4059
3711
  end
4060
3712
  def self.type_init
4061
- Lib.g_type_init
3713
+ GObject::Lib.g_type_init
4062
3714
  end
4063
3715
  def self.type_init_with_debug_flags(debug_flags)
4064
3716
  _v1 = debug_flags
@@ -4080,22 +3732,22 @@ module GObject
4080
3732
  _v1 = GObject::TypeClass.from(instance_class)
4081
3733
  _v2 = iface_type
4082
3734
  _v3 = GObject::Lib.g_type_interface_peek(_v1, _v2)
4083
- _v4 = GObject::TypeInterface.wrap(_v3)
3735
+ _v4 = GObject::TypeInterface.wrap_copy(_v3)
4084
3736
  return _v4
4085
3737
  end
4086
3738
  def self.type_interface_prerequisites(interface_type)
4087
3739
  _v1 = interface_type
4088
- _v2 = GirFFI::InOutPointer.for(:guint32)
3740
+ _v2 = FFI::MemoryPointer.new(:uint32)
4089
3741
  _v3 = GObject::Lib.g_type_interface_prerequisites(_v1, _v2)
4090
- _v4 = _v2.to_value
3742
+ _v4 = _v2.get_uint32(0)
4091
3743
  _v5 = GirFFI::SizedArray.wrap(:GType, _v4, _v3)
4092
3744
  return _v5
4093
3745
  end
4094
3746
  def self.type_interfaces(type)
4095
3747
  _v1 = type
4096
- _v2 = GirFFI::InOutPointer.for(:guint32)
3748
+ _v2 = FFI::MemoryPointer.new(:uint32)
4097
3749
  _v3 = GObject::Lib.g_type_interfaces(_v1, _v2)
4098
- _v4 = _v2.to_value
3750
+ _v4 = _v2.get_uint32(0)
4099
3751
  _v5 = GirFFI::SizedArray.wrap(:GType, _v4, _v3)
4100
3752
  return _v5
4101
3753
  end
@@ -4147,7 +3799,7 @@ module GObject
4147
3799
  end
4148
3800
  def self.type_register_dynamic(parent_type, type_name, plugin, flags)
4149
3801
  _v1 = parent_type
4150
- _v2 = GirFFI::InPointer.from(:utf8, type_name)
3802
+ _v2 = GirFFI::InPointer.from_utf8(type_name)
4151
3803
  _v3 = plugin
4152
3804
  _v4 = flags
4153
3805
  _v5 = GObject::Lib.g_type_register_dynamic(_v1, _v2, _v3, _v4)
@@ -4155,7 +3807,7 @@ module GObject
4155
3807
  end
4156
3808
  def self.type_register_fundamental(type_id, type_name, info, finfo, flags)
4157
3809
  _v1 = type_id
4158
- _v2 = GirFFI::InPointer.from(:utf8, type_name)
3810
+ _v2 = GirFFI::InPointer.from_utf8(type_name)
4159
3811
  _v3 = GObject::TypeInfo.from(info)
4160
3812
  _v4 = GObject::TypeFundamentalInfo.from(finfo)
4161
3813
  _v5 = flags
@@ -4164,16 +3816,16 @@ module GObject
4164
3816
  end
4165
3817
  def self.type_register_static(parent_type, type_name, info, flags)
4166
3818
  _v1 = parent_type
4167
- _v2 = GirFFI::InPointer.from(:utf8, type_name)
3819
+ _v2 = GirFFI::InPointer.from_utf8(type_name)
4168
3820
  _v3 = GObject::TypeInfo.from(info)
4169
3821
  _v4 = flags
4170
3822
  _v5 = GObject::Lib.g_type_register_static(_v1, _v2, _v3, _v4)
4171
3823
  return _v5
4172
3824
  end
4173
- def self.type_set_qdata(type, quark, data)
3825
+ def self.type_set_qdata(type, quark, data = nil)
4174
3826
  _v1 = type
4175
3827
  _v2 = quark
4176
- _v3 = GirFFI::InPointer.from(:void, data)
3828
+ _v3 = data
4177
3829
  GObject::Lib.g_type_set_qdata(_v1, _v2, _v3)
4178
3830
  end
4179
3831
  def self.type_test_flags(type, flags)