gobject-introspection 3.4.5 → 3.4.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|