gir_ffi-pretty_printer 0.0.3 → 0.0.4

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