gir_ffi 0.15.9 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changelog.md +42 -18
- data/README.md +20 -14
- data/lib/ffi-glib/array.rb +1 -1
- data/lib/ffi-glib/bytes.rb +0 -12
- data/lib/ffi-glib/main_loop.rb +3 -3
- data/lib/ffi-glib/ptr_array.rb +24 -15
- data/lib/ffi-glib/variant.rb +6 -8
- data/lib/ffi-gobject/object.rb +5 -15
- data/lib/ffi-gobject/object_class.rb +2 -10
- data/lib/ffi-gobject/value.rb +27 -27
- data/lib/ffi-gobject.rb +3 -17
- data/lib/ffi-gobject_introspection/i_constant_info.rb +10 -10
- data/lib/ffi-gobject_introspection/i_registered_type_info.rb +1 -1
- data/lib/ffi-gobject_introspection/lib.rb +11 -11
- data/lib/ffi-gobject_introspection.rb +19 -19
- data/lib/gir_ffi/builder.rb +1 -1
- data/lib/gir_ffi/builders/argument_builder_collection.rb +5 -5
- data/lib/gir_ffi/builders/base_argument_builder.rb +2 -2
- data/lib/gir_ffi/builders/base_method_builder.rb +23 -23
- data/lib/gir_ffi/builders/constructor_builder.rb +1 -1
- data/lib/gir_ffi/builders/function_builder.rb +1 -1
- data/lib/gir_ffi/builders/mapping_method_builder.rb +1 -1
- data/lib/gir_ffi/builders/marshalling_method_builder.rb +3 -3
- data/lib/gir_ffi/builders/method_template.rb +2 -2
- data/lib/gir_ffi/builders/object_builder.rb +10 -12
- data/lib/gir_ffi/builders/pointer_value_convertor.rb +1 -1
- data/lib/gir_ffi/builders/type_builder.rb +9 -9
- data/lib/gir_ffi/builders/user_defined_builder.rb +24 -26
- data/lib/gir_ffi/class_base.rb +1 -3
- data/lib/gir_ffi/core.rb +0 -5
- data/lib/gir_ffi/ffi_ext/pointer.rb +22 -12
- data/lib/gir_ffi/in_pointer.rb +6 -6
- data/lib/gir_ffi/info_ext/i_registered_type_info.rb +1 -1
- data/lib/gir_ffi/info_ext/i_signal_info.rb +8 -6
- data/lib/gir_ffi/info_ext/i_type_info.rb +18 -24
- data/lib/gir_ffi/instance_method_setup.rb +3 -1
- data/lib/gir_ffi/method_stubber.rb +1 -1
- data/lib/gir_ffi/object_base.rb +5 -5
- data/lib/gir_ffi/struct_like_base.rb +0 -1
- data/lib/gir_ffi/type_map.rb +30 -30
- data/lib/gir_ffi/unintrospectable_type_info.rb +2 -2
- data/lib/gir_ffi/user_defined_object_info.rb +0 -3
- data/lib/gir_ffi/user_defined_property_info.rb +33 -33
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi/zero_terminated.rb +1 -1
- data/lib/gir_ffi-base/gobject.rb +1 -1
- metadata +30 -18
data/lib/gir_ffi/type_map.rb
CHANGED
@@ -10,38 +10,38 @@ module GirFFI
|
|
10
10
|
gsize_type = "uint#{sz}".to_sym
|
11
11
|
|
12
12
|
TAG_TYPE_MAP = {
|
13
|
-
enum:
|
14
|
-
flags:
|
15
|
-
ghash:
|
16
|
-
glist:
|
17
|
-
gslist:
|
18
|
-
strv:
|
13
|
+
enum: :int32,
|
14
|
+
flags: :int32,
|
15
|
+
ghash: :pointer,
|
16
|
+
glist: :pointer,
|
17
|
+
gslist: :pointer,
|
18
|
+
strv: :pointer,
|
19
19
|
interface: :pointer,
|
20
|
-
error:
|
20
|
+
error: :pointer,
|
21
21
|
ptr_array: :pointer,
|
22
|
-
array:
|
23
|
-
c:
|
24
|
-
utf8:
|
25
|
-
filename:
|
26
|
-
GType:
|
27
|
-
gboolean:
|
28
|
-
gunichar:
|
29
|
-
gint8:
|
30
|
-
guint8:
|
31
|
-
gint16:
|
32
|
-
guint16:
|
33
|
-
gint:
|
34
|
-
guint:
|
35
|
-
gint32:
|
36
|
-
guint32:
|
37
|
-
gint64:
|
38
|
-
guint64:
|
39
|
-
glong:
|
40
|
-
gulong:
|
41
|
-
gsize:
|
42
|
-
gfloat:
|
43
|
-
gdouble:
|
44
|
-
void:
|
22
|
+
array: :pointer,
|
23
|
+
c: GirFFI::SizedArray,
|
24
|
+
utf8: :pointer,
|
25
|
+
filename: :pointer,
|
26
|
+
GType: gsize_type,
|
27
|
+
gboolean: GirFFI::Boolean,
|
28
|
+
gunichar: :uint32,
|
29
|
+
gint8: :int8,
|
30
|
+
guint8: :uint8,
|
31
|
+
gint16: :int16,
|
32
|
+
guint16: :uint16,
|
33
|
+
gint: :int,
|
34
|
+
guint: :uint,
|
35
|
+
gint32: :int32,
|
36
|
+
guint32: :uint32,
|
37
|
+
gint64: :int64,
|
38
|
+
guint64: :uint64,
|
39
|
+
glong: :long,
|
40
|
+
gulong: :ulong,
|
41
|
+
gsize: gsize_type,
|
42
|
+
gfloat: :float,
|
43
|
+
gdouble: :double,
|
44
|
+
void: :void
|
45
45
|
}.freeze
|
46
46
|
|
47
47
|
def self.map_basic_type(type)
|
@@ -15,21 +15,21 @@ module GirFFI
|
|
15
15
|
# TODO: Unify with InfoExt::ITypeInfo.flattened_tag_to_gtype_map
|
16
16
|
G_TYPE_TAG_MAP = {
|
17
17
|
GObject::TYPE_BOOLEAN => :gboolean,
|
18
|
-
GObject::TYPE_CHAR
|
19
|
-
GObject::TYPE_UCHAR
|
20
|
-
GObject::TYPE_FLOAT
|
21
|
-
GObject::TYPE_DOUBLE
|
22
|
-
GObject::TYPE_INT
|
23
|
-
GObject::TYPE_UINT
|
24
|
-
GObject::TYPE_LONG
|
25
|
-
GObject::TYPE_ULONG
|
26
|
-
GObject::TYPE_INT64
|
27
|
-
GObject::TYPE_UINT64
|
28
|
-
GObject::TYPE_ENUM
|
29
|
-
GObject::TYPE_FLAGS
|
30
|
-
GObject::TYPE_STRING
|
31
|
-
GObject::TYPE_BOXED
|
32
|
-
GObject::TYPE_OBJECT
|
18
|
+
GObject::TYPE_CHAR => :gint8,
|
19
|
+
GObject::TYPE_UCHAR => :guint8,
|
20
|
+
GObject::TYPE_FLOAT => :gfloat,
|
21
|
+
GObject::TYPE_DOUBLE => :gdouble,
|
22
|
+
GObject::TYPE_INT => :gint,
|
23
|
+
GObject::TYPE_UINT => :guint,
|
24
|
+
GObject::TYPE_LONG => :glong,
|
25
|
+
GObject::TYPE_ULONG => :gulong,
|
26
|
+
GObject::TYPE_INT64 => :gint64,
|
27
|
+
GObject::TYPE_UINT64 => :guint64,
|
28
|
+
GObject::TYPE_ENUM => :interface,
|
29
|
+
GObject::TYPE_FLAGS => :interface,
|
30
|
+
GObject::TYPE_STRING => :utf8,
|
31
|
+
GObject::TYPE_BOXED => :interface,
|
32
|
+
GObject::TYPE_OBJECT => :interface
|
33
33
|
}.freeze
|
34
34
|
|
35
35
|
def tag
|
@@ -39,21 +39,21 @@ module GirFFI
|
|
39
39
|
# TODO: Unify with InfoExt::ITypeInfo.flattened_tag_to_gtype_map
|
40
40
|
G_TYPE_POINTER_MAP = {
|
41
41
|
GObject::TYPE_BOOLEAN => false,
|
42
|
-
GObject::TYPE_CHAR
|
43
|
-
GObject::TYPE_UCHAR
|
44
|
-
GObject::TYPE_FLOAT
|
45
|
-
GObject::TYPE_DOUBLE
|
46
|
-
GObject::TYPE_INT
|
47
|
-
GObject::TYPE_UINT
|
48
|
-
GObject::TYPE_LONG
|
49
|
-
GObject::TYPE_ULONG
|
50
|
-
GObject::TYPE_INT64
|
51
|
-
GObject::TYPE_UINT64
|
52
|
-
GObject::TYPE_ENUM
|
53
|
-
GObject::TYPE_FLAGS
|
54
|
-
GObject::TYPE_STRING
|
55
|
-
GObject::TYPE_BOXED
|
56
|
-
GObject::TYPE_OBJECT
|
42
|
+
GObject::TYPE_CHAR => false,
|
43
|
+
GObject::TYPE_UCHAR => false,
|
44
|
+
GObject::TYPE_FLOAT => false,
|
45
|
+
GObject::TYPE_DOUBLE => false,
|
46
|
+
GObject::TYPE_INT => false,
|
47
|
+
GObject::TYPE_UINT => false,
|
48
|
+
GObject::TYPE_LONG => false,
|
49
|
+
GObject::TYPE_ULONG => false,
|
50
|
+
GObject::TYPE_INT64 => false,
|
51
|
+
GObject::TYPE_UINT64 => false,
|
52
|
+
GObject::TYPE_ENUM => false,
|
53
|
+
GObject::TYPE_FLAGS => false,
|
54
|
+
GObject::TYPE_STRING => true,
|
55
|
+
GObject::TYPE_BOXED => true,
|
56
|
+
GObject::TYPE_OBJECT => true
|
57
57
|
}.freeze
|
58
58
|
|
59
59
|
def pointer?
|
@@ -61,9 +61,9 @@ module GirFFI
|
|
61
61
|
end
|
62
62
|
|
63
63
|
G_TYPE_INTERFACE_TAG_MAP = {
|
64
|
-
GObject::TYPE_ENUM
|
65
|
-
GObject::TYPE_FLAGS
|
66
|
-
GObject::TYPE_BOXED
|
64
|
+
GObject::TYPE_ENUM => :enum,
|
65
|
+
GObject::TYPE_FLAGS => :flags,
|
66
|
+
GObject::TYPE_BOXED => :struct,
|
67
67
|
GObject::TYPE_OBJECT => :object
|
68
68
|
}.freeze
|
69
69
|
|
data/lib/gir_ffi/version.rb
CHANGED
@@ -85,7 +85,7 @@ module GirFFI
|
|
85
85
|
:pointer
|
86
86
|
elsif ffi_type.is_a? Symbol
|
87
87
|
:numeric
|
88
|
-
elsif ffi_type < GirFFI::ClassBase
|
88
|
+
elsif ffi_type < GirFFI::ClassBase # rubocop:disable Lint/DuplicateBranch
|
89
89
|
:pointer
|
90
90
|
elsif ffi_type.singleton_class.include? GirFFI::EnumBase
|
91
91
|
:enum
|
data/lib/gir_ffi-base/gobject.rb
CHANGED
@@ -7,7 +7,7 @@ require "gir_ffi-base/gobject/lib"
|
|
7
7
|
|
8
8
|
# The part of the GObject namespace that is needed by GirFFI.
|
9
9
|
#
|
10
|
-
# :reek:TooManyConstants
|
10
|
+
# :reek:TooManyConstants because it needs to hold the type constants.
|
11
11
|
module GObject
|
12
12
|
def self.type_from_name(name)
|
13
13
|
Lib.g_type_from_name name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gir_ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -16,14 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.16'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.16.3
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
29
|
+
version: '1.16'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.16.3
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: ffi-bit_masks
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +50,14 @@ dependencies:
|
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.0
|
53
|
+
version: '2.0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.0
|
60
|
+
version: '2.0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: minitest
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -71,6 +77,9 @@ dependencies:
|
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '1.3'
|
82
|
+
- - ">="
|
74
83
|
- !ruby/object:Gem::Version
|
75
84
|
version: 1.3.1
|
76
85
|
type: :development
|
@@ -78,6 +87,9 @@ dependencies:
|
|
78
87
|
version_requirements: !ruby/object:Gem::Requirement
|
79
88
|
requirements:
|
80
89
|
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '1.3'
|
92
|
+
- - ">="
|
81
93
|
- !ruby/object:Gem::Version
|
82
94
|
version: 1.3.1
|
83
95
|
- !ruby/object:Gem::Dependency
|
@@ -142,70 +154,70 @@ dependencies:
|
|
142
154
|
requirements:
|
143
155
|
- - "~>"
|
144
156
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
157
|
+
version: '1.56'
|
146
158
|
type: :development
|
147
159
|
prerelease: false
|
148
160
|
version_requirements: !ruby/object:Gem::Requirement
|
149
161
|
requirements:
|
150
162
|
- - "~>"
|
151
163
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
164
|
+
version: '1.56'
|
153
165
|
- !ruby/object:Gem::Dependency
|
154
166
|
name: rubocop-minitest
|
155
167
|
requirement: !ruby/object:Gem::Requirement
|
156
168
|
requirements:
|
157
169
|
- - "~>"
|
158
170
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
171
|
+
version: 0.32.2
|
160
172
|
type: :development
|
161
173
|
prerelease: false
|
162
174
|
version_requirements: !ruby/object:Gem::Requirement
|
163
175
|
requirements:
|
164
176
|
- - "~>"
|
165
177
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
178
|
+
version: 0.32.2
|
167
179
|
- !ruby/object:Gem::Dependency
|
168
180
|
name: rubocop-packaging
|
169
181
|
requirement: !ruby/object:Gem::Requirement
|
170
182
|
requirements:
|
171
183
|
- - "~>"
|
172
184
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.5.
|
185
|
+
version: 0.5.2
|
174
186
|
type: :development
|
175
187
|
prerelease: false
|
176
188
|
version_requirements: !ruby/object:Gem::Requirement
|
177
189
|
requirements:
|
178
190
|
- - "~>"
|
179
191
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.5.
|
192
|
+
version: 0.5.2
|
181
193
|
- !ruby/object:Gem::Dependency
|
182
194
|
name: rubocop-performance
|
183
195
|
requirement: !ruby/object:Gem::Requirement
|
184
196
|
requirements:
|
185
197
|
- - "~>"
|
186
198
|
- !ruby/object:Gem::Version
|
187
|
-
version: 1.
|
199
|
+
version: '1.19'
|
188
200
|
type: :development
|
189
201
|
prerelease: false
|
190
202
|
version_requirements: !ruby/object:Gem::Requirement
|
191
203
|
requirements:
|
192
204
|
- - "~>"
|
193
205
|
- !ruby/object:Gem::Version
|
194
|
-
version: 1.
|
206
|
+
version: '1.19'
|
195
207
|
- !ruby/object:Gem::Dependency
|
196
208
|
name: simplecov
|
197
209
|
requirement: !ruby/object:Gem::Requirement
|
198
210
|
requirements:
|
199
211
|
- - "~>"
|
200
212
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0.
|
213
|
+
version: 0.22.0
|
202
214
|
type: :development
|
203
215
|
prerelease: false
|
204
216
|
version_requirements: !ruby/object:Gem::Requirement
|
205
217
|
requirements:
|
206
218
|
- - "~>"
|
207
219
|
- !ruby/object:Gem::Version
|
208
|
-
version: 0.
|
220
|
+
version: 0.22.0
|
209
221
|
description: |
|
210
222
|
GirFFI creates bindings for GObject-based libraries at runtime based on introspection
|
211
223
|
data provided by the GObject Introspection Repository (GIR) system. Bindings are created
|
@@ -421,14 +433,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
421
433
|
requirements:
|
422
434
|
- - ">="
|
423
435
|
- !ruby/object:Gem::Version
|
424
|
-
version: 2.
|
436
|
+
version: 2.7.0
|
425
437
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
426
438
|
requirements:
|
427
439
|
- - ">="
|
428
440
|
- !ruby/object:Gem::Version
|
429
441
|
version: '0'
|
430
442
|
requirements: []
|
431
|
-
rubygems_version: 3.
|
443
|
+
rubygems_version: 3.4.20
|
432
444
|
signing_key:
|
433
445
|
specification_version: 4
|
434
446
|
summary: FFI-based GObject binding using the GObject Introspection Repository
|