glib2 1.0.3 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/glib2/extconf.rb +1 -0
- data/ext/glib2/glib2.def +23 -0
- data/ext/glib2/rbgcompat.h +19 -5
- data/ext/glib2/rbglib.c +607 -160
- data/ext/glib2/rbglib.h +81 -26
- data/ext/glib2/rbglib2conversions.h +57 -0
- data/ext/glib2/rbglib_bookmarkfile.c +117 -107
- data/ext/glib2/rbglib_completion.c +37 -26
- data/ext/glib2/rbglib_convert.c +42 -30
- data/ext/glib2/rbglib_error.c +20 -10
- data/ext/glib2/rbglib_fileutils.c +48 -37
- data/ext/glib2/rbglib_i18n.c +24 -14
- data/ext/glib2/rbglib_int64.c +24 -16
- data/ext/glib2/rbglib_iochannel.c +146 -204
- data/ext/glib2/rbglib_iochannel_win32_socket.c +56 -0
- data/ext/glib2/rbglib_iochannelerror.c +49 -0
- data/ext/glib2/rbglib_keyfile.c +171 -182
- data/ext/glib2/rbglib_maincontext.c +107 -92
- data/ext/glib2/rbglib_mainloop.c +34 -21
- data/ext/glib2/rbglib_messages.c +53 -44
- data/ext/glib2/rbglib_pollfd.c +37 -26
- data/ext/glib2/rbglib_shell.c +29 -22
- data/ext/glib2/rbglib_shellerror.c +34 -0
- data/ext/glib2/rbglib_source.c +49 -36
- data/ext/glib2/rbglib_spawn.c +50 -61
- data/ext/glib2/rbglib_spawnerror.c +53 -0
- data/ext/glib2/rbglib_threads.c +28 -16
- data/ext/glib2/rbglib_timer.c +35 -24
- data/ext/glib2/rbglib_ucs4.c +79 -0
- data/ext/glib2/rbglib_unichar.c +209 -0
- data/ext/glib2/rbglib_unicode.c +34 -584
- data/ext/glib2/rbglib_utf16.c +78 -0
- data/ext/glib2/rbglib_utf8.c +259 -0
- data/ext/glib2/rbglib_utils.c +95 -91
- data/ext/glib2/rbglib_win32.c +52 -45
- data/ext/glib2/rbglibdeprecated.c +56 -0
- data/ext/glib2/rbglibdeprecated.h +34 -0
- data/ext/glib2/rbgobj_boxed.c +40 -33
- data/ext/glib2/rbgobj_closure.c +45 -34
- data/ext/glib2/rbgobj_convert.c +19 -9
- data/ext/glib2/rbgobj_enumflags.c +109 -0
- data/ext/glib2/rbgobj_enums.c +67 -646
- data/ext/glib2/rbgobj_flags.c +522 -0
- data/ext/glib2/rbgobj_fundamental.c +19 -6
- data/ext/glib2/rbgobj_object.c +90 -81
- data/ext/glib2/rbgobj_param.c +78 -83
- data/ext/glib2/rbgobj_paramspecs.c +20 -12
- data/ext/glib2/rbgobj_signal.c +248 -193
- data/ext/glib2/rbgobj_strv.c +20 -10
- data/ext/glib2/rbgobj_type.c +153 -149
- data/ext/glib2/rbgobj_typeinstance.c +49 -39
- data/ext/glib2/rbgobj_typeinterface.c +37 -27
- data/ext/glib2/rbgobj_typemodule.c +39 -29
- data/ext/glib2/rbgobj_typeplugin.c +36 -26
- data/ext/glib2/rbgobj_value.c +41 -11
- data/ext/glib2/rbgobj_valuearray.c +59 -23
- data/ext/glib2/rbgobj_valuetypes.c +27 -17
- data/ext/glib2/rbgobject.c +26 -40
- data/ext/glib2/rbgobject.h +38 -20
- data/ext/glib2/rbgprivate.h +87 -5
- data/ext/glib2/rbgutil.c +52 -238
- data/ext/glib2/rbgutil.h +55 -42
- data/ext/glib2/rbgutil_callback.c +47 -12
- data/ext/glib2/rbgutil_list.c +173 -0
- data/ext/glib2/rbgutil_list.h +85 -0
- data/ext/glib2/rbgutildeprecated.c +252 -0
- data/ext/glib2/rbgutildeprecated.h +63 -0
- data/lib/glib-mkenums.rb +2 -2
- data/lib/glib2.rb +2 -25
- data/lib/glib2/deprecatable.rb +149 -0
- data/lib/gnome2-raketask.rb +45 -15
- data/lib/gnome2-win32-binary-downloader.rb +1 -1
- data/lib/mkmf-gnome2.rb +37 -18
- data/test/test_flags.rb +129 -0
- data/test/test_key_file.rb +6 -2
- data/test/test_spawn.rb +33 -0
- metadata +26 -7
- data/ChangeLog +0 -3513
@@ -1,13 +1,23 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2006 Sjoerd Simons
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
11
21
|
|
12
22
|
#include "rbgprivate.h"
|
13
23
|
|
@@ -28,11 +38,42 @@ value_array_to_ruby(const GValue *from)
|
|
28
38
|
return ary;
|
29
39
|
}
|
30
40
|
|
41
|
+
struct value_array_from_ruby_args {
|
42
|
+
VALUE ary;
|
43
|
+
long n;
|
44
|
+
GValueArray *result;
|
45
|
+
};
|
46
|
+
|
47
|
+
static VALUE
|
48
|
+
value_array_from_ruby_body(VALUE value)
|
49
|
+
{
|
50
|
+
long i;
|
51
|
+
struct value_array_from_ruby_args *args = (struct value_array_from_ruby_args *)value;
|
52
|
+
|
53
|
+
for (i = 0; i < args->n; i++) {
|
54
|
+
GValue v = G_VALUE_INIT;
|
55
|
+
|
56
|
+
g_value_init(&v, RVAL2GTYPE(RARRAY_PTR(args->ary)[i]));
|
57
|
+
rbgobj_rvalue_to_gvalue(RARRAY_PTR(args->ary)[i], &v);
|
58
|
+
|
59
|
+
g_value_array_append(args->result, &v);
|
60
|
+
}
|
61
|
+
|
62
|
+
return Qnil;
|
63
|
+
}
|
64
|
+
|
65
|
+
static G_GNUC_NORETURN VALUE
|
66
|
+
value_array_from_ruby_rescue(VALUE value)
|
67
|
+
{
|
68
|
+
g_value_array_free(((struct value_array_from_ruby_args *)value)->result);
|
69
|
+
|
70
|
+
rb_exc_raise(rb_errinfo());
|
71
|
+
}
|
72
|
+
|
31
73
|
static void
|
32
74
|
value_array_from_ruby(const VALUE from, GValue *to)
|
33
75
|
{
|
34
|
-
|
35
|
-
GValueArray *array;
|
76
|
+
struct value_array_from_ruby_args args;
|
36
77
|
|
37
78
|
if (NIL_P(from)) {
|
38
79
|
g_value_set_boxed(to, NULL);
|
@@ -40,23 +81,18 @@ value_array_from_ruby(const VALUE from, GValue *to)
|
|
40
81
|
return;
|
41
82
|
}
|
42
83
|
|
43
|
-
|
44
|
-
|
45
|
-
|
84
|
+
args.ary = rb_ary_to_ary(from);
|
85
|
+
args.n = RARRAY_LEN(args.ary);
|
86
|
+
args.result = g_value_array_new(args.n);
|
46
87
|
|
47
|
-
|
48
|
-
|
49
|
-
g_value_init(&v, RVAL2GTYPE(RARRAY_PTR(from)[i]));
|
50
|
-
rbgobj_rvalue_to_gvalue(RARRAY_PTR(from)[i], &v);
|
51
|
-
|
52
|
-
g_value_array_append(array, &v);
|
53
|
-
}
|
88
|
+
rb_rescue(value_array_from_ruby_body, (VALUE)&args,
|
89
|
+
value_array_from_ruby_rescue, (VALUE)&args);
|
54
90
|
|
55
|
-
g_value_set_boxed(to,
|
91
|
+
g_value_set_boxed(to, args.result);
|
56
92
|
}
|
57
93
|
|
58
94
|
void
|
59
|
-
Init_gobject_value_array()
|
95
|
+
Init_gobject_value_array(void)
|
60
96
|
{
|
61
97
|
/* ValueArray is treated as Array */
|
62
98
|
rbgobj_register_g2r_func(G_TYPE_VALUE_ARRAY, value_array_to_ruby);
|
@@ -1,16 +1,26 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
12
21
|
|
13
22
|
#include "rbgprivate.h"
|
23
|
+
#include "rbgobject.h"
|
14
24
|
#ifdef RBGOBJ_USE_DLPTR
|
15
25
|
#include "dl.h"
|
16
26
|
#endif
|
@@ -98,7 +108,7 @@ ptr_hash(VALUE self)
|
|
98
108
|
#endif
|
99
109
|
|
100
110
|
static void
|
101
|
-
Init_gtype_pointer()
|
111
|
+
Init_gtype_pointer(void)
|
102
112
|
{
|
103
113
|
VALUE cPtr = G_DEF_CLASS(G_TYPE_POINTER, "Pointer", mGLib);
|
104
114
|
rb_define_singleton_method(cPtr, "gtype", ptr_s_gtype, 1);
|
@@ -122,9 +132,9 @@ typedef struct {
|
|
122
132
|
} boxed_ruby_value_counter;
|
123
133
|
|
124
134
|
static void
|
125
|
-
boxed_ruby_value_counter_mark(gpointer
|
126
|
-
gpointer
|
127
|
-
gpointer
|
135
|
+
boxed_ruby_value_counter_mark(G_GNUC_UNUSED gpointer key,
|
136
|
+
gpointer value,
|
137
|
+
G_GNUC_UNUSED gpointer user_data)
|
128
138
|
{
|
129
139
|
boxed_ruby_value_counter* counter = value;
|
130
140
|
if (counter->ref_count)
|
@@ -205,7 +215,7 @@ value_transform_any_ruby(const GValue *src_value,
|
|
205
215
|
}
|
206
216
|
|
207
217
|
GType
|
208
|
-
rbgobj_ruby_value_get_type()
|
218
|
+
rbgobj_ruby_value_get_type(void)
|
209
219
|
{
|
210
220
|
static GType our_type = 0;
|
211
221
|
|
@@ -267,7 +277,7 @@ ruby_value_r2g(VALUE from, GValue* to)
|
|
267
277
|
}
|
268
278
|
|
269
279
|
static void
|
270
|
-
Init_boxed_ruby_value()
|
280
|
+
Init_boxed_ruby_value(void)
|
271
281
|
{
|
272
282
|
boxed_ruby_value_table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, g_free);
|
273
283
|
|
@@ -284,7 +294,7 @@ Init_boxed_ruby_value()
|
|
284
294
|
/**********************************************************************/
|
285
295
|
|
286
296
|
void
|
287
|
-
Init_gobject_gvaluetypes()
|
297
|
+
Init_gobject_gvaluetypes(void)
|
288
298
|
{
|
289
299
|
Init_gtype_pointer();
|
290
300
|
Init_boxed_ruby_value();
|
data/ext/glib2/rbgobject.c
CHANGED
@@ -1,21 +1,27 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2003-2006 Ruby-GNOME2 Project Team
|
5
|
+
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
|
+
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
7
|
+
* Daisuke Kanda,
|
8
|
+
* Hiroshi Igarashi
|
9
|
+
*
|
10
|
+
* This library is free software; you can redistribute it and/or
|
11
|
+
* modify it under the terms of the GNU Lesser General Public
|
12
|
+
* License as published by the Free Software Foundation; either
|
13
|
+
* version 2.1 of the License, or (at your option) any later version.
|
14
|
+
*
|
15
|
+
* This library is distributed in the hope that it will be useful,
|
16
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
18
|
+
* Lesser General Public License for more details.
|
19
|
+
*
|
20
|
+
* You should have received a copy of the GNU Lesser General Public
|
21
|
+
* License along with this library; if not, write to the Free Software
|
22
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
23
|
+
* MA 02110-1301 USA
|
24
|
+
*/
|
19
25
|
|
20
26
|
#include "ruby.h"
|
21
27
|
#include "rbgprivate.h"
|
@@ -328,29 +334,9 @@ rbgobj_define_property_accessors(VALUE klass)
|
|
328
334
|
|
329
335
|
/**********************************************************************/
|
330
336
|
|
331
|
-
void
|
332
|
-
Init_gobject()
|
337
|
+
void
|
338
|
+
Init_gobject(void)
|
333
339
|
{
|
334
|
-
extern void Init_gobject_convert();
|
335
|
-
extern void Init_gobject_gtype();
|
336
|
-
extern void Init_gobject_typeinterface();
|
337
|
-
extern void Init_gobject_typeinstance();
|
338
|
-
extern void Init_gobject_gvalue();
|
339
|
-
extern void Init_gobject_gvaluetypes();
|
340
|
-
extern void Init_gobject_gboxed();
|
341
|
-
#if GLIB_CHECK_VERSION(2,6,0)
|
342
|
-
extern void Init_gobject_gstrv();
|
343
|
-
#endif
|
344
|
-
extern void Init_gobject_value_array();
|
345
|
-
extern void Init_gobject_genums();
|
346
|
-
extern void Init_gobject_gparam();
|
347
|
-
extern void Init_gobject_gparamspecs();
|
348
|
-
extern void Init_gobject_gclosure();
|
349
|
-
extern void Init_gobject_gobject();
|
350
|
-
extern void Init_gobject_gsignal();
|
351
|
-
extern void Init_gobject_gtypeplugin();
|
352
|
-
extern void Init_gobject_gtypemodule();
|
353
|
-
|
354
340
|
/* Not defined properties. They are already used as methods of Object */
|
355
341
|
prop_exclude_list = g_hash_table_new(g_str_hash, g_str_equal);
|
356
342
|
g_hash_table_insert(prop_exclude_list, (gpointer)"class", (gpointer)"class");
|
@@ -384,7 +370,7 @@ Init_gobject()
|
|
384
370
|
Init_gobject_gstrv();
|
385
371
|
#endif
|
386
372
|
Init_gobject_value_array();
|
387
|
-
|
373
|
+
Init_gobject_genumflags();
|
388
374
|
Init_gobject_gparam();
|
389
375
|
Init_gobject_gparamspecs();
|
390
376
|
Init_gobject_gclosure();
|
data/ext/glib2/rbgobject.h
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2003,2006 Ruby-GNOME2 Project Team
|
5
|
+
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
|
+
*
|
7
|
+
* This library is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation; either
|
10
|
+
* version 2.1 of the License, or (at your option) any later version.
|
11
|
+
*
|
12
|
+
* This library is distributed in the hope that it will be useful,
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15
|
+
* Lesser General Public License for more details.
|
16
|
+
*
|
17
|
+
* You should have received a copy of the GNU Lesser General Public
|
18
|
+
* License along with this library; if not, write to the Free Software
|
19
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
20
|
+
* MA 02110-1301 USA
|
21
|
+
*/
|
13
22
|
|
14
23
|
#ifndef __RBGOBJECT_H__
|
15
24
|
#define __RBGOBJECT_H__
|
@@ -87,6 +96,7 @@ RUBY_GLIB2_VAR ID rbgobj_id_children;
|
|
87
96
|
#define GOBJ2RVAL_UNREF(gobj) (rbgobj_ruby_object_from_instance_with_unref(gobj))
|
88
97
|
#define GOBJ2RVALU(gobj) GOBJ2RVAL_UNREF(gobj)
|
89
98
|
#define GVAL2RVAL(v) (rbgobj_gvalue_to_rvalue(v))
|
99
|
+
#define GVAL2RVAL_UNSET(v) (rbgobj_gvalue_to_rvalue(v))
|
90
100
|
|
91
101
|
#define RVAL2BOXED(obj, gtype) (rbgobj_boxed_get(obj, gtype))
|
92
102
|
#define BOXED2RVAL(cobj, gtype) (rbgobj_make_boxed(cobj, gtype))
|
@@ -188,6 +198,7 @@ extern void g_rclosure_set_tag(GClosure *closure, const gchar *tag);
|
|
188
198
|
|
189
199
|
/* rbgobj_value.c */
|
190
200
|
extern VALUE rbgobj_gvalue_to_rvalue(const GValue* value);
|
201
|
+
extern VALUE rbgobj_gvalue_to_rvalue_unset(GValue *value);
|
191
202
|
extern void rbgobj_rvalue_to_gvalue(VALUE val, GValue* result);
|
192
203
|
extern void rbgobj_initialize_gvalue(GValue *result, VALUE value);
|
193
204
|
|
@@ -203,7 +214,7 @@ extern VALUE rbgobj_ptr_new(GType type, gpointer ptr);
|
|
203
214
|
extern gpointer rbgobj_ptr2cptr(VALUE ptr);
|
204
215
|
|
205
216
|
#define RBGOBJ_TYPE_RUBY_VALUE (rbgobj_ruby_value_get_type())
|
206
|
-
extern GType rbgobj_ruby_value_get_type();
|
217
|
+
extern GType rbgobj_ruby_value_get_type(void);
|
207
218
|
extern VALUE g_value_get_ruby_value(const GValue* value);
|
208
219
|
extern void g_value_set_ruby_value(GValue* value, VALUE ruby);
|
209
220
|
|
@@ -228,20 +239,27 @@ extern void rbgobj_define_const(VALUE mod, const char *name, VALUE value);
|
|
228
239
|
|
229
240
|
|
230
241
|
/* rbglib_mainloop.c */
|
231
|
-
#
|
232
|
-
|
242
|
+
#if !GLIB_CHECK_VERSION(2,30,0)
|
243
|
+
#define G_TYPE_MAIN_LOOP (g_main_loop_get_type())
|
244
|
+
extern GType g_main_loop_get_type(void);
|
245
|
+
#endif
|
233
246
|
|
234
247
|
/* rbglib_maincontext.c */
|
235
|
-
#
|
236
|
-
#define
|
248
|
+
#if !GLIB_CHECK_VERSION(2,30,0)
|
249
|
+
#define G_TYPE_MAIN_CONTEXT (g_main_context_get_type())
|
250
|
+
#define G_TYPE_SOURCE (g_source_get_type())
|
251
|
+
extern GType g_main_context_get_type(void);
|
252
|
+
extern GType g_source_get_type(void);
|
253
|
+
#endif
|
254
|
+
|
237
255
|
#define G_TYPE_POLL_FD (g_poll_fd_get_type())
|
238
|
-
extern GType g_main_context_get_type(void);
|
239
|
-
extern GType g_source_get_type(void);
|
240
256
|
extern GType g_poll_fd_get_type(void);
|
241
257
|
|
242
258
|
/* rbglib_keyfile.c */
|
243
|
-
#
|
244
|
-
|
259
|
+
#if !GLIB_CHECK_VERSION(2,31,2)
|
260
|
+
#define G_TYPE_KEY_FILE (g_key_file_get_type())
|
261
|
+
extern GType g_key_file_get_type(void);
|
262
|
+
#endif
|
245
263
|
|
246
264
|
/* rbgobj_convert.c */
|
247
265
|
typedef struct {
|
data/ext/glib2/rbgprivate.h
CHANGED
@@ -1,9 +1,23 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2007 Ruby-GNOME2 Project Team
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
+
* MA 02110-1301 USA
|
20
|
+
*/
|
7
21
|
|
8
22
|
#ifndef __RBGPRIVATE_H__
|
9
23
|
#define __RBGPRIVATE_H__
|
@@ -15,6 +29,10 @@
|
|
15
29
|
# define rb_errinfo() (ruby_errinfo)
|
16
30
|
#endif
|
17
31
|
|
32
|
+
#ifndef G_VALUE_INIT
|
33
|
+
# define G_VALUE_INIT { 0, { { 0 } } }
|
34
|
+
#endif
|
35
|
+
|
18
36
|
G_BEGIN_DECLS
|
19
37
|
|
20
38
|
typedef struct {
|
@@ -30,6 +48,10 @@ typedef struct {
|
|
30
48
|
GType type;
|
31
49
|
} boxed_holder;
|
32
50
|
|
51
|
+
#ifdef HAVE_RB_THREAD_BLOCKING_REGION
|
52
|
+
G_GNUC_INTERNAL extern GStaticPrivate rg_polling_key;
|
53
|
+
#endif
|
54
|
+
|
33
55
|
extern VALUE rbgobj_cEnum;
|
34
56
|
extern VALUE rbgobj_cFlags;
|
35
57
|
extern VALUE rbgobj_cBoxed;
|
@@ -86,6 +108,66 @@ extern gboolean rbgobj_convert_unref(GType type, gpointer instance);
|
|
86
108
|
|
87
109
|
#define RubyGObjectHookModule "RubyGObjectHook__"
|
88
110
|
|
111
|
+
G_GNUC_INTERNAL VALUE rg_enum_resolve_value(VALUE klass, VALUE nick);
|
112
|
+
G_GNUC_INTERNAL void rg_enum_add_constants(VALUE mod, GType enum_type, const gchar *strip_prefix);
|
113
|
+
G_GNUC_INTERNAL void rg_flags_add_constants(VALUE mod, GType flags_type, const gchar *strip_prefix);
|
114
|
+
G_GNUC_INTERNAL char *rg_obj_constant_lookup(const char *name);
|
115
|
+
|
116
|
+
G_GNUC_INTERNAL void Init_gutil(void);
|
117
|
+
G_GNUC_INTERNAL void Init_gutil_callback(void);
|
118
|
+
G_GNUC_INTERNAL void Init_glib_int64(void);
|
119
|
+
G_GNUC_INTERNAL void Init_glib_error(void);
|
120
|
+
G_GNUC_INTERNAL void Init_glib_threads(void);
|
121
|
+
G_GNUC_INTERNAL void Init_glib_convert(void);
|
122
|
+
G_GNUC_INTERNAL void Init_glib_messages(void);
|
123
|
+
G_GNUC_INTERNAL void Init_glib_spawn(void);
|
124
|
+
G_GNUC_INTERNAL void Init_glib_spawnerror(void);
|
125
|
+
G_GNUC_INTERNAL void Init_glib_fileutils(void);
|
126
|
+
G_GNUC_INTERNAL void Init_glib_utils(void);
|
127
|
+
G_GNUC_INTERNAL void Init_glib_i18n(void);
|
128
|
+
G_GNUC_INTERNAL void Init_glib_win32(void);
|
129
|
+
G_GNUC_INTERNAL void Init_gobject(void);
|
130
|
+
G_GNUC_INTERNAL void Init_glib_main_loop(void);
|
131
|
+
G_GNUC_INTERNAL void Init_glib_main_context(void);
|
132
|
+
G_GNUC_INTERNAL void Init_glib_source(void);
|
133
|
+
G_GNUC_INTERNAL void Init_glib_poll_fd(void);
|
134
|
+
G_GNUC_INTERNAL void Init_glib_io_channel(void);
|
135
|
+
G_GNUC_INTERNAL void Init_glib_io_channelerror(void);
|
136
|
+
G_GNUC_INTERNAL void Init_glib_io_channel_win32_socket(void);
|
137
|
+
G_GNUC_INTERNAL void Init_glib_shell(void);
|
138
|
+
G_GNUC_INTERNAL void Init_glib_shellerror(void);
|
139
|
+
G_GNUC_INTERNAL void Init_glib_completion(void);
|
140
|
+
G_GNUC_INTERNAL void Init_glib_timer(void);
|
141
|
+
G_GNUC_INTERNAL void Init_glib_unicode(void);
|
142
|
+
G_GNUC_INTERNAL void Init_glib_utf8(void);
|
143
|
+
G_GNUC_INTERNAL void Init_glib_utf16(void);
|
144
|
+
G_GNUC_INTERNAL void Init_glib_ucs4(void);
|
145
|
+
G_GNUC_INTERNAL void Init_glib_unichar(void);
|
146
|
+
G_GNUC_INTERNAL void Init_glib_keyfile(void);
|
147
|
+
G_GNUC_INTERNAL void Init_glib_bookmark_file(void);
|
148
|
+
|
149
|
+
G_GNUC_INTERNAL void Init_gobject_convert(void);
|
150
|
+
G_GNUC_INTERNAL void Init_gobject_gtype(void);
|
151
|
+
G_GNUC_INTERNAL void Init_gobject_typeinterface(void);
|
152
|
+
G_GNUC_INTERNAL void Init_gobject_typeinstance(void);
|
153
|
+
G_GNUC_INTERNAL void Init_gobject_gvalue(void);
|
154
|
+
G_GNUC_INTERNAL void Init_gobject_gvaluetypes(void);
|
155
|
+
G_GNUC_INTERNAL void Init_gobject_gboxed(void);
|
156
|
+
#if GLIB_CHECK_VERSION(2,6,0)
|
157
|
+
G_GNUC_INTERNAL void Init_gobject_gstrv(void);
|
158
|
+
#endif
|
159
|
+
G_GNUC_INTERNAL void Init_gobject_value_array(void);
|
160
|
+
G_GNUC_INTERNAL void Init_gobject_genumflags(void);
|
161
|
+
G_GNUC_INTERNAL void Init_gobject_genums(void);
|
162
|
+
G_GNUC_INTERNAL void Init_gobject_gflags(void);
|
163
|
+
G_GNUC_INTERNAL void Init_gobject_gparam(void);
|
164
|
+
G_GNUC_INTERNAL void Init_gobject_gparamspecs(void);
|
165
|
+
G_GNUC_INTERNAL void Init_gobject_gclosure(void);
|
166
|
+
G_GNUC_INTERNAL void Init_gobject_gobject(void);
|
167
|
+
G_GNUC_INTERNAL void Init_gobject_gsignal(void);
|
168
|
+
G_GNUC_INTERNAL void Init_gobject_gtypeplugin(void);
|
169
|
+
G_GNUC_INTERNAL void Init_gobject_gtypemodule(void);
|
170
|
+
|
89
171
|
G_END_DECLS
|
90
172
|
|
91
173
|
#endif
|