gobject-introspection 3.4.5 → 3.4.9
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/ext/gobject-introspection/gobject-introspection-enum-types.c +230 -0
- data/ext/gobject-introspection/gobject-introspection-enum-types.h +42 -0
- data/ext/gobject-introspection/rb-gi-argument.c +1 -1
- data/ext/gobject-introspection/rb-gi-arguments-in.c +1 -1
- data/ext/gobject-introspection/rb-gi-arguments.c +44 -16
- data/ext/gobject-introspection/rb-gi-loader.c +2 -2
- data/ext/gobject-introspection/rbgiversion.h +24 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46669e91b4af175368180fc2152330751da6a7a240f942e6d7acef846822fdf7
|
4
|
+
data.tar.gz: 0456bafef2aca2d5c43dff46556b11d181251bc95e455b3de4b12d9ddc298f87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5a15ad2b14adf1be44f0924eb002c24256c77c30016f5fa0734d0035e1a5842ca70edb624614da61c8f3065bcf1f4bc832685cfc383a0e3daa5e5aa020bb312
|
7
|
+
data.tar.gz: e5e058654ef3ac94dd75dd1c247ee3c68fcda15eb7996f9523688ae77f6f5a7e7d3943f450864aa4acbc94cefa6da6da0a6aec221eaca9bba8de3087a853ad4d
|
@@ -0,0 +1,230 @@
|
|
1
|
+
|
2
|
+
/* Generated by glib-mkenums.rb ($Id$) */
|
3
|
+
|
4
|
+
#include "gobject-introspection-enum-types.h"
|
5
|
+
#include <girepository.h>
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
/* enumerations from "/usr/include/gobject-introspection-1.0/girepository.h" */
|
10
|
+
GType
|
11
|
+
g_i_repository_load_flags_get_type (void)
|
12
|
+
{
|
13
|
+
static GType etype = 0;
|
14
|
+
if (etype == 0) {
|
15
|
+
static const GFlagsValue values[] = {
|
16
|
+
{ G_IREPOSITORY_LOAD_FLAG_LAZY, "G_IREPOSITORY_LOAD_FLAG_LAZY", "g-irepository-load-flag-lazy" },
|
17
|
+
{ 0, NULL, NULL }
|
18
|
+
};
|
19
|
+
etype = g_flags_register_static ("GIRepositoryLoadFlags", values);
|
20
|
+
}
|
21
|
+
return etype;
|
22
|
+
}
|
23
|
+
|
24
|
+
GType
|
25
|
+
g_i_repository_error_get_type (void)
|
26
|
+
{
|
27
|
+
static GType etype = 0;
|
28
|
+
if (etype == 0) {
|
29
|
+
static const GEnumValue values[] = {
|
30
|
+
{ G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND, "G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND", "typelib-not-found" },
|
31
|
+
{ G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH, "G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH", "namespace-mismatch" },
|
32
|
+
{ G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT, "G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT", "namespace-version-conflict" },
|
33
|
+
{ G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND, "G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND", "library-not-found" },
|
34
|
+
{ 0, NULL, NULL }
|
35
|
+
};
|
36
|
+
etype = g_enum_register_static ("GIRepositoryError", values);
|
37
|
+
}
|
38
|
+
return etype;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
/* enumerations from "/usr/include/gobject-introspection-1.0/gitypes.h" */
|
43
|
+
GType
|
44
|
+
g_i_info_type_get_type (void)
|
45
|
+
{
|
46
|
+
static GType etype = 0;
|
47
|
+
if (etype == 0) {
|
48
|
+
static const GEnumValue values[] = {
|
49
|
+
{ GI_INFO_TYPE_INVALID, "GI_INFO_TYPE_INVALID", "invalid" },
|
50
|
+
{ GI_INFO_TYPE_FUNCTION, "GI_INFO_TYPE_FUNCTION", "function" },
|
51
|
+
{ GI_INFO_TYPE_CALLBACK, "GI_INFO_TYPE_CALLBACK", "callback" },
|
52
|
+
{ GI_INFO_TYPE_STRUCT, "GI_INFO_TYPE_STRUCT", "struct" },
|
53
|
+
{ GI_INFO_TYPE_BOXED, "GI_INFO_TYPE_BOXED", "boxed" },
|
54
|
+
{ GI_INFO_TYPE_ENUM, "GI_INFO_TYPE_ENUM", "enum" },
|
55
|
+
{ GI_INFO_TYPE_FLAGS, "GI_INFO_TYPE_FLAGS", "flags" },
|
56
|
+
{ GI_INFO_TYPE_OBJECT, "GI_INFO_TYPE_OBJECT", "object" },
|
57
|
+
{ GI_INFO_TYPE_INTERFACE, "GI_INFO_TYPE_INTERFACE", "interface" },
|
58
|
+
{ GI_INFO_TYPE_CONSTANT, "GI_INFO_TYPE_CONSTANT", "constant" },
|
59
|
+
{ GI_INFO_TYPE_INVALID_0, "GI_INFO_TYPE_INVALID_0", "invalid-0" },
|
60
|
+
{ GI_INFO_TYPE_UNION, "GI_INFO_TYPE_UNION", "union" },
|
61
|
+
{ GI_INFO_TYPE_VALUE, "GI_INFO_TYPE_VALUE", "value" },
|
62
|
+
{ GI_INFO_TYPE_SIGNAL, "GI_INFO_TYPE_SIGNAL", "signal" },
|
63
|
+
{ GI_INFO_TYPE_VFUNC, "GI_INFO_TYPE_VFUNC", "vfunc" },
|
64
|
+
{ GI_INFO_TYPE_PROPERTY, "GI_INFO_TYPE_PROPERTY", "property" },
|
65
|
+
{ GI_INFO_TYPE_FIELD, "GI_INFO_TYPE_FIELD", "field" },
|
66
|
+
{ GI_INFO_TYPE_ARG, "GI_INFO_TYPE_ARG", "arg" },
|
67
|
+
{ GI_INFO_TYPE_TYPE, "GI_INFO_TYPE_TYPE", "type" },
|
68
|
+
{ GI_INFO_TYPE_UNRESOLVED, "GI_INFO_TYPE_UNRESOLVED", "unresolved" },
|
69
|
+
{ 0, NULL, NULL }
|
70
|
+
};
|
71
|
+
etype = g_enum_register_static ("GIInfoType", values);
|
72
|
+
}
|
73
|
+
return etype;
|
74
|
+
}
|
75
|
+
|
76
|
+
GType
|
77
|
+
g_i_transfer_get_type (void)
|
78
|
+
{
|
79
|
+
static GType etype = 0;
|
80
|
+
if (etype == 0) {
|
81
|
+
static const GEnumValue values[] = {
|
82
|
+
{ GI_TRANSFER_NOTHING, "GI_TRANSFER_NOTHING", "nothing" },
|
83
|
+
{ GI_TRANSFER_CONTAINER, "GI_TRANSFER_CONTAINER", "container" },
|
84
|
+
{ GI_TRANSFER_EVERYTHING, "GI_TRANSFER_EVERYTHING", "everything" },
|
85
|
+
{ 0, NULL, NULL }
|
86
|
+
};
|
87
|
+
etype = g_enum_register_static ("GITransfer", values);
|
88
|
+
}
|
89
|
+
return etype;
|
90
|
+
}
|
91
|
+
|
92
|
+
GType
|
93
|
+
g_i_direction_get_type (void)
|
94
|
+
{
|
95
|
+
static GType etype = 0;
|
96
|
+
if (etype == 0) {
|
97
|
+
static const GEnumValue values[] = {
|
98
|
+
{ GI_DIRECTION_IN, "GI_DIRECTION_IN", "in" },
|
99
|
+
{ GI_DIRECTION_OUT, "GI_DIRECTION_OUT", "out" },
|
100
|
+
{ GI_DIRECTION_INOUT, "GI_DIRECTION_INOUT", "inout" },
|
101
|
+
{ 0, NULL, NULL }
|
102
|
+
};
|
103
|
+
etype = g_enum_register_static ("GIDirection", values);
|
104
|
+
}
|
105
|
+
return etype;
|
106
|
+
}
|
107
|
+
|
108
|
+
GType
|
109
|
+
g_i_scope_type_get_type (void)
|
110
|
+
{
|
111
|
+
static GType etype = 0;
|
112
|
+
if (etype == 0) {
|
113
|
+
static const GEnumValue values[] = {
|
114
|
+
{ GI_SCOPE_TYPE_INVALID, "GI_SCOPE_TYPE_INVALID", "invalid" },
|
115
|
+
{ GI_SCOPE_TYPE_CALL, "GI_SCOPE_TYPE_CALL", "call" },
|
116
|
+
{ GI_SCOPE_TYPE_ASYNC, "GI_SCOPE_TYPE_ASYNC", "async" },
|
117
|
+
{ GI_SCOPE_TYPE_NOTIFIED, "GI_SCOPE_TYPE_NOTIFIED", "notified" },
|
118
|
+
{ 0, NULL, NULL }
|
119
|
+
};
|
120
|
+
etype = g_enum_register_static ("GIScopeType", values);
|
121
|
+
}
|
122
|
+
return etype;
|
123
|
+
}
|
124
|
+
|
125
|
+
GType
|
126
|
+
g_i_type_tag_get_type (void)
|
127
|
+
{
|
128
|
+
static GType etype = 0;
|
129
|
+
if (etype == 0) {
|
130
|
+
static const GEnumValue values[] = {
|
131
|
+
{ GI_TYPE_TAG_VOID, "GI_TYPE_TAG_VOID", "void" },
|
132
|
+
{ GI_TYPE_TAG_BOOLEAN, "GI_TYPE_TAG_BOOLEAN", "boolean" },
|
133
|
+
{ GI_TYPE_TAG_INT8, "GI_TYPE_TAG_INT8", "int8" },
|
134
|
+
{ GI_TYPE_TAG_UINT8, "GI_TYPE_TAG_UINT8", "uint8" },
|
135
|
+
{ GI_TYPE_TAG_INT16, "GI_TYPE_TAG_INT16", "int16" },
|
136
|
+
{ GI_TYPE_TAG_UINT16, "GI_TYPE_TAG_UINT16", "uint16" },
|
137
|
+
{ GI_TYPE_TAG_INT32, "GI_TYPE_TAG_INT32", "int32" },
|
138
|
+
{ GI_TYPE_TAG_UINT32, "GI_TYPE_TAG_UINT32", "uint32" },
|
139
|
+
{ GI_TYPE_TAG_INT64, "GI_TYPE_TAG_INT64", "int64" },
|
140
|
+
{ GI_TYPE_TAG_UINT64, "GI_TYPE_TAG_UINT64", "uint64" },
|
141
|
+
{ GI_TYPE_TAG_FLOAT, "GI_TYPE_TAG_FLOAT", "float" },
|
142
|
+
{ GI_TYPE_TAG_DOUBLE, "GI_TYPE_TAG_DOUBLE", "double" },
|
143
|
+
{ GI_TYPE_TAG_GTYPE, "GI_TYPE_TAG_GTYPE", "gtype" },
|
144
|
+
{ GI_TYPE_TAG_UTF8, "GI_TYPE_TAG_UTF8", "utf8" },
|
145
|
+
{ GI_TYPE_TAG_FILENAME, "GI_TYPE_TAG_FILENAME", "filename" },
|
146
|
+
{ GI_TYPE_TAG_ARRAY, "GI_TYPE_TAG_ARRAY", "array" },
|
147
|
+
{ GI_TYPE_TAG_INTERFACE, "GI_TYPE_TAG_INTERFACE", "interface" },
|
148
|
+
{ GI_TYPE_TAG_GLIST, "GI_TYPE_TAG_GLIST", "glist" },
|
149
|
+
{ GI_TYPE_TAG_GSLIST, "GI_TYPE_TAG_GSLIST", "gslist" },
|
150
|
+
{ GI_TYPE_TAG_GHASH, "GI_TYPE_TAG_GHASH", "ghash" },
|
151
|
+
{ GI_TYPE_TAG_ERROR, "GI_TYPE_TAG_ERROR", "error" },
|
152
|
+
{ GI_TYPE_TAG_UNICHAR, "GI_TYPE_TAG_UNICHAR", "unichar" },
|
153
|
+
{ 0, NULL, NULL }
|
154
|
+
};
|
155
|
+
etype = g_enum_register_static ("GITypeTag", values);
|
156
|
+
}
|
157
|
+
return etype;
|
158
|
+
}
|
159
|
+
|
160
|
+
GType
|
161
|
+
g_i_array_type_get_type (void)
|
162
|
+
{
|
163
|
+
static GType etype = 0;
|
164
|
+
if (etype == 0) {
|
165
|
+
static const GEnumValue values[] = {
|
166
|
+
{ GI_ARRAY_TYPE_C, "GI_ARRAY_TYPE_C", "c" },
|
167
|
+
{ GI_ARRAY_TYPE_ARRAY, "GI_ARRAY_TYPE_ARRAY", "array" },
|
168
|
+
{ GI_ARRAY_TYPE_PTR_ARRAY, "GI_ARRAY_TYPE_PTR_ARRAY", "ptr-array" },
|
169
|
+
{ GI_ARRAY_TYPE_BYTE_ARRAY, "GI_ARRAY_TYPE_BYTE_ARRAY", "byte-array" },
|
170
|
+
{ 0, NULL, NULL }
|
171
|
+
};
|
172
|
+
etype = g_enum_register_static ("GIArrayType", values);
|
173
|
+
}
|
174
|
+
return etype;
|
175
|
+
}
|
176
|
+
|
177
|
+
GType
|
178
|
+
g_i_field_info_flags_get_type (void)
|
179
|
+
{
|
180
|
+
static GType etype = 0;
|
181
|
+
if (etype == 0) {
|
182
|
+
static const GFlagsValue values[] = {
|
183
|
+
{ GI_FIELD_IS_READABLE, "GI_FIELD_IS_READABLE", "readable" },
|
184
|
+
{ GI_FIELD_IS_WRITABLE, "GI_FIELD_IS_WRITABLE", "writable" },
|
185
|
+
{ 0, NULL, NULL }
|
186
|
+
};
|
187
|
+
etype = g_flags_register_static ("GIFieldInfoFlags", values);
|
188
|
+
}
|
189
|
+
return etype;
|
190
|
+
}
|
191
|
+
|
192
|
+
GType
|
193
|
+
g_iv_func_info_flags_get_type (void)
|
194
|
+
{
|
195
|
+
static GType etype = 0;
|
196
|
+
if (etype == 0) {
|
197
|
+
static const GFlagsValue values[] = {
|
198
|
+
{ GI_VFUNC_MUST_CHAIN_UP, "GI_VFUNC_MUST_CHAIN_UP", "must-chain-up" },
|
199
|
+
{ GI_VFUNC_MUST_OVERRIDE, "GI_VFUNC_MUST_OVERRIDE", "must-override" },
|
200
|
+
{ GI_VFUNC_MUST_NOT_OVERRIDE, "GI_VFUNC_MUST_NOT_OVERRIDE", "must-not-override" },
|
201
|
+
{ GI_VFUNC_THROWS, "GI_VFUNC_THROWS", "throws" },
|
202
|
+
{ 0, NULL, NULL }
|
203
|
+
};
|
204
|
+
etype = g_flags_register_static ("GIVFuncInfoFlags", values);
|
205
|
+
}
|
206
|
+
return etype;
|
207
|
+
}
|
208
|
+
|
209
|
+
GType
|
210
|
+
g_i_function_info_flags_get_type (void)
|
211
|
+
{
|
212
|
+
static GType etype = 0;
|
213
|
+
if (etype == 0) {
|
214
|
+
static const GFlagsValue values[] = {
|
215
|
+
{ GI_FUNCTION_IS_METHOD, "GI_FUNCTION_IS_METHOD", "is-method" },
|
216
|
+
{ GI_FUNCTION_IS_CONSTRUCTOR, "GI_FUNCTION_IS_CONSTRUCTOR", "is-constructor" },
|
217
|
+
{ GI_FUNCTION_IS_GETTER, "GI_FUNCTION_IS_GETTER", "is-getter" },
|
218
|
+
{ GI_FUNCTION_IS_SETTER, "GI_FUNCTION_IS_SETTER", "is-setter" },
|
219
|
+
{ GI_FUNCTION_WRAPS_VFUNC, "GI_FUNCTION_WRAPS_VFUNC", "wraps-vfunc" },
|
220
|
+
{ GI_FUNCTION_THROWS, "GI_FUNCTION_THROWS", "throws" },
|
221
|
+
{ 0, NULL, NULL }
|
222
|
+
};
|
223
|
+
etype = g_flags_register_static ("GIFunctionInfoFlags", values);
|
224
|
+
}
|
225
|
+
return etype;
|
226
|
+
}
|
227
|
+
|
228
|
+
|
229
|
+
/* Generated data ends here */
|
230
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
/* Generated by glib-mkenums.rb ($Id$) */
|
3
|
+
|
4
|
+
#ifndef __GOBJECT_INTROSPECTION_ENUM_TYPES_H__
|
5
|
+
#define __GOBJECT_INTROSPECTION_ENUM_TYPES_H__
|
6
|
+
|
7
|
+
#include <glib-object.h>
|
8
|
+
|
9
|
+
G_BEGIN_DECLS
|
10
|
+
|
11
|
+
/* enumerations from "/usr/include/gobject-introspection-1.0/girepository.h" */
|
12
|
+
GType g_i_repository_load_flags_get_type (void);
|
13
|
+
#define G_TYPE_I_REPOSITORY_LOAD_FLAGS (g_i_repository_load_flags_get_type())
|
14
|
+
GType g_i_repository_error_get_type (void);
|
15
|
+
#define G_TYPE_I_REPOSITORY_ERROR (g_i_repository_error_get_type())
|
16
|
+
|
17
|
+
/* enumerations from "/usr/include/gobject-introspection-1.0/gitypes.h" */
|
18
|
+
GType g_i_info_type_get_type (void);
|
19
|
+
#define G_TYPE_I_INFO_TYPE (g_i_info_type_get_type())
|
20
|
+
GType g_i_transfer_get_type (void);
|
21
|
+
#define G_TYPE_I_TRANSFER (g_i_transfer_get_type())
|
22
|
+
GType g_i_direction_get_type (void);
|
23
|
+
#define G_TYPE_I_DIRECTION (g_i_direction_get_type())
|
24
|
+
GType g_i_scope_type_get_type (void);
|
25
|
+
#define G_TYPE_I_SCOPE_TYPE (g_i_scope_type_get_type())
|
26
|
+
GType g_i_type_tag_get_type (void);
|
27
|
+
#define G_TYPE_I_TYPE_TAG (g_i_type_tag_get_type())
|
28
|
+
GType g_i_array_type_get_type (void);
|
29
|
+
#define G_TYPE_I_ARRAY_TYPE (g_i_array_type_get_type())
|
30
|
+
GType g_i_field_info_flags_get_type (void);
|
31
|
+
#define G_TYPE_I_FIELD_INFO_FLAGS (g_i_field_info_flags_get_type())
|
32
|
+
GType g_iv_func_info_flags_get_type (void);
|
33
|
+
#define G_TYPE_IV_FUNC_INFO_FLAGS (g_iv_func_info_flags_get_type())
|
34
|
+
GType g_i_function_info_flags_get_type (void);
|
35
|
+
#define G_TYPE_I_FUNCTION_INFO_FLAGS (g_i_function_info_flags_get_type())
|
36
|
+
|
37
|
+
G_END_DECLS
|
38
|
+
|
39
|
+
#endif /* __GOBJECT_INTROSPECTION_ENUM_TYPES_H__ */
|
40
|
+
|
41
|
+
/* Generated data ends here */
|
42
|
+
|
@@ -1296,7 +1296,7 @@ rb_gi_argument_to_ruby(GIArgument *argument,
|
|
1296
1296
|
switch (type_tag) {
|
1297
1297
|
case GI_TYPE_TAG_VOID:
|
1298
1298
|
if (g_type_info_is_pointer(type_info)) {
|
1299
|
-
rb_argument =
|
1299
|
+
rb_argument = ULL2NUM((guint64)(argument->v_pointer));
|
1300
1300
|
} else {
|
1301
1301
|
rb_argument = Qnil;
|
1302
1302
|
}
|
@@ -143,7 +143,7 @@ rb_gi_arguments_in_init_arg_ruby_void(RBGIArguments *args,
|
|
143
143
|
} else if (rbg_is_object(metadata->rb_arg)) {
|
144
144
|
*target = RVAL2GOBJ(metadata->rb_arg);
|
145
145
|
} else {
|
146
|
-
*target =
|
146
|
+
*target = (gpointer)(NUM2ULL(metadata->rb_arg));
|
147
147
|
}
|
148
148
|
}
|
149
149
|
|
@@ -508,7 +508,7 @@ rb_gi_arguments_fill_raw_out_gerror(RBGIArguments *args,
|
|
508
508
|
gint n_args = g_callable_info_get_n_args(args->info);
|
509
509
|
/* GError ** isn't listed in args. */
|
510
510
|
GError **gerror = *((gpointer *)(args->raw_args[n_args]));
|
511
|
-
VALUE
|
511
|
+
VALUE cGLibErrorInfo = rb_const_get(mGLib, rb_intern("ErrorInfo"));
|
512
512
|
if (NIL_P(rb_error)) {
|
513
513
|
g_set_error(gerror,
|
514
514
|
RBG_RUBY_ERROR,
|
@@ -519,23 +519,22 @@ rb_gi_arguments_fill_raw_out_gerror(RBGIArguments *args,
|
|
519
519
|
VALUE backtrace = rb_funcall(rb_error, rb_intern("backtrace"), 0);
|
520
520
|
VALUE formatted_backtrace =
|
521
521
|
rb_ary_join(backtrace, rb_str_new_cstr(" \n"));
|
522
|
-
|
522
|
+
GQuark gdomain = RBG_RUBY_ERROR;
|
523
|
+
gint gcode = RBG_RUBY_ERROR_UNKNOWN;
|
524
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(rb_error, cGLibErrorInfo))) {
|
523
525
|
VALUE domain = rb_funcall(rb_error, rb_intern("domain"), 0);
|
524
526
|
VALUE code = rb_funcall(rb_error, rb_intern("code"), 0);
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
RVAL2CSTR(message),
|
530
|
-
RVAL2CSTR(formatted_backtrace));
|
531
|
-
} else {
|
532
|
-
g_set_error(gerror,
|
533
|
-
RBG_RUBY_ERROR,
|
534
|
-
RBG_RUBY_ERROR_UNKNOWN,
|
535
|
-
"%s\n %s\n",
|
536
|
-
RVAL2CSTR(message),
|
537
|
-
RVAL2CSTR(formatted_backtrace));
|
527
|
+
if (!NIL_P(domain) && !NIL_P(code)) {
|
528
|
+
gdomain = g_quark_from_string(RVAL2CSTR(domain));
|
529
|
+
gcode = NUM2INT(code);
|
530
|
+
}
|
538
531
|
}
|
532
|
+
g_set_error(gerror,
|
533
|
+
gdomain,
|
534
|
+
gcode,
|
535
|
+
"%s\n %s\n",
|
536
|
+
RVAL2CSTR(message),
|
537
|
+
RVAL2CSTR(formatted_backtrace));
|
539
538
|
}
|
540
539
|
}
|
541
540
|
|
@@ -544,7 +543,7 @@ rb_gi_arguments_fill_raw_result_interface(RBGIArguments *args,
|
|
544
543
|
VALUE rb_result,
|
545
544
|
gpointer raw_result,
|
546
545
|
GITypeInfo *type_info,
|
547
|
-
|
546
|
+
GITransfer transfer,
|
548
547
|
gboolean is_return_value)
|
549
548
|
{
|
550
549
|
GIBaseInfo *interface_info;
|
@@ -584,8 +583,37 @@ rb_gi_arguments_fill_raw_result_interface(RBGIArguments *args,
|
|
584
583
|
}
|
585
584
|
break;
|
586
585
|
case GI_INFO_TYPE_FLAGS:
|
586
|
+
rb_raise(rb_eNotImpError,
|
587
|
+
"TODO: %s::%s: out raw result(interface)[%s]: <%s>",
|
588
|
+
g_base_info_get_namespace(args->info),
|
589
|
+
g_base_info_get_name(args->info),
|
590
|
+
g_info_type_to_string(interface_type),
|
591
|
+
g_base_info_get_name(interface_info));
|
592
|
+
break;
|
587
593
|
case GI_INFO_TYPE_OBJECT:
|
588
594
|
case GI_INFO_TYPE_INTERFACE:
|
595
|
+
{
|
596
|
+
GObject *value = RVAL2GOBJ(rb_result);
|
597
|
+
GType gtype = g_registered_type_info_get_g_type(interface_info);
|
598
|
+
if (gtype != G_TYPE_NONE &&
|
599
|
+
!G_TYPE_CHECK_INSTANCE_TYPE(value, gtype)) {
|
600
|
+
rb_raise(rb_eArgError,
|
601
|
+
"%s::%s: must return <%s> object: <%" PRIsVALUE ">",
|
602
|
+
g_base_info_get_namespace(args->info),
|
603
|
+
g_base_info_get_name(args->info),
|
604
|
+
g_type_name(gtype),
|
605
|
+
rb_result);
|
606
|
+
}
|
607
|
+
if (transfer == GI_TRANSFER_EVERYTHING) {
|
608
|
+
g_object_ref(value);
|
609
|
+
}
|
610
|
+
if (is_return_value) {
|
611
|
+
ffi_return_value->v_pointer = value;
|
612
|
+
} else {
|
613
|
+
*((gpointer *)raw_result) = value;
|
614
|
+
}
|
615
|
+
}
|
616
|
+
break;
|
589
617
|
case GI_INFO_TYPE_CONSTANT:
|
590
618
|
rb_raise(rb_eNotImpError,
|
591
619
|
"TODO: %s::%s: out raw result(interface)[%s]: <%s>",
|
@@ -70,7 +70,7 @@ struct_alloc(VALUE klass)
|
|
70
70
|
is_owned = FALSE;
|
71
71
|
} else {
|
72
72
|
size_t size;
|
73
|
-
size =
|
73
|
+
size = NUM2ULL(rb_size);
|
74
74
|
instance = xcalloc(1, size);
|
75
75
|
is_owned = TRUE;
|
76
76
|
}
|
@@ -365,7 +365,7 @@ rg_s_instantiate_gobject_pointer(G_GNUC_UNUSED VALUE klass,
|
|
365
365
|
{
|
366
366
|
GObject *gobject;
|
367
367
|
|
368
|
-
gobject =
|
368
|
+
gobject = (gpointer)(NUM2ULL(rb_gobject_pointer));
|
369
369
|
|
370
370
|
return GOBJ2RVAL(gobject);
|
371
371
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgiversion.h -
|
5
|
+
|
6
|
+
This file was generated by mkmf-gnome2.rb.
|
7
|
+
|
8
|
+
************************************************/
|
9
|
+
|
10
|
+
#ifndef __RBGI_VERSION_H__
|
11
|
+
#define __RBGI_VERSION_H__
|
12
|
+
|
13
|
+
#define GI_MAJOR_VERSION (1)
|
14
|
+
#define GI_MINOR_VERSION (46)
|
15
|
+
#define GI_MICRO_VERSION (0)
|
16
|
+
|
17
|
+
#define GI_CHECK_VERSION(major,minor,micro) \
|
18
|
+
(GI_MAJOR_VERSION > (major) || \
|
19
|
+
(GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION > (minor)) || \
|
20
|
+
(GI_MAJOR_VERSION == (major) && GI_MINOR_VERSION == (minor) && \
|
21
|
+
GI_MICRO_VERSION >= (micro)))
|
22
|
+
|
23
|
+
|
24
|
+
#endif /* __RBGI_VERSION_H__ */
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gobject-introspection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Ruby-GNOME Project Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glib2
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.4.
|
19
|
+
version: 3.4.9
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.4.
|
26
|
+
version: 3.4.9
|
27
27
|
description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
|
28
28
|
and a loader module that can generate dynamically Ruby bindings of any GObject C
|
29
29
|
libraries
|
@@ -38,6 +38,8 @@ files:
|
|
38
38
|
- Rakefile
|
39
39
|
- ext/gobject-introspection/depend
|
40
40
|
- ext/gobject-introspection/extconf.rb
|
41
|
+
- ext/gobject-introspection/gobject-introspection-enum-types.c
|
42
|
+
- ext/gobject-introspection/gobject-introspection-enum-types.h
|
41
43
|
- ext/gobject-introspection/gobject_introspection.def
|
42
44
|
- ext/gobject-introspection/rb-gi-arg-info.c
|
43
45
|
- ext/gobject-introspection/rb-gi-argument.c
|
@@ -86,6 +88,7 @@ files:
|
|
86
88
|
- ext/gobject-introspection/rb-gi-vfunc-info.c
|
87
89
|
- ext/gobject-introspection/rb-gobject-introspection.c
|
88
90
|
- ext/gobject-introspection/rb-gobject-introspection.h
|
91
|
+
- ext/gobject-introspection/rbgiversion.h
|
89
92
|
- extconf.rb
|
90
93
|
- gobject-introspection.gemspec
|
91
94
|
- lib/gi.rb
|