gir_ffi 0.13.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +10 -0
  3. data/lib/ffi-glib/array.rb +2 -2
  4. data/lib/ffi-glib/array_methods.rb +1 -0
  5. data/lib/ffi-glib/list_methods.rb +3 -2
  6. data/lib/ffi-glib/main_loop.rb +2 -0
  7. data/lib/ffi-glib/ptr_array.rb +2 -2
  8. data/lib/ffi-gobject.rb +3 -11
  9. data/lib/ffi-gobject/closure.rb +1 -0
  10. data/lib/ffi-gobject/object.rb +30 -16
  11. data/lib/ffi-gobject/object_class.rb +2 -2
  12. data/lib/ffi-gobject/ruby_closure.rb +2 -2
  13. data/lib/ffi-gobject/value.rb +2 -1
  14. data/lib/ffi-gobject_introspection/i_arg_info.rb +11 -11
  15. data/lib/ffi-gobject_introspection/i_base_info.rb +12 -10
  16. data/lib/ffi-gobject_introspection/i_callable_info.rb +8 -8
  17. data/lib/ffi-gobject_introspection/i_enum_info.rb +5 -5
  18. data/lib/ffi-gobject_introspection/i_field_info.rb +4 -4
  19. data/lib/ffi-gobject_introspection/i_function_info.rb +2 -2
  20. data/lib/ffi-gobject_introspection/i_interface_info.rb +15 -15
  21. data/lib/ffi-gobject_introspection/i_object_info.rb +22 -22
  22. data/lib/ffi-gobject_introspection/i_property_info.rb +2 -2
  23. data/lib/ffi-gobject_introspection/i_registered_type_info.rb +3 -3
  24. data/lib/ffi-gobject_introspection/i_repository.rb +16 -10
  25. data/lib/ffi-gobject_introspection/i_struct_info.rb +11 -7
  26. data/lib/ffi-gobject_introspection/i_type_info.rb +8 -8
  27. data/lib/ffi-gobject_introspection/i_union_info.rb +7 -7
  28. data/lib/ffi-gobject_introspection/i_value_info.rb +1 -1
  29. data/lib/ffi-gobject_introspection/strv.rb +1 -0
  30. data/lib/gir_ffi-base/gobject.rb +5 -0
  31. data/lib/gir_ffi-base/gobject/lib.rb +4 -0
  32. data/lib/gir_ffi/boolean.rb +2 -2
  33. data/lib/gir_ffi/builders/argument_builder.rb +41 -14
  34. data/lib/gir_ffi/builders/argument_builder_collection.rb +17 -4
  35. data/lib/gir_ffi/builders/base_argument_builder.rb +12 -16
  36. data/lib/gir_ffi/builders/callback_argument_builder.rb +1 -1
  37. data/lib/gir_ffi/builders/callback_builder.rb +1 -1
  38. data/lib/gir_ffi/builders/closure_to_pointer_convertor.rb +2 -9
  39. data/lib/gir_ffi/builders/field_builder.rb +11 -9
  40. data/lib/gir_ffi/builders/module_builder.rb +2 -1
  41. data/lib/gir_ffi/builders/object_builder.rb +21 -12
  42. data/lib/gir_ffi/builders/pointer_value_convertor.rb +8 -6
  43. data/lib/gir_ffi/builders/property_builder.rb +4 -2
  44. data/lib/gir_ffi/builders/registered_type_builder.rb +30 -19
  45. data/lib/gir_ffi/builders/return_value_builder.rb +2 -2
  46. data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +2 -0
  47. data/lib/gir_ffi/builders/signal_closure_builder.rb +1 -1
  48. data/lib/gir_ffi/builders/struct_builder.rb +7 -8
  49. data/lib/gir_ffi/builders/unintrospectable_builder.rb +4 -1
  50. data/lib/gir_ffi/builders/user_defined_builder.rb +31 -95
  51. data/lib/gir_ffi/builders/vfunc_builder.rb +1 -1
  52. data/lib/gir_ffi/builders/with_layout.rb +3 -1
  53. data/lib/gir_ffi/callback_base.rb +3 -2
  54. data/lib/gir_ffi/class_base.rb +5 -0
  55. data/lib/gir_ffi/enum_like_base.rb +9 -5
  56. data/lib/gir_ffi/error_argument_info.rb +1 -1
  57. data/lib/gir_ffi/ffi_ext/pointer.rb +1 -4
  58. data/lib/gir_ffi/field_argument_info.rb +1 -1
  59. data/lib/gir_ffi/in_pointer.rb +36 -23
  60. data/lib/gir_ffi/info_ext/i_arg_info.rb +2 -0
  61. data/lib/gir_ffi/info_ext/i_callback_info.rb +4 -0
  62. data/lib/gir_ffi/info_ext/i_registered_type_info.rb +4 -0
  63. data/lib/gir_ffi/info_ext/i_type_info.rb +3 -27
  64. data/lib/gir_ffi/info_ext/safe_function_name.rb +1 -0
  65. data/lib/gir_ffi/interface_base.rb +5 -0
  66. data/lib/gir_ffi/module_base.rb +1 -0
  67. data/lib/gir_ffi/object_base.rb +10 -0
  68. data/lib/gir_ffi/object_store.rb +2 -0
  69. data/lib/gir_ffi/receiver_argument_info.rb +1 -1
  70. data/lib/gir_ffi/return_value_info.rb +1 -1
  71. data/lib/gir_ffi/sized_array.rb +7 -14
  72. data/lib/gir_ffi/struct_like_base.rb +3 -0
  73. data/lib/gir_ffi/type_map.rb +21 -0
  74. data/lib/gir_ffi/user_defined_object_info.rb +6 -2
  75. data/lib/gir_ffi/user_defined_property_info.rb +113 -71
  76. data/lib/gir_ffi/version.rb +1 -1
  77. data/lib/gir_ffi/zero_terminated.rb +26 -1
  78. data/tasks/test.rake +1 -0
  79. data/test/ffi-gobject_introspection/i_repository_test.rb +1 -2
  80. data/test/gir_ffi/builder_test.rb +13 -7
  81. data/test/gir_ffi/builders/argument_builder_test.rb +1 -5
  82. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +1 -1
  83. data/test/gir_ffi/builders/field_builder_test.rb +20 -20
  84. data/test/gir_ffi/builders/return_value_builder_test.rb +1 -1
  85. data/test/gir_ffi/builders/signal_closure_builder_test.rb +1 -1
  86. data/test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb +1 -1
  87. data/test/gir_ffi/builders/unintrospectable_builder_test.rb +2 -2
  88. data/test/gir_ffi/builders/vfunc_builder_test.rb +1 -1
  89. data/test/gir_ffi/enum_base_test.rb +43 -0
  90. data/test/gir_ffi/info_ext/i_type_info_test.rb +3 -9
  91. data/test/gir_ffi/object_base_test.rb +30 -0
  92. data/test/gir_ffi/sized_array_test.rb +0 -9
  93. data/test/gir_ffi/user_defined_object_info_test.rb +4 -6
  94. data/test/gir_ffi/user_defined_property_info_test.rb +6 -5
  95. data/test/gir_ffi/zero_terminated_test.rb +22 -0
  96. data/test/gir_ffi_test_helper.rb +2 -0
  97. data/test/integration/generated_gimarshallingtests_test.rb +1 -0
  98. data/test/integration/generated_gio_test.rb +5 -6
  99. data/test/integration/generated_gobject_test.rb +1 -1
  100. data/test/integration/generated_gtop_test.rb +3 -1
  101. data/test/integration/generated_regress_test.rb +3 -4
  102. metadata +3 -2
@@ -9,37 +9,37 @@ module GObjectIntrospection
9
9
  # IFunctionInfo, ICallbackInfo or IVFuncInfo.
10
10
  class ICallableInfo < IBaseInfo
11
11
  def return_type
12
- ITypeInfo.wrap Lib.g_callable_info_get_return_type(@gobj)
12
+ ITypeInfo.wrap Lib.g_callable_info_get_return_type(self)
13
13
  end
14
14
 
15
15
  def caller_owns
16
- Lib.g_callable_info_get_caller_owns @gobj
16
+ Lib.g_callable_info_get_caller_owns self
17
17
  end
18
18
 
19
19
  def may_return_null?
20
- Lib.g_callable_info_may_return_null @gobj
20
+ Lib.g_callable_info_may_return_null self
21
21
  end
22
22
 
23
23
  def can_throw_gerror?
24
- Lib.g_callable_info_can_throw_gerror @gobj
24
+ Lib.g_callable_info_can_throw_gerror self
25
25
  end
26
26
 
27
27
  def n_args
28
- Lib.g_callable_info_get_n_args @gobj
28
+ Lib.g_callable_info_get_n_args self
29
29
  end
30
30
 
31
31
  def arg(index)
32
- IArgInfo.wrap Lib.g_callable_info_get_arg(@gobj, index)
32
+ IArgInfo.wrap Lib.g_callable_info_get_arg(self, index)
33
33
  end
34
34
  ##
35
35
  build_array_method :args
36
36
 
37
37
  def skip_return?
38
- Lib.g_callable_info_skip_return @gobj
38
+ Lib.g_callable_info_skip_return self
39
39
  end
40
40
 
41
41
  def instance_ownership_transfer
42
- Lib.g_callable_info_get_instance_ownership_transfer @gobj
42
+ Lib.g_callable_info_get_instance_ownership_transfer self
43
43
  end
44
44
  end
45
45
  end
@@ -5,21 +5,21 @@ module GObjectIntrospection
5
5
  # If it represents a flag, an IFlagsInfo object is used instead.
6
6
  class IEnumInfo < IRegisteredTypeInfo
7
7
  def n_values
8
- Lib.g_enum_info_get_n_values @gobj
8
+ Lib.g_enum_info_get_n_values self
9
9
  end
10
10
 
11
11
  def value(index)
12
- IValueInfo.wrap Lib.g_enum_info_get_value(@gobj, index)
12
+ IValueInfo.wrap Lib.g_enum_info_get_value(self, index)
13
13
  end
14
14
  ##
15
15
  build_array_method :values
16
16
 
17
17
  def get_n_methods
18
- Lib.g_enum_info_get_n_methods @gobj
18
+ Lib.g_enum_info_get_n_methods self
19
19
  end
20
20
 
21
21
  def get_method(index)
22
- IFunctionInfo.wrap Lib.g_enum_info_get_method(@gobj, index)
22
+ IFunctionInfo.wrap Lib.g_enum_info_get_method(self, index)
23
23
  end
24
24
 
25
25
  ##
@@ -27,7 +27,7 @@ module GObjectIntrospection
27
27
  build_finder_method :find_method, :get_n_methods, :get_method
28
28
 
29
29
  def storage_type
30
- Lib.g_enum_info_get_storage_type @gobj
30
+ Lib.g_enum_info_get_storage_type self
31
31
  end
32
32
  end
33
33
  end
@@ -5,19 +5,19 @@ module GObjectIntrospection
5
5
  # Represents a field of an IStructInfo or an IUnionInfo.
6
6
  class IFieldInfo < IBaseInfo
7
7
  def flags
8
- Lib.g_field_info_get_flags @gobj
8
+ Lib.g_field_info_get_flags self
9
9
  end
10
10
 
11
11
  def size
12
- Lib.g_field_info_get_size @gobj
12
+ Lib.g_field_info_get_size self
13
13
  end
14
14
 
15
15
  def offset
16
- Lib.g_field_info_get_offset @gobj
16
+ Lib.g_field_info_get_offset self
17
17
  end
18
18
 
19
19
  def field_type
20
- ITypeInfo.wrap Lib.g_field_info_get_type(@gobj)
20
+ ITypeInfo.wrap Lib.g_field_info_get_type(self)
21
21
  end
22
22
 
23
23
  def readable?
@@ -5,11 +5,11 @@ module GObjectIntrospection
5
5
  # Represents a function or method.
6
6
  class IFunctionInfo < ICallableInfo
7
7
  def symbol
8
- Lib.g_function_info_get_symbol @gobj
8
+ Lib.g_function_info_get_symbol self
9
9
  end
10
10
 
11
11
  def flags
12
- Lib.g_function_info_get_flags @gobj
12
+ Lib.g_function_info_get_flags self
13
13
  end
14
14
 
15
15
  def method?
@@ -5,22 +5,22 @@ module GObjectIntrospection
5
5
  # Represents an interface.
6
6
  class IInterfaceInfo < IRegisteredTypeInfo
7
7
  def n_prerequisites
8
- Lib.g_interface_info_get_n_prerequisites @gobj
8
+ Lib.g_interface_info_get_n_prerequisites self
9
9
  end
10
10
 
11
11
  def prerequisite(index)
12
- IBaseInfo.wrap Lib.g_interface_info_get_prerequisite(@gobj, index)
12
+ IBaseInfo.wrap Lib.g_interface_info_get_prerequisite(self, index)
13
13
  end
14
14
 
15
15
  ##
16
16
  build_array_method :prerequisites
17
17
 
18
18
  def n_properties
19
- Lib.g_interface_info_get_n_properties @gobj
19
+ Lib.g_interface_info_get_n_properties self
20
20
  end
21
21
 
22
22
  def property(index)
23
- IPropertyInfo.wrap Lib.g_interface_info_get_property(@gobj, index)
23
+ IPropertyInfo.wrap Lib.g_interface_info_get_property(self, index)
24
24
  end
25
25
 
26
26
  ##
@@ -28,26 +28,26 @@ module GObjectIntrospection
28
28
  build_finder_method :find_property, :n_properties
29
29
 
30
30
  def get_n_methods
31
- Lib.g_interface_info_get_n_methods @gobj
31
+ Lib.g_interface_info_get_n_methods self
32
32
  end
33
33
 
34
34
  def get_method(index)
35
- IFunctionInfo.wrap Lib.g_interface_info_get_method(@gobj, index)
35
+ IFunctionInfo.wrap Lib.g_interface_info_get_method(self, index)
36
36
  end
37
37
 
38
38
  ##
39
39
  build_array_method :get_methods
40
40
 
41
41
  def find_method(name)
42
- IFunctionInfo.wrap Lib.g_interface_info_find_method(@gobj, name.to_s)
42
+ IFunctionInfo.wrap Lib.g_interface_info_find_method(self, name.to_s)
43
43
  end
44
44
 
45
45
  def n_signals
46
- Lib.g_interface_info_get_n_signals @gobj
46
+ Lib.g_interface_info_get_n_signals self
47
47
  end
48
48
 
49
49
  def signal(index)
50
- ISignalInfo.wrap Lib.g_interface_info_get_signal(@gobj, index)
50
+ ISignalInfo.wrap Lib.g_interface_info_get_signal(self, index)
51
51
  end
52
52
 
53
53
  ##
@@ -55,33 +55,33 @@ module GObjectIntrospection
55
55
  build_finder_method :find_signal
56
56
 
57
57
  def n_vfuncs
58
- Lib.g_interface_info_get_n_vfuncs @gobj
58
+ Lib.g_interface_info_get_n_vfuncs self
59
59
  end
60
60
 
61
61
  def vfunc(index)
62
- IVFuncInfo.wrap Lib.g_interface_info_get_vfunc(@gobj, index)
62
+ IVFuncInfo.wrap Lib.g_interface_info_get_vfunc(self, index)
63
63
  end
64
64
 
65
65
  ##
66
66
  build_array_method :vfuncs
67
67
 
68
68
  def find_vfunc(name)
69
- IVFuncInfo.wrap Lib.g_interface_info_find_vfunc(@gobj, name)
69
+ IVFuncInfo.wrap Lib.g_interface_info_find_vfunc(self, name)
70
70
  end
71
71
 
72
72
  def n_constants
73
- Lib.g_interface_info_get_n_constants @gobj
73
+ Lib.g_interface_info_get_n_constants self
74
74
  end
75
75
 
76
76
  def constant(index)
77
- IConstantInfo.wrap Lib.g_interface_info_get_constant(@gobj, index)
77
+ IConstantInfo.wrap Lib.g_interface_info_get_constant(self, index)
78
78
  end
79
79
 
80
80
  ##
81
81
  build_array_method :constants
82
82
 
83
83
  def iface_struct
84
- IStructInfo.wrap Lib.g_interface_info_get_iface_struct(@gobj)
84
+ IStructInfo.wrap Lib.g_interface_info_get_iface_struct(self)
85
85
  end
86
86
  end
87
87
  end
@@ -5,53 +5,53 @@ module GObjectIntrospection
5
5
  # Represents an object.
6
6
  class IObjectInfo < IRegisteredTypeInfo
7
7
  def type_name
8
- Lib.g_object_info_get_type_name @gobj
8
+ Lib.g_object_info_get_type_name self
9
9
  end
10
10
 
11
11
  def type_init
12
- Lib.g_object_info_get_type_init @gobj
12
+ Lib.g_object_info_get_type_init self
13
13
  end
14
14
 
15
15
  def abstract?
16
- Lib.g_object_info_get_abstract @gobj
16
+ Lib.g_object_info_get_abstract self
17
17
  end
18
18
 
19
19
  def fundamental?
20
- Lib.g_object_info_get_fundamental @gobj
20
+ Lib.g_object_info_get_fundamental self
21
21
  end
22
22
 
23
23
  def parent
24
- IObjectInfo.wrap Lib.g_object_info_get_parent(@gobj)
24
+ IObjectInfo.wrap Lib.g_object_info_get_parent(self)
25
25
  end
26
26
 
27
27
  def n_interfaces
28
- Lib.g_object_info_get_n_interfaces @gobj
28
+ Lib.g_object_info_get_n_interfaces self
29
29
  end
30
30
 
31
31
  def interface(index)
32
- IInterfaceInfo.wrap Lib.g_object_info_get_interface(@gobj, index)
32
+ IInterfaceInfo.wrap Lib.g_object_info_get_interface(self, index)
33
33
  end
34
34
 
35
35
  ##
36
36
  build_array_method :interfaces
37
37
 
38
38
  def n_fields
39
- Lib.g_object_info_get_n_fields @gobj
39
+ Lib.g_object_info_get_n_fields self
40
40
  end
41
41
 
42
42
  def field(index)
43
- IFieldInfo.wrap Lib.g_object_info_get_field(@gobj, index)
43
+ IFieldInfo.wrap Lib.g_object_info_get_field(self, index)
44
44
  end
45
45
 
46
46
  ##
47
47
  build_array_method :fields
48
48
 
49
49
  def n_properties
50
- Lib.g_object_info_get_n_properties @gobj
50
+ Lib.g_object_info_get_n_properties self
51
51
  end
52
52
 
53
53
  def property(index)
54
- IPropertyInfo.wrap Lib.g_object_info_get_property(@gobj, index)
54
+ IPropertyInfo.wrap Lib.g_object_info_get_property(self, index)
55
55
  end
56
56
 
57
57
  def properties
@@ -64,26 +64,26 @@ module GObjectIntrospection
64
64
  end
65
65
 
66
66
  def get_n_methods
67
- Lib.g_object_info_get_n_methods @gobj
67
+ Lib.g_object_info_get_n_methods self
68
68
  end
69
69
 
70
70
  def get_method(index)
71
- IFunctionInfo.wrap Lib.g_object_info_get_method(@gobj, index)
71
+ IFunctionInfo.wrap Lib.g_object_info_get_method(self, index)
72
72
  end
73
73
 
74
74
  ##
75
75
  build_array_method :get_methods
76
76
 
77
77
  def find_method(name)
78
- IFunctionInfo.wrap Lib.g_object_info_find_method(@gobj, name.to_s)
78
+ IFunctionInfo.wrap Lib.g_object_info_find_method(self, name.to_s)
79
79
  end
80
80
 
81
81
  def n_signals
82
- Lib.g_object_info_get_n_signals @gobj
82
+ Lib.g_object_info_get_n_signals self
83
83
  end
84
84
 
85
85
  def signal(index)
86
- ISignalInfo.wrap Lib.g_object_info_get_signal(@gobj, index)
86
+ ISignalInfo.wrap Lib.g_object_info_get_signal(self, index)
87
87
  end
88
88
 
89
89
  ##
@@ -91,31 +91,31 @@ module GObjectIntrospection
91
91
  build_finder_method :find_signal
92
92
 
93
93
  def n_vfuncs
94
- Lib.g_object_info_get_n_vfuncs @gobj
94
+ Lib.g_object_info_get_n_vfuncs self
95
95
  end
96
96
 
97
97
  def vfunc(index)
98
- IVFuncInfo.wrap Lib.g_object_info_get_vfunc(@gobj, index)
98
+ IVFuncInfo.wrap Lib.g_object_info_get_vfunc(self, index)
99
99
  end
100
100
 
101
101
  def find_vfunc(name)
102
- IVFuncInfo.wrap Lib.g_object_info_find_vfunc(@gobj, name.to_s)
102
+ IVFuncInfo.wrap Lib.g_object_info_find_vfunc(self, name.to_s)
103
103
  end
104
104
  ##
105
105
  build_array_method :vfuncs
106
106
 
107
107
  def n_constants
108
- Lib.g_object_info_get_n_constants @gobj
108
+ Lib.g_object_info_get_n_constants self
109
109
  end
110
110
 
111
111
  def constant(index)
112
- IConstantInfo.wrap Lib.g_object_info_get_constant(@gobj, index)
112
+ IConstantInfo.wrap Lib.g_object_info_get_constant(self, index)
113
113
  end
114
114
  ##
115
115
  build_array_method :constants
116
116
 
117
117
  def class_struct
118
- IStructInfo.wrap Lib.g_object_info_get_class_struct(@gobj)
118
+ IStructInfo.wrap Lib.g_object_info_get_class_struct(self)
119
119
  end
120
120
  end
121
121
  end
@@ -5,11 +5,11 @@ module GObjectIntrospection
5
5
  # Represents a property of an IObjectInfo or an IInterfaceInfo.
6
6
  class IPropertyInfo < IBaseInfo
7
7
  def property_type
8
- ITypeInfo.wrap Lib.g_property_info_get_type(@gobj)
8
+ ITypeInfo.wrap Lib.g_property_info_get_type(self)
9
9
  end
10
10
 
11
11
  def flags
12
- Lib.g_property_info_get_flags @gobj
12
+ Lib.g_property_info_get_flags self
13
13
  end
14
14
 
15
15
  def readable?
@@ -5,15 +5,15 @@ module GObjectIntrospection
5
5
  # Represents a registered type.
6
6
  class IRegisteredTypeInfo < IBaseInfo
7
7
  def type_name
8
- Lib.g_registered_type_info_get_type_name @gobj
8
+ Lib.g_registered_type_info_get_type_name self
9
9
  end
10
10
 
11
11
  def type_init
12
- Lib.g_registered_type_info_get_type_init @gobj
12
+ Lib.g_registered_type_info_get_type_init self
13
13
  end
14
14
 
15
15
  def g_type
16
- Lib.g_registered_type_info_get_g_type @gobj
16
+ Lib.g_registered_type_info_get_g_type self
17
17
  end
18
18
 
19
19
  alias gtype g_type
@@ -12,7 +12,11 @@ module GObjectIntrospection
12
12
  # This class wraps the GIRepository struct.
13
13
  class IRepository
14
14
  def initialize
15
- @gobj = Lib.g_irepository_get_default
15
+ @pointer = Lib.g_irepository_get_default
16
+ end
17
+
18
+ def to_ptr
19
+ @pointer
16
20
  end
17
21
 
18
22
  include Singleton
@@ -32,18 +36,18 @@ module GObjectIntrospection
32
36
  def require(namespace, version = nil, flags = 0)
33
37
  errpp = FFI::MemoryPointer.new(:pointer).write_pointer nil
34
38
 
35
- Lib.g_irepository_require @gobj, namespace, version, flags, errpp
39
+ Lib.g_irepository_require self, namespace, version, flags, errpp
36
40
 
37
41
  errp = errpp.read_pointer
38
42
  raise GError.new(errp).message unless errp.null?
39
43
  end
40
44
 
41
45
  def n_infos(namespace)
42
- Lib.g_irepository_get_n_infos @gobj, namespace
46
+ Lib.g_irepository_get_n_infos self, namespace
43
47
  end
44
48
 
45
49
  def info(namespace, index)
46
- wrap_info Lib.g_irepository_get_info(@gobj, namespace, index)
50
+ wrap_info Lib.g_irepository_get_info(self, namespace, index)
47
51
  end
48
52
 
49
53
  # Utility method
@@ -54,30 +58,32 @@ module GObjectIntrospection
54
58
  end
55
59
 
56
60
  def find_by_name(namespace, name)
57
- wrap_info Lib.g_irepository_find_by_name(@gobj, namespace, name)
61
+ wrap_info Lib.g_irepository_find_by_name(self, namespace, name)
58
62
  end
59
63
 
60
64
  def find_by_gtype(gtype)
61
- raise ArgumentError, "Type #{gtype} is not a valid type" if gtype.zero?
62
- wrap_info Lib.g_irepository_find_by_gtype(@gobj, gtype)
65
+ raise ArgumentError, "Type #{gtype} is not a valid type" if gtype == 0
66
+
67
+ wrap_info Lib.g_irepository_find_by_gtype(self, gtype)
63
68
  end
64
69
 
65
70
  def dependencies(namespace)
66
- strv_p = Lib.g_irepository_get_dependencies(@gobj, namespace)
71
+ strv_p = Lib.g_irepository_get_dependencies(self, namespace)
67
72
  strv = Strv.new strv_p
68
73
  strv.to_a
69
74
  end
70
75
 
71
76
  def shared_library(namespace)
72
- Lib.g_irepository_get_shared_library @gobj, namespace
77
+ Lib.g_irepository_get_shared_library self, namespace
73
78
  end
74
79
 
75
80
  def version(namespace)
76
- Lib.g_irepository_get_version @gobj, namespace
81
+ Lib.g_irepository_get_version self, namespace
77
82
  end
78
83
 
79
84
  def self.wrap_ibaseinfo_pointer(ptr)
80
85
  return nil if ptr.null?
86
+
81
87
  type = Lib.g_base_info_get_type ptr
82
88
  klass = TYPEMAP[type]
83
89
  klass.wrap ptr