gir_ffi 0.7.10 → 0.8.0
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 +6 -0
- data/Gemfile +3 -1
- data/README.md +5 -2
- data/lib/ffi-glib.rb +1 -0
- data/lib/ffi-glib/array.rb +6 -6
- data/lib/ffi-glib/array_methods.rb +1 -1
- data/lib/ffi-glib/byte_array.rb +1 -1
- data/lib/ffi-glib/bytes.rb +3 -3
- data/lib/ffi-glib/container_class_methods.rb +2 -2
- data/lib/ffi-glib/error.rb +2 -2
- data/lib/ffi-glib/hash_table.rb +9 -9
- data/lib/ffi-glib/iconv.rb +1 -1
- data/lib/ffi-glib/list.rb +2 -2
- data/lib/ffi-glib/list_methods.rb +8 -7
- data/lib/ffi-glib/main_loop.rb +1 -1
- data/lib/ffi-glib/ptr_array.rb +7 -7
- data/lib/ffi-glib/s_list.rb +2 -2
- data/lib/ffi-glib/strv.rb +3 -3
- data/lib/ffi-glib/variant.rb +9 -2
- data/lib/ffi-gobject.rb +10 -10
- data/lib/ffi-gobject/closure.rb +1 -1
- data/lib/ffi-gobject/initially_unowned.rb +4 -3
- data/lib/ffi-gobject/object.rb +19 -19
- data/lib/ffi-gobject/object_class.rb +2 -2
- data/lib/ffi-gobject/ruby_closure.rb +5 -4
- data/lib/ffi-gobject/value.rb +15 -20
- data/lib/ffi-gobject_introspection/g_error.rb +1 -1
- data/lib/ffi-gobject_introspection/i_base_info.rb +6 -6
- data/lib/ffi-gobject_introspection/i_callable_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_enum_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_interface_info.rb +8 -8
- data/lib/ffi-gobject_introspection/i_object_info.rb +9 -9
- data/lib/ffi-gobject_introspection/i_repository.rb +13 -13
- data/lib/ffi-gobject_introspection/i_struct_info.rb +2 -2
- data/lib/ffi-gobject_introspection/i_type_info.rb +1 -1
- data/lib/ffi-gobject_introspection/i_union_info.rb +3 -3
- data/lib/ffi-gobject_introspection/lib.rb +4 -4
- data/lib/gir_ffi-base/glib/boolean.rb +4 -4
- data/lib/gir_ffi-base/glib/strv.rb +2 -2
- data/lib/gir_ffi/allocation_helper.rb +1 -1
- data/lib/gir_ffi/arg_helper.rb +8 -8
- data/lib/gir_ffi/boxed_base.rb +5 -9
- data/lib/gir_ffi/builder.rb +4 -4
- data/lib/gir_ffi/builder_helper.rb +3 -3
- data/lib/gir_ffi/builders/argument_builder_collection.rb +1 -1
- data/lib/gir_ffi/builders/base_argument_builder.rb +3 -3
- data/lib/gir_ffi/builders/base_method_builder.rb +71 -0
- data/lib/gir_ffi/builders/base_type_builder.rb +1 -1
- data/lib/gir_ffi/builders/boxed_builder.rb +3 -2
- data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +1 -1
- data/lib/gir_ffi/builders/closure_convertor.rb +1 -1
- data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +1 -1
- data/lib/gir_ffi/builders/constructor_builder.rb +52 -0
- data/lib/gir_ffi/builders/enum_builder.rb +3 -3
- data/lib/gir_ffi/builders/field_builder.rb +3 -2
- data/lib/gir_ffi/builders/function_builder.rb +9 -50
- data/lib/gir_ffi/builders/initializer_builder.rb +32 -0
- data/lib/gir_ffi/builders/initializer_return_value_builder.rb +16 -0
- data/lib/gir_ffi/builders/mapping_method_builder.rb +7 -5
- data/lib/gir_ffi/builders/marshalling_method_builder.rb +5 -3
- data/lib/gir_ffi/builders/method_template.rb +1 -1
- data/lib/gir_ffi/builders/module_builder.rb +8 -7
- data/lib/gir_ffi/builders/null_convertor.rb +1 -1
- data/lib/gir_ffi/builders/null_return_value_builder.rb +21 -0
- data/lib/gir_ffi/builders/object_builder.rb +3 -3
- data/lib/gir_ffi/builders/property_builder.rb +1 -1
- data/lib/gir_ffi/builders/registered_type_builder.rb +31 -15
- data/lib/gir_ffi/builders/return_value_builder.rb +1 -14
- data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +2 -2
- data/lib/gir_ffi/builders/signal_closure_builder.rb +1 -1
- data/lib/gir_ffi/builders/type_builder.rb +2 -2
- data/lib/gir_ffi/builders/unintrospectable_builder.rb +1 -1
- data/lib/gir_ffi/builders/user_defined_builder.rb +11 -11
- data/lib/gir_ffi/builders/vfunc_builder.rb +1 -1
- data/lib/gir_ffi/callback_base.rb +8 -13
- data/lib/gir_ffi/class_base.rb +41 -45
- data/lib/gir_ffi/core.rb +2 -2
- data/lib/gir_ffi/enum_base.rb +9 -14
- data/lib/gir_ffi/field_argument_info.rb +1 -1
- data/lib/gir_ffi/g_type.rb +1 -1
- data/lib/gir_ffi/glib_error.rb +1 -1
- data/lib/gir_ffi/in_out_pointer.rb +4 -4
- data/lib/gir_ffi/in_pointer.rb +12 -12
- data/lib/gir_ffi/info_ext/i_arg_info.rb +0 -10
- data/lib/gir_ffi/info_ext/i_callback_info.rb +0 -5
- data/lib/gir_ffi/info_ext/i_property_info.rb +1 -1
- data/lib/gir_ffi/info_ext/i_registered_type_info.rb +1 -6
- data/lib/gir_ffi/info_ext/i_signal_info.rb +2 -2
- data/lib/gir_ffi/info_ext/i_type_info.rb +2 -17
- data/lib/gir_ffi/info_ext/i_unresolved_info.rb +0 -5
- data/lib/gir_ffi/info_ext/i_vfunc_info.rb +2 -2
- data/lib/gir_ffi/interface_base.rb +2 -7
- data/lib/gir_ffi/method_stubber.rb +1 -1
- data/lib/gir_ffi/module_base.rb +4 -7
- data/lib/gir_ffi/object_base.rb +4 -9
- data/lib/gir_ffi/receiver_argument_info.rb +1 -1
- data/lib/gir_ffi/receiver_type_info.rb +1 -1
- data/lib/gir_ffi/registered_type_base.rb +0 -5
- data/lib/gir_ffi/return_value_info.rb +1 -1
- data/lib/gir_ffi/sized_array.rb +10 -10
- data/lib/gir_ffi/type_map.rb +3 -3
- data/lib/gir_ffi/unintrospectable_type_info.rb +3 -1
- data/lib/gir_ffi/user_data_argument_info.rb +1 -1
- data/lib/gir_ffi/user_defined_property_info.rb +1 -1
- data/lib/gir_ffi/user_defined_type_info.rb +4 -4
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi/vfunc_implementation.rb +1 -1
- data/lib/gir_ffi/zero_terminated.rb +6 -6
- data/test/base_test_helper.rb +13 -13
- data/test/ffi-gobject/object_test.rb +22 -1
- data/test/ffi-gobject/value_test.rb +24 -24
- data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +4 -4
- data/test/ffi-gobject_introspection/i_type_info_test.rb +2 -2
- data/test/ffi-gobject_test.rb +2 -2
- data/test/gir_ffi/builders/argument_builder_test.rb +60 -60
- data/test/gir_ffi/builders/callback_argument_builder_test.rb +8 -8
- data/test/gir_ffi/builders/callback_builder_test.rb +4 -4
- data/test/gir_ffi/builders/callback_return_value_builder_test.rb +8 -8
- data/test/gir_ffi/builders/constructor_builder_test.rb +34 -0
- data/test/gir_ffi/builders/function_builder_test.rb +8 -24
- data/test/gir_ffi/builders/initializer_builder_test.rb +36 -0
- data/test/gir_ffi/builders/interface_builder_test.rb +2 -2
- data/test/gir_ffi/builders/object_builder_test.rb +6 -18
- data/test/gir_ffi/builders/property_builder_test.rb +2 -2
- data/test/gir_ffi/builders/return_value_builder_test.rb +54 -79
- data/test/gir_ffi/builders/signal_closure_builder_test.rb +14 -14
- data/test/gir_ffi/builders/user_defined_builder_test.rb +8 -8
- data/test/gir_ffi/builders/vfunc_builder_test.rb +22 -22
- data/test/gir_ffi/class_base_test.rb +9 -7
- data/test/gir_ffi/in_pointer_test.rb +1 -1
- data/test/gir_ffi/info_ext/i_callable_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/i_callback_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/i_field_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/i_function_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/i_signal_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/i_type_info_test.rb +18 -18
- data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +2 -2
- data/test/gir_ffi/info_ext/safe_constant_name_test.rb +2 -2
- data/test/gir_ffi/info_ext/safe_function_name_test.rb +2 -2
- data/test/gir_ffi/method_stubber_test.rb +6 -6
- data/test/gir_ffi/user_defined_type_info_test.rb +3 -3
- data/test/gir_ffi_test_helper.rb +12 -12
- data/test/integration/derived_classes_test.rb +7 -3
- data/test/integration/generated_gimarshallingtests_test.rb +10 -10
- data/test/integration/generated_regress_test.rb +11 -20
- data/test/introspection_test_helper.rb +1 -1
- data/test/minitest/stats_plugin.rb +3 -3
- metadata +9 -3
- data/lib/gir_ffi/builders/constructor_result_convertor.rb +0 -14
data/lib/ffi-gobject/closure.rb
CHANGED
@@ -4,10 +4,11 @@ module GObject
|
|
4
4
|
# Overrides for GInitiallyUnowned, GObject's base class for objects that
|
5
5
|
# start with a floating reference.
|
6
6
|
class InitiallyUnowned
|
7
|
-
#
|
7
|
+
# Initializing method used in constructors. For InitiallyUnowned and
|
8
8
|
# descendants, this needs to sink the object's floating reference.
|
9
|
-
def
|
10
|
-
super
|
9
|
+
def store_pointer(ptr)
|
10
|
+
super
|
11
|
+
::GObject::Lib.g_object_ref_sink ptr
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
data/lib/ffi-gobject/object.rb
CHANGED
@@ -5,25 +5,25 @@ module GObject
|
|
5
5
|
class Object
|
6
6
|
setup_method 'new'
|
7
7
|
|
8
|
-
def
|
9
|
-
super
|
10
|
-
|
11
|
-
|
8
|
+
def store_pointer(ptr)
|
9
|
+
super
|
10
|
+
klass = self.class
|
11
|
+
ObjectSpace.define_finalizer self, klass.make_finalizer(ptr, klass.name)
|
12
12
|
end
|
13
13
|
|
14
|
-
def self.make_finalizer
|
15
|
-
proc
|
14
|
+
def self.make_finalizer(ptr, name)
|
15
|
+
proc do
|
16
16
|
rc = GObject::Object::Struct.new(ptr)[:ref_count]
|
17
|
-
if rc == 0
|
17
|
+
if rc == 0
|
18
18
|
warn "not unreffing #{name}:#{ptr} (#{rc})"
|
19
19
|
else
|
20
20
|
GObject::Lib.g_object_unref ptr
|
21
21
|
end
|
22
|
-
|
22
|
+
end
|
23
23
|
end
|
24
24
|
|
25
25
|
# TODO: Generate accessor methods from GIR at class definition time
|
26
|
-
def method_missing
|
26
|
+
def method_missing(method, *args)
|
27
27
|
getter_name = "get_#{method}"
|
28
28
|
return send(getter_name, *args) if respond_to?(getter_name)
|
29
29
|
if method.to_s =~ /(.*)=$/
|
@@ -33,18 +33,18 @@ module GObject
|
|
33
33
|
super
|
34
34
|
end
|
35
35
|
|
36
|
-
def signal_connect
|
36
|
+
def signal_connect(event, data = nil, &block)
|
37
37
|
GObject.signal_connect(self, event, data, &block)
|
38
38
|
end
|
39
39
|
|
40
|
-
def signal_connect_after
|
40
|
+
def signal_connect_after(event, data = nil, &block)
|
41
41
|
GObject.signal_connect_after(self, event, data, &block)
|
42
42
|
end
|
43
43
|
|
44
44
|
setup_instance_method 'get_property'
|
45
45
|
setup_instance_method 'set_property'
|
46
46
|
|
47
|
-
def get_property_extended
|
47
|
+
def get_property_extended(property_name)
|
48
48
|
gvalue = get_property property_name
|
49
49
|
type_info = get_property_type property_name
|
50
50
|
case type_info.tag
|
@@ -55,25 +55,25 @@ module GObject
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
def get_property_with_override
|
58
|
+
def get_property_with_override(property_name)
|
59
59
|
pspec = type_class.find_property property_name
|
60
60
|
|
61
|
-
gvalue = GObject::Value.
|
61
|
+
gvalue = GObject::Value.for_gtype pspec.value_type
|
62
62
|
get_property_without_override property_name, gvalue
|
63
63
|
|
64
64
|
gvalue
|
65
65
|
end
|
66
66
|
|
67
|
-
def set_property_extended
|
67
|
+
def set_property_extended(property_name, value)
|
68
68
|
type_info = get_property_type property_name
|
69
69
|
adjusted_value = adjust_value_to_type(value, type_info)
|
70
70
|
|
71
71
|
set_property property_name, adjusted_value
|
72
72
|
end
|
73
73
|
|
74
|
-
def set_property_with_override
|
74
|
+
def set_property_with_override(property_name, value)
|
75
75
|
pspec = type_class.find_property property_name
|
76
|
-
gvalue = GObject::Value.
|
76
|
+
gvalue = GObject::Value.for_gtype pspec.value_type
|
77
77
|
gvalue.set_value value
|
78
78
|
set_property_without_override property_name, gvalue
|
79
79
|
end
|
@@ -93,13 +93,13 @@ module GObject
|
|
93
93
|
|
94
94
|
private
|
95
95
|
|
96
|
-
def get_property_type
|
96
|
+
def get_property_type(property_name)
|
97
97
|
prop = self.class.find_property property_name
|
98
98
|
prop.property_type
|
99
99
|
end
|
100
100
|
|
101
101
|
# TODO: Move to ITypeInfo
|
102
|
-
def adjust_value_to_type
|
102
|
+
def adjust_value_to_type(val, type_info)
|
103
103
|
case type_info.flattened_tag
|
104
104
|
when :ghash
|
105
105
|
GLib::HashTable.from type_info.element_type, val
|
@@ -3,11 +3,11 @@ GObject.load_class :ObjectClass
|
|
3
3
|
module GObject
|
4
4
|
# Overrides for GObjectClass, a struct containing GObject's class data
|
5
5
|
class ObjectClass
|
6
|
-
def set_property=
|
6
|
+
def set_property=(callback)
|
7
7
|
@struct[:set_property] = GObject::ObjectSetPropertyFunc.from callback
|
8
8
|
end
|
9
9
|
|
10
|
-
def get_property=
|
10
|
+
def get_property=(callback)
|
11
11
|
@struct[:get_property] = GObject::ObjectGetPropertyFunc.from callback
|
12
12
|
end
|
13
13
|
end
|
@@ -15,7 +15,7 @@ module GObject
|
|
15
15
|
:block_id, :int64
|
16
16
|
end
|
17
17
|
|
18
|
-
def self.new
|
18
|
+
def self.new(&block)
|
19
19
|
raise ArgumentError unless block_given?
|
20
20
|
|
21
21
|
closure = wrap(new_simple(self::Struct.size, nil).to_ptr)
|
@@ -26,7 +26,8 @@ module GObject
|
|
26
26
|
end
|
27
27
|
|
28
28
|
# @api private
|
29
|
-
def self.marshaller
|
29
|
+
def self.marshaller(closure, return_value, param_values, _invocation_hint,
|
30
|
+
_marshal_data)
|
30
31
|
# TODO: Improve by registering RubyClosure as a GObject type
|
31
32
|
rclosure = wrap(closure.to_ptr)
|
32
33
|
param_values ||= []
|
@@ -40,14 +41,14 @@ module GObject
|
|
40
41
|
|
41
42
|
# @api private
|
42
43
|
# TODO: Re-structure so block= and invoke_block can become private methods
|
43
|
-
def block=
|
44
|
+
def block=(block)
|
44
45
|
id = block.object_id
|
45
46
|
BLOCK_STORE[id] = block
|
46
47
|
@struct[:block_id] = id
|
47
48
|
end
|
48
49
|
|
49
50
|
# @api private
|
50
|
-
def invoke_block
|
51
|
+
def invoke_block(*args)
|
51
52
|
block.call(*args)
|
52
53
|
end
|
53
54
|
|
data/lib/ffi-gobject/value.rb
CHANGED
@@ -5,7 +5,7 @@ module GObject
|
|
5
5
|
class Value
|
6
6
|
setup_instance_method 'init'
|
7
7
|
|
8
|
-
def init_with_finalizer
|
8
|
+
def init_with_finalizer(type)
|
9
9
|
init_without_finalizer(type).tap do
|
10
10
|
ObjectSpace.define_finalizer self, self.class.make_finalizer(to_ptr)
|
11
11
|
end
|
@@ -14,14 +14,14 @@ module GObject
|
|
14
14
|
alias_method :init_without_finalizer, :init
|
15
15
|
alias_method :init, :init_with_finalizer
|
16
16
|
|
17
|
-
def self.make_finalizer
|
18
|
-
proc
|
17
|
+
def self.make_finalizer(ptr)
|
18
|
+
proc do
|
19
19
|
GObject::Lib.g_value_unset ptr
|
20
|
-
|
20
|
+
end
|
21
21
|
end
|
22
22
|
|
23
23
|
# TODO: Give more generic name
|
24
|
-
def set_ruby_value
|
24
|
+
def set_ruby_value(val)
|
25
25
|
init_for_ruby_value val if current_gtype == 0
|
26
26
|
set_value val
|
27
27
|
end
|
@@ -49,7 +49,7 @@ module GObject
|
|
49
49
|
TYPE_VARIANT => [:get_variant, :set_variant]
|
50
50
|
}
|
51
51
|
|
52
|
-
def set_value
|
52
|
+
def set_value(val)
|
53
53
|
send set_method, val
|
54
54
|
end
|
55
55
|
|
@@ -62,7 +62,7 @@ module GObject
|
|
62
62
|
String => TYPE_STRING
|
63
63
|
}
|
64
64
|
|
65
|
-
def init_for_ruby_value
|
65
|
+
def init_for_ruby_value(val)
|
66
66
|
CLASS_TO_GTYPE_MAP.each do |klass, type|
|
67
67
|
if val.is_a? klass
|
68
68
|
init type
|
@@ -98,11 +98,11 @@ module GObject
|
|
98
98
|
end
|
99
99
|
|
100
100
|
# TODO: Give more generic name
|
101
|
-
def self.wrap_ruby_value
|
101
|
+
def self.wrap_ruby_value(val)
|
102
102
|
new.tap { |gv| gv.set_ruby_value val }
|
103
103
|
end
|
104
104
|
|
105
|
-
def self.from
|
105
|
+
def self.from(val)
|
106
106
|
case val
|
107
107
|
when self
|
108
108
|
val
|
@@ -113,12 +113,7 @@ module GObject
|
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
-
|
117
|
-
def self.for_g_type g_type
|
118
|
-
for_gtype g_type
|
119
|
-
end
|
120
|
-
|
121
|
-
def self.for_gtype gtype
|
116
|
+
def self.for_gtype(gtype)
|
122
117
|
return nil if gtype == TYPE_NONE
|
123
118
|
new.tap do |it|
|
124
119
|
it.init gtype
|
@@ -126,7 +121,7 @@ module GObject
|
|
126
121
|
end
|
127
122
|
|
128
123
|
# TODO: Combine with wrap_ruby_value
|
129
|
-
def self.wrap_instance
|
124
|
+
def self.wrap_instance(instance)
|
130
125
|
new.tap do |it|
|
131
126
|
it.init GObject.type_from_instance instance
|
132
127
|
it.set_instance instance
|
@@ -135,12 +130,12 @@ module GObject
|
|
135
130
|
|
136
131
|
private
|
137
132
|
|
138
|
-
def set_instance_enhanced
|
133
|
+
def set_instance_enhanced(val)
|
139
134
|
check_type_compatibility val if val
|
140
135
|
set_instance val
|
141
136
|
end
|
142
137
|
|
143
|
-
def set_enum_enhanced
|
138
|
+
def set_enum_enhanced(val)
|
144
139
|
val = current_gtype_class[val] if val.is_a? Symbol
|
145
140
|
set_enum val
|
146
141
|
end
|
@@ -153,13 +148,13 @@ module GObject
|
|
153
148
|
GirFFI::Builder.build_by_gtype(current_gtype)
|
154
149
|
end
|
155
150
|
|
156
|
-
def check_type_compatibility
|
151
|
+
def check_type_compatibility(val)
|
157
152
|
unless GObject::Value.type_compatible(GObject.type_from_instance(val), current_gtype)
|
158
153
|
raise ArgumentError, "#{val.class} is incompatible with #{current_gtype_name}"
|
159
154
|
end
|
160
155
|
end
|
161
156
|
|
162
|
-
def wrap_boxed
|
157
|
+
def wrap_boxed(boxed)
|
163
158
|
case current_gtype
|
164
159
|
when TYPE_STRV
|
165
160
|
GLib::Strv.wrap boxed
|
@@ -2,7 +2,7 @@ module GObjectIntrospection
|
|
2
2
|
# Wraps GIBaseInfo struct, the base \type for all info types.
|
3
3
|
# Decendant types will be implemented as needed.
|
4
4
|
class IBaseInfo
|
5
|
-
def initialize
|
5
|
+
def initialize(ptr, lib = Lib)
|
6
6
|
raise ArgumentError, 'ptr must not be null' if ptr.null?
|
7
7
|
|
8
8
|
ObjectSpace.define_finalizer self, self.class.make_finalizer(lib, ptr)
|
@@ -11,7 +11,7 @@ module GObjectIntrospection
|
|
11
11
|
@lib = lib
|
12
12
|
end
|
13
13
|
|
14
|
-
def self.make_finalizer
|
14
|
+
def self.make_finalizer(lib, ptr)
|
15
15
|
proc { lib.g_base_info_unref ptr }
|
16
16
|
end
|
17
17
|
|
@@ -34,7 +34,7 @@ module GObjectIntrospection
|
|
34
34
|
# build_array_mehtod :properties, :property
|
35
35
|
# build_array_method :get_methods
|
36
36
|
#
|
37
|
-
def self.build_array_method
|
37
|
+
def self.build_array_method(method, single = nil)
|
38
38
|
method = method.to_s
|
39
39
|
single ||= method.to_s[0..-2]
|
40
40
|
count = method.sub(/^(get_)?/, '\\1n_')
|
@@ -63,7 +63,7 @@ module GObjectIntrospection
|
|
63
63
|
# build_finder_method :find_property, :n_properties
|
64
64
|
# build_finder_method :find_method, :get_n_methods, :get_method
|
65
65
|
#
|
66
|
-
def self.build_finder_method
|
66
|
+
def self.build_finder_method(method, counter = nil, fetcher = nil)
|
67
67
|
method = method.to_s
|
68
68
|
single = method.sub(/^find_/, '')
|
69
69
|
counter ||= "n_#{single}s"
|
@@ -105,11 +105,11 @@ module GObjectIntrospection
|
|
105
105
|
Lib.g_base_info_is_deprecated @gobj
|
106
106
|
end
|
107
107
|
|
108
|
-
def self.wrap
|
108
|
+
def self.wrap(ptr)
|
109
109
|
new ptr unless ptr.null?
|
110
110
|
end
|
111
111
|
|
112
|
-
def ==
|
112
|
+
def ==(other)
|
113
113
|
other.is_a?(IBaseInfo) && Lib.g_base_info_equal(@gobj, other)
|
114
114
|
end
|
115
115
|
end
|
@@ -6,7 +6,7 @@ module GObjectIntrospection
|
|
6
6
|
Lib.g_enum_info_get_n_values @gobj
|
7
7
|
end
|
8
8
|
|
9
|
-
def value
|
9
|
+
def value(index)
|
10
10
|
IValueInfo.wrap(Lib.g_enum_info_get_value @gobj, index)
|
11
11
|
end
|
12
12
|
##
|
@@ -16,7 +16,7 @@ module GObjectIntrospection
|
|
16
16
|
Lib.g_enum_info_get_n_methods @gobj
|
17
17
|
end
|
18
18
|
|
19
|
-
def get_method
|
19
|
+
def get_method(index)
|
20
20
|
IFunctionInfo.wrap(Lib.g_enum_info_get_method @gobj, index)
|
21
21
|
end
|
22
22
|
|
@@ -6,7 +6,7 @@ module GObjectIntrospection
|
|
6
6
|
Lib.g_interface_info_get_n_prerequisites @gobj
|
7
7
|
end
|
8
8
|
|
9
|
-
def prerequisite
|
9
|
+
def prerequisite(index)
|
10
10
|
IBaseInfo.wrap(Lib.g_interface_info_get_prerequisite @gobj, index)
|
11
11
|
end
|
12
12
|
|
@@ -17,7 +17,7 @@ module GObjectIntrospection
|
|
17
17
|
Lib.g_interface_info_get_n_properties @gobj
|
18
18
|
end
|
19
19
|
|
20
|
-
def property
|
20
|
+
def property(index)
|
21
21
|
IPropertyInfo.wrap(Lib.g_interface_info_get_property @gobj, index)
|
22
22
|
end
|
23
23
|
|
@@ -29,14 +29,14 @@ module GObjectIntrospection
|
|
29
29
|
Lib.g_interface_info_get_n_methods @gobj
|
30
30
|
end
|
31
31
|
|
32
|
-
def get_method
|
32
|
+
def get_method(index)
|
33
33
|
IFunctionInfo.wrap(Lib.g_interface_info_get_method @gobj, index)
|
34
34
|
end
|
35
35
|
|
36
36
|
##
|
37
37
|
build_array_method :get_methods
|
38
38
|
|
39
|
-
def find_method
|
39
|
+
def find_method(name)
|
40
40
|
IFunctionInfo.wrap(Lib.g_interface_info_find_method @gobj, name)
|
41
41
|
end
|
42
42
|
|
@@ -44,7 +44,7 @@ module GObjectIntrospection
|
|
44
44
|
Lib.g_interface_info_get_n_signals @gobj
|
45
45
|
end
|
46
46
|
|
47
|
-
def signal
|
47
|
+
def signal(index)
|
48
48
|
ISignalInfo.wrap(Lib.g_interface_info_get_signal @gobj, index)
|
49
49
|
end
|
50
50
|
|
@@ -56,14 +56,14 @@ module GObjectIntrospection
|
|
56
56
|
Lib.g_interface_info_get_n_vfuncs @gobj
|
57
57
|
end
|
58
58
|
|
59
|
-
def vfunc
|
59
|
+
def vfunc(index)
|
60
60
|
IVFuncInfo.wrap(Lib.g_interface_info_get_vfunc @gobj, index)
|
61
61
|
end
|
62
62
|
|
63
63
|
##
|
64
64
|
build_array_method :vfuncs
|
65
65
|
|
66
|
-
def find_vfunc
|
66
|
+
def find_vfunc(name)
|
67
67
|
IVFuncInfo.wrap(Lib.g_interface_info_find_vfunc @gobj, name)
|
68
68
|
end
|
69
69
|
|
@@ -71,7 +71,7 @@ module GObjectIntrospection
|
|
71
71
|
Lib.g_interface_info_get_n_constants @gobj
|
72
72
|
end
|
73
73
|
|
74
|
-
def constant
|
74
|
+
def constant(index)
|
75
75
|
IConstantInfo.wrap(Lib.g_interface_info_get_constant @gobj, index)
|
76
76
|
end
|
77
77
|
|
@@ -26,7 +26,7 @@ module GObjectIntrospection
|
|
26
26
|
Lib.g_object_info_get_n_interfaces @gobj
|
27
27
|
end
|
28
28
|
|
29
|
-
def interface
|
29
|
+
def interface(index)
|
30
30
|
IInterfaceInfo.wrap(Lib.g_object_info_get_interface @gobj, index)
|
31
31
|
end
|
32
32
|
|
@@ -37,7 +37,7 @@ module GObjectIntrospection
|
|
37
37
|
Lib.g_object_info_get_n_fields @gobj
|
38
38
|
end
|
39
39
|
|
40
|
-
def field
|
40
|
+
def field(index)
|
41
41
|
IFieldInfo.wrap(Lib.g_object_info_get_field @gobj, index)
|
42
42
|
end
|
43
43
|
|
@@ -48,7 +48,7 @@ module GObjectIntrospection
|
|
48
48
|
Lib.g_object_info_get_n_properties @gobj
|
49
49
|
end
|
50
50
|
|
51
|
-
def property
|
51
|
+
def property(index)
|
52
52
|
IPropertyInfo.wrap(Lib.g_object_info_get_property @gobj, index)
|
53
53
|
end
|
54
54
|
|
@@ -60,14 +60,14 @@ module GObjectIntrospection
|
|
60
60
|
Lib.g_object_info_get_n_methods @gobj
|
61
61
|
end
|
62
62
|
|
63
|
-
def get_method
|
63
|
+
def get_method(index)
|
64
64
|
IFunctionInfo.wrap(Lib.g_object_info_get_method @gobj, index)
|
65
65
|
end
|
66
66
|
|
67
67
|
##
|
68
68
|
build_array_method :get_methods
|
69
69
|
|
70
|
-
def find_method
|
70
|
+
def find_method(name)
|
71
71
|
IFunctionInfo.wrap(Lib.g_object_info_find_method @gobj, name)
|
72
72
|
end
|
73
73
|
|
@@ -75,7 +75,7 @@ module GObjectIntrospection
|
|
75
75
|
Lib.g_object_info_get_n_signals @gobj
|
76
76
|
end
|
77
77
|
|
78
|
-
def signal
|
78
|
+
def signal(index)
|
79
79
|
ISignalInfo.wrap(Lib.g_object_info_get_signal @gobj, index)
|
80
80
|
end
|
81
81
|
|
@@ -87,11 +87,11 @@ module GObjectIntrospection
|
|
87
87
|
Lib.g_object_info_get_n_vfuncs @gobj
|
88
88
|
end
|
89
89
|
|
90
|
-
def vfunc
|
90
|
+
def vfunc(index)
|
91
91
|
IVFuncInfo.wrap(Lib.g_object_info_get_vfunc @gobj, index)
|
92
92
|
end
|
93
93
|
|
94
|
-
def find_vfunc
|
94
|
+
def find_vfunc(name)
|
95
95
|
IVFuncInfo.wrap(Lib.g_object_info_find_vfunc @gobj, name)
|
96
96
|
end
|
97
97
|
##
|
@@ -101,7 +101,7 @@ module GObjectIntrospection
|
|
101
101
|
Lib.g_object_info_get_n_constants @gobj
|
102
102
|
end
|
103
103
|
|
104
|
-
def constant
|
104
|
+
def constant(index)
|
105
105
|
IConstantInfo.wrap(Lib.g_object_info_get_constant @gobj, index)
|
106
106
|
end
|
107
107
|
##
|