glib2 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/ext/glib2/extconf.rb +1 -0
  2. data/ext/glib2/glib2.def +23 -0
  3. data/ext/glib2/rbgcompat.h +19 -5
  4. data/ext/glib2/rbglib.c +607 -160
  5. data/ext/glib2/rbglib.h +81 -26
  6. data/ext/glib2/rbglib2conversions.h +57 -0
  7. data/ext/glib2/rbglib_bookmarkfile.c +117 -107
  8. data/ext/glib2/rbglib_completion.c +37 -26
  9. data/ext/glib2/rbglib_convert.c +42 -30
  10. data/ext/glib2/rbglib_error.c +20 -10
  11. data/ext/glib2/rbglib_fileutils.c +48 -37
  12. data/ext/glib2/rbglib_i18n.c +24 -14
  13. data/ext/glib2/rbglib_int64.c +24 -16
  14. data/ext/glib2/rbglib_iochannel.c +146 -204
  15. data/ext/glib2/rbglib_iochannel_win32_socket.c +56 -0
  16. data/ext/glib2/rbglib_iochannelerror.c +49 -0
  17. data/ext/glib2/rbglib_keyfile.c +171 -182
  18. data/ext/glib2/rbglib_maincontext.c +107 -92
  19. data/ext/glib2/rbglib_mainloop.c +34 -21
  20. data/ext/glib2/rbglib_messages.c +53 -44
  21. data/ext/glib2/rbglib_pollfd.c +37 -26
  22. data/ext/glib2/rbglib_shell.c +29 -22
  23. data/ext/glib2/rbglib_shellerror.c +34 -0
  24. data/ext/glib2/rbglib_source.c +49 -36
  25. data/ext/glib2/rbglib_spawn.c +50 -61
  26. data/ext/glib2/rbglib_spawnerror.c +53 -0
  27. data/ext/glib2/rbglib_threads.c +28 -16
  28. data/ext/glib2/rbglib_timer.c +35 -24
  29. data/ext/glib2/rbglib_ucs4.c +79 -0
  30. data/ext/glib2/rbglib_unichar.c +209 -0
  31. data/ext/glib2/rbglib_unicode.c +34 -584
  32. data/ext/glib2/rbglib_utf16.c +78 -0
  33. data/ext/glib2/rbglib_utf8.c +259 -0
  34. data/ext/glib2/rbglib_utils.c +95 -91
  35. data/ext/glib2/rbglib_win32.c +52 -45
  36. data/ext/glib2/rbglibdeprecated.c +56 -0
  37. data/ext/glib2/rbglibdeprecated.h +34 -0
  38. data/ext/glib2/rbgobj_boxed.c +40 -33
  39. data/ext/glib2/rbgobj_closure.c +45 -34
  40. data/ext/glib2/rbgobj_convert.c +19 -9
  41. data/ext/glib2/rbgobj_enumflags.c +109 -0
  42. data/ext/glib2/rbgobj_enums.c +67 -646
  43. data/ext/glib2/rbgobj_flags.c +522 -0
  44. data/ext/glib2/rbgobj_fundamental.c +19 -6
  45. data/ext/glib2/rbgobj_object.c +90 -81
  46. data/ext/glib2/rbgobj_param.c +78 -83
  47. data/ext/glib2/rbgobj_paramspecs.c +20 -12
  48. data/ext/glib2/rbgobj_signal.c +248 -193
  49. data/ext/glib2/rbgobj_strv.c +20 -10
  50. data/ext/glib2/rbgobj_type.c +153 -149
  51. data/ext/glib2/rbgobj_typeinstance.c +49 -39
  52. data/ext/glib2/rbgobj_typeinterface.c +37 -27
  53. data/ext/glib2/rbgobj_typemodule.c +39 -29
  54. data/ext/glib2/rbgobj_typeplugin.c +36 -26
  55. data/ext/glib2/rbgobj_value.c +41 -11
  56. data/ext/glib2/rbgobj_valuearray.c +59 -23
  57. data/ext/glib2/rbgobj_valuetypes.c +27 -17
  58. data/ext/glib2/rbgobject.c +26 -40
  59. data/ext/glib2/rbgobject.h +38 -20
  60. data/ext/glib2/rbgprivate.h +87 -5
  61. data/ext/glib2/rbgutil.c +52 -238
  62. data/ext/glib2/rbgutil.h +55 -42
  63. data/ext/glib2/rbgutil_callback.c +47 -12
  64. data/ext/glib2/rbgutil_list.c +173 -0
  65. data/ext/glib2/rbgutil_list.h +85 -0
  66. data/ext/glib2/rbgutildeprecated.c +252 -0
  67. data/ext/glib2/rbgutildeprecated.h +63 -0
  68. data/lib/glib-mkenums.rb +2 -2
  69. data/lib/glib2.rb +2 -25
  70. data/lib/glib2/deprecatable.rb +149 -0
  71. data/lib/gnome2-raketask.rb +45 -15
  72. data/lib/gnome2-win32-binary-downloader.rb +1 -1
  73. data/lib/mkmf-gnome2.rb +37 -18
  74. data/test/test_flags.rb +129 -0
  75. data/test/test_key_file.rb +6 -2
  76. data/test/test_spawn.rb +33 -0
  77. metadata +26 -7
  78. data/ChangeLog +0 -3513
@@ -0,0 +1,34 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2005 Masao Mutoh
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
+ */
21
+
22
+ #include "rbgprivate.h"
23
+
24
+ #define RG_TARGET_NAMESPACE cShellError
25
+
26
+ void
27
+ Init_glib_shellerror(void)
28
+ {
29
+ VALUE RG_TARGET_NAMESPACE = G_DEF_ERROR2(G_SHELL_ERROR, "ShellError", mGLib, rb_eRuntimeError);
30
+
31
+ rb_define_const(RG_TARGET_NAMESPACE, "BAD_QUOTING", INT2FIX(G_SHELL_ERROR_BAD_QUOTING));
32
+ rb_define_const(RG_TARGET_NAMESPACE, "EMPTY_STRING", INT2FIX(G_SHELL_ERROR_EMPTY_STRING));
33
+ rb_define_const(RG_TARGET_NAMESPACE, "FAILED", INT2FIX(G_SHELL_ERROR_FAILED));
34
+ }
@@ -1,19 +1,30 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbglib_source.c -
5
-
6
- $Author: ggc $
7
- $Date: 2007/07/13 16:07:28 $
8
-
9
- Copyright (C) 2005 Masao Mutoh
10
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2005 Masao Mutoh
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
 
14
24
  static ID id_call;
15
25
 
16
26
  /*****************************************/
27
+ #if !GLIB_CHECK_VERSION(2,30,0)
17
28
  static void
18
29
  source_free(GSource *source)
19
30
  {
@@ -31,8 +42,10 @@ g_source_get_type(void)
31
42
  (GBoxedFreeFunc)source_free);
32
43
  return our_type;
33
44
  }
45
+ #endif
34
46
  /*****************************************/
35
47
 
48
+ #define RG_TARGET_NAMESPACE cSource
36
49
  #define _SELF(s) ((GSource*)RVAL2BOXED(s, G_TYPE_SOURCE))
37
50
 
38
51
  /*
@@ -41,7 +54,7 @@ GSource* g_source_new (GSourceFuncs *source_funcs,
41
54
  */
42
55
 
43
56
  static VALUE
44
- source_attach(VALUE self, VALUE context)
57
+ rg_attach(VALUE self, VALUE context)
45
58
  {
46
59
  return UINT2NUM(g_source_attach(_SELF(self),
47
60
  RVAL2BOXED(context, G_TYPE_MAIN_CONTEXT)));
@@ -49,46 +62,46 @@ source_attach(VALUE self, VALUE context)
49
62
 
50
63
  #if GLIB_CHECK_VERSION(2,12,0)
51
64
  static VALUE
52
- source_is_destroyed(VALUE self)
65
+ rg_destroyed_p(VALUE self)
53
66
  {
54
67
  return CBOOL2RVAL(g_source_is_destroyed(_SELF(self)));
55
68
  }
56
69
  #endif
57
70
 
58
71
  static VALUE
59
- source_set_priority(VALUE self, VALUE priority)
72
+ rg_set_priority(VALUE self, VALUE priority)
60
73
  {
61
74
  g_source_set_priority(_SELF(self), NUM2INT(priority));
62
75
  return self;
63
76
  }
64
77
 
65
78
  static VALUE
66
- source_get_priority(VALUE self)
79
+ rg_priority(VALUE self)
67
80
  {
68
81
  return INT2NUM(g_source_get_priority(_SELF(self)));
69
82
  }
70
83
 
71
84
  static VALUE
72
- source_set_can_recurse(VALUE self, VALUE can_recurse)
85
+ rg_set_can_recurse(VALUE self, VALUE can_recurse)
73
86
  {
74
87
  g_source_set_can_recurse(_SELF(self), RVAL2CBOOL(can_recurse));
75
88
  return self;
76
89
  }
77
90
 
78
91
  static VALUE
79
- source_get_can_recurse(VALUE self)
92
+ rg_can_recurse_p(VALUE self)
80
93
  {
81
94
  return CBOOL2RVAL(g_source_get_can_recurse(_SELF(self)));
82
95
  }
83
96
 
84
97
  static VALUE
85
- source_get_id(VALUE self)
98
+ rg_id(VALUE self)
86
99
  {
87
100
  return UINT2NUM(g_source_get_id(_SELF(self)));
88
101
  }
89
102
 
90
103
  static VALUE
91
- source_get_context(VALUE self)
104
+ rg_context(VALUE self)
92
105
  {
93
106
  GMainContext* context = g_source_get_context(_SELF(self));
94
107
  return BOXED2RVAL(context, G_TYPE_MAIN_CONTEXT);
@@ -101,7 +114,7 @@ source_func(gpointer func)
101
114
  }
102
115
 
103
116
  static VALUE
104
- source_set_callback(VALUE self)
117
+ rg_set_callback(VALUE self)
105
118
  {
106
119
  VALUE func = rb_block_proc();
107
120
  G_RELATIVE(self, func);
@@ -119,21 +132,21 @@ void g_source_set_callback_indirect (GSource *source,
119
132
  */
120
133
 
121
134
  static VALUE
122
- source_add_poll(VALUE self, VALUE fd)
135
+ rg_add_poll(VALUE self, VALUE fd)
123
136
  {
124
137
  g_source_add_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD));
125
138
  return self;
126
139
  }
127
140
 
128
141
  static VALUE
129
- source_remove_poll(VALUE self, VALUE fd)
142
+ rg_remove_poll(VALUE self, VALUE fd)
130
143
  {
131
144
  g_source_remove_poll(_SELF(self), RVAL2BOXED(fd, G_TYPE_POLL_FD));
132
145
  return self;
133
146
  }
134
147
 
135
148
  static VALUE
136
- source_get_current_time(VALUE self)
149
+ rg_current_time(VALUE self)
137
150
  {
138
151
  GTimeVal timeval;
139
152
  g_source_get_current_time(_SELF(self), &timeval);
@@ -149,28 +162,28 @@ gboolean g_source_remove_by_user_data (gpointer user_data);
149
162
  */
150
163
 
151
164
  void
152
- Init_glib_source()
165
+ Init_glib_source(void)
153
166
  {
154
- VALUE src = G_DEF_CLASS(G_TYPE_SOURCE, "Source", mGLib);
167
+ VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_SOURCE, "Source", mGLib);
155
168
 
156
169
  id_call = rb_intern("call");
157
170
 
158
- rb_define_method(src, "attach", source_attach, 1);
171
+ RG_DEF_METHOD(attach, 1);
159
172
  #if GLIB_CHECK_VERSION(2,12,0)
160
- rb_define_method(src, "destroyed?", source_is_destroyed, 0);
173
+ RG_DEF_METHOD_P(destroyed, 0);
161
174
  #endif
162
- rb_define_method(src, "set_priority", source_set_priority, 1);
163
- rb_define_method(src, "priority", source_get_priority, 0);
164
- rb_define_method(src, "set_can_recurse", source_set_can_recurse, 1);
165
- rb_define_method(src, "can_recurse?", source_get_can_recurse, 0);
166
- rb_define_method(src, "id", source_get_id, 0);
167
- rb_define_method(src, "context", source_get_context, 0);
168
- rb_define_method(src, "set_callback", source_set_callback, 0);
169
- rb_define_method(src, "add_poll", source_add_poll, 1);
170
- rb_define_method(src, "remove_poll", source_remove_poll, 1);
171
- rb_define_method(src, "current_time", source_get_current_time, 0);
175
+ RG_DEF_METHOD(set_priority, 1);
176
+ RG_DEF_METHOD(priority, 0);
177
+ RG_DEF_METHOD(set_can_recurse, 1);
178
+ RG_DEF_METHOD_P(can_recurse, 0);
179
+ RG_DEF_METHOD(id, 0);
180
+ RG_DEF_METHOD(context, 0);
181
+ RG_DEF_METHOD(set_callback, 0);
182
+ RG_DEF_METHOD(add_poll, 1);
183
+ RG_DEF_METHOD(remove_poll, 1);
184
+ RG_DEF_METHOD(current_time, 0);
172
185
 
173
186
  /* GLib::Source.remove is moved to rbglib_maincontext.c */
174
187
 
175
- G_DEF_SETTERS(src);
188
+ G_DEF_SETTERS(RG_TARGET_NAMESPACE);
176
189
  }
@@ -1,18 +1,30 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /**********************************************************************
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2004 Masao Mutoh
5
+ * Copyright (C) 2004 Kazuhiro NISHIYAMA
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
+ */
3
22
 
4
- rbglib_spawn.c -
5
-
6
- $Author: sakai $
7
- $Date: 2007/07/08 02:40:12 $
8
-
9
- Copyright (C) 2004 Masao Mutoh
10
- Copyright (C) 2004 Kazuhiro NISHIYAMA
11
-
12
- **********************************************************************/
13
23
  #include "rbgprivate.h"
14
24
  #include "rbglib.h"
15
25
 
26
+ #define RG_TARGET_NAMESPACE mSpawn
27
+
16
28
  static ID id_call;
17
29
  static ID id_new;
18
30
 
@@ -25,7 +37,7 @@ child_setup(gpointer func)
25
37
  }
26
38
 
27
39
  static VALUE
28
- rbglib_m_spawn_async_with_pipes(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
40
+ rg_m_async_with_pipes(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
29
41
  {
30
42
  GError *err = NULL;
31
43
  gboolean ret;
@@ -41,8 +53,8 @@ rbglib_m_spawn_async_with_pipes(VALUE self, VALUE working_directory, VALUE argv,
41
53
  }
42
54
 
43
55
  gargv = (gchar **)RVAL2STRV(argv);
44
- genvp = (gchar **)RVAL2STRV(envp);
45
- ret = g_spawn_async_with_pipes(NIL_P(working_directory) ? NULL : RVAL2CSTR(working_directory),
56
+ genvp = (gchar **)RVAL2STRV_ACCEPT_NIL(envp);
57
+ ret = g_spawn_async_with_pipes(RVAL2CSTR_ACCEPT_NIL(working_directory),
46
58
  gargv, genvp, NUM2INT(flags),
47
59
  (GSpawnChildSetupFunc)child_setup,
48
60
  (gpointer)func,
@@ -53,7 +65,7 @@ rbglib_m_spawn_async_with_pipes(VALUE self, VALUE working_directory, VALUE argv,
53
65
  g_free(genvp);
54
66
  if (!ret)
55
67
  RAISE_GERROR(err);
56
-
68
+
57
69
  return rb_ary_new3(4, INT2NUM((gint)child_pid),
58
70
  rb_funcall(rb_cIO, id_new, 1, INT2NUM(standard_input)),
59
71
  rb_funcall(rb_cIO, id_new, 1, INT2NUM(standard_output)),
@@ -61,7 +73,7 @@ rbglib_m_spawn_async_with_pipes(VALUE self, VALUE working_directory, VALUE argv,
61
73
  }
62
74
 
63
75
  static VALUE
64
- rbglib_m_spawn_async(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
76
+ rg_m_async(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
65
77
  {
66
78
  GError *err = NULL;
67
79
  gboolean ret;
@@ -76,8 +88,8 @@ rbglib_m_spawn_async(VALUE self, VALUE working_directory, VALUE argv, VALUE envp
76
88
  }
77
89
 
78
90
  gargv = (gchar **)RVAL2STRV(argv);
79
- genvp = (gchar **)RVAL2STRV(envp);
80
- ret = g_spawn_async(NIL_P(working_directory) ? NULL : RVAL2CSTR(working_directory),
91
+ genvp = (gchar **)RVAL2STRV_ACCEPT_NIL(envp);
92
+ ret = g_spawn_async(RVAL2CSTR_ACCEPT_NIL(working_directory),
81
93
  gargv, genvp, NUM2INT(flags),
82
94
  (GSpawnChildSetupFunc)child_setup, (gpointer)func,
83
95
  &child_pid, &err);
@@ -90,7 +102,7 @@ rbglib_m_spawn_async(VALUE self, VALUE working_directory, VALUE argv, VALUE envp
90
102
  }
91
103
 
92
104
  static VALUE
93
- rbglib_m_spawn_sync(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
105
+ rg_m_sync(VALUE self, VALUE working_directory, VALUE argv, VALUE envp, VALUE flags)
94
106
  {
95
107
  GError *err = NULL;
96
108
  gboolean ret;
@@ -107,8 +119,8 @@ rbglib_m_spawn_sync(VALUE self, VALUE working_directory, VALUE argv, VALUE envp,
107
119
  }
108
120
 
109
121
  gargv = (gchar **)RVAL2STRV(argv);
110
- genvp = (gchar **)RVAL2STRV(envp);
111
- ret = g_spawn_sync(NIL_P(working_directory) ? NULL : RVAL2CSTR(working_directory),
122
+ genvp = (gchar **)RVAL2STRV_ACCEPT_NIL(envp);
123
+ ret = g_spawn_sync(RVAL2CSTR_ACCEPT_NIL(working_directory),
112
124
  gargv, genvp, NUM2INT(flags),
113
125
  (GSpawnChildSetupFunc)child_setup, (gpointer)func,
114
126
  &standard_output, &standard_error,
@@ -141,7 +153,7 @@ rbglib_m_spawn_sync(VALUE self, VALUE working_directory, VALUE argv, VALUE envp,
141
153
  }
142
154
 
143
155
  static VALUE
144
- rbglib_m_spawn_command_line_sync(VALUE self, VALUE str)
156
+ rg_m_command_line_sync(G_GNUC_UNUSED VALUE self, VALUE str)
145
157
  {
146
158
  GError *err = NULL;
147
159
  const gchar *command_line;
@@ -178,7 +190,7 @@ rbglib_m_spawn_command_line_sync(VALUE self, VALUE str)
178
190
  }
179
191
 
180
192
  static VALUE
181
- rbglib_m_spawn_command_line_async(VALUE self, VALUE str)
193
+ rg_m_command_line_async(G_GNUC_UNUSED VALUE self, VALUE str)
182
194
  {
183
195
  GError *err = NULL;
184
196
  const gchar *command_line;
@@ -197,7 +209,7 @@ rbglib_m_spawn_command_line_async(VALUE self, VALUE str)
197
209
  #define RVAL2GPID(value) ((GPid)NUM2INT(pid))
198
210
 
199
211
  static VALUE
200
- rbglib_m_spawn_close_pid(VALUE self, VALUE pid)
212
+ rg_m_close_pid(VALUE self, VALUE pid)
201
213
  {
202
214
  g_spawn_close_pid(RVAL2GPID(pid));
203
215
  return Qnil;
@@ -206,51 +218,28 @@ rbglib_m_spawn_close_pid(VALUE self, VALUE pid)
206
218
  #endif
207
219
 
208
220
  void
209
- Init_glib_spawn()
221
+ Init_glib_spawn(void)
210
222
  {
211
- VALUE mGSpawn = rb_define_module_under(mGLib, "Spawn");
212
- VALUE cSpawnError = G_DEF_ERROR2(G_SPAWN_ERROR, "SpawnError", mGLib, rb_eIOError);
223
+ VALUE RG_TARGET_NAMESPACE = rb_define_module_under(mGLib, "Spawn");
213
224
 
214
225
  id_call = rb_intern("call");
215
226
  id_new = rb_intern("new");
216
227
 
217
228
  /* glib/gspawn.h */
218
- rb_define_module_function(mGSpawn, "async_with_pipes", rbglib_m_spawn_async_with_pipes, 4);
219
- rb_define_module_function(mGSpawn, "async", rbglib_m_spawn_async, 4);
220
- rb_define_module_function(mGSpawn, "sync", rbglib_m_spawn_sync, 4);
221
- rb_define_module_function(mGSpawn, "command_line_sync", rbglib_m_spawn_command_line_sync, 1);
222
- rb_define_module_function(mGSpawn, "command_line_async", rbglib_m_spawn_command_line_async, 1);
229
+ RG_DEF_MODFUNC(async_with_pipes, 4);
230
+ RG_DEF_MODFUNC(async, 4);
231
+ RG_DEF_MODFUNC(sync, 4);
232
+ RG_DEF_MODFUNC(command_line_sync, 1);
233
+ RG_DEF_MODFUNC(command_line_async, 1);
223
234
  #ifdef HAVE_G_SPAWN_CLOSE_PID
224
- rb_define_module_function(mGSpawn, "close_pid", rbglib_m_spawn_close_pid, 1);
235
+ RG_DEF_MODFUNC(close_pid, 1);
225
236
  #endif
226
237
 
227
- rb_define_const(mGSpawn, "LEAVE_DESCRIPTORS_OPEN", INT2NUM(G_SPAWN_LEAVE_DESCRIPTORS_OPEN));
228
- rb_define_const(mGSpawn, "DO_NOT_REAP_CHILD", INT2NUM(G_SPAWN_DO_NOT_REAP_CHILD));
229
- rb_define_const(mGSpawn, "SEARCH_PATH", INT2NUM(G_SPAWN_SEARCH_PATH));
230
- rb_define_const(mGSpawn, "STDOUT_TO_DEV_NULL", INT2NUM(G_SPAWN_STDOUT_TO_DEV_NULL));
231
- rb_define_const(mGSpawn, "STDERR_TO_DEV_NULL", INT2NUM(G_SPAWN_STDERR_TO_DEV_NULL));
232
- rb_define_const(mGSpawn, "CHILD_INHERITS_STDIN", INT2NUM(G_SPAWN_CHILD_INHERITS_STDIN));
233
- rb_define_const(mGSpawn, "FILE_AND_ARGV_ZERO", INT2NUM(G_SPAWN_FILE_AND_ARGV_ZERO));
234
-
235
- rb_define_const(cSpawnError, "FORK", INT2NUM(G_SPAWN_ERROR_FORK));
236
- rb_define_const(cSpawnError, "READ", INT2NUM(G_SPAWN_ERROR_READ));
237
- rb_define_const(cSpawnError, "CHDIR", INT2NUM(G_SPAWN_ERROR_CHDIR));
238
- rb_define_const(cSpawnError, "EACCES", INT2NUM(G_SPAWN_ERROR_ACCES));
239
- rb_define_const(cSpawnError, "EPERM", INT2NUM(G_SPAWN_ERROR_PERM));
240
- rb_define_const(cSpawnError, "E2BIG", INT2NUM(G_SPAWN_ERROR_2BIG));
241
- rb_define_const(cSpawnError, "ENOEXEC", INT2NUM(G_SPAWN_ERROR_NOEXEC));
242
- rb_define_const(cSpawnError, "ENAMETOOLONG", INT2NUM(G_SPAWN_ERROR_NAMETOOLONG));
243
- rb_define_const(cSpawnError, "ENOENT", INT2NUM(G_SPAWN_ERROR_NOENT));
244
- rb_define_const(cSpawnError, "ENOMEM", INT2NUM(G_SPAWN_ERROR_NOMEM));
245
- rb_define_const(cSpawnError, "ENOTDIR", INT2NUM(G_SPAWN_ERROR_NOTDIR));
246
- rb_define_const(cSpawnError, "ELOOP", INT2NUM(G_SPAWN_ERROR_LOOP));
247
- rb_define_const(cSpawnError, "ETXTBUSY", INT2NUM(G_SPAWN_ERROR_TXTBUSY));
248
- rb_define_const(cSpawnError, "EIO", INT2NUM(G_SPAWN_ERROR_IO));
249
- rb_define_const(cSpawnError, "ENFILE", INT2NUM(G_SPAWN_ERROR_NFILE));
250
- rb_define_const(cSpawnError, "EMFILE", INT2NUM(G_SPAWN_ERROR_MFILE));
251
- rb_define_const(cSpawnError, "EINVAL", INT2NUM(G_SPAWN_ERROR_INVAL));
252
- rb_define_const(cSpawnError, "EISDIR", INT2NUM(G_SPAWN_ERROR_ISDIR));
253
- rb_define_const(cSpawnError, "ELIBBAD", INT2NUM(G_SPAWN_ERROR_LIBBAD));
254
- rb_define_const(cSpawnError, "FAILED", INT2NUM(G_SPAWN_ERROR_FAILED));
255
-
238
+ rb_define_const(RG_TARGET_NAMESPACE, "LEAVE_DESCRIPTORS_OPEN", INT2NUM(G_SPAWN_LEAVE_DESCRIPTORS_OPEN));
239
+ rb_define_const(RG_TARGET_NAMESPACE, "DO_NOT_REAP_CHILD", INT2NUM(G_SPAWN_DO_NOT_REAP_CHILD));
240
+ rb_define_const(RG_TARGET_NAMESPACE, "SEARCH_PATH", INT2NUM(G_SPAWN_SEARCH_PATH));
241
+ rb_define_const(RG_TARGET_NAMESPACE, "STDOUT_TO_DEV_NULL", INT2NUM(G_SPAWN_STDOUT_TO_DEV_NULL));
242
+ rb_define_const(RG_TARGET_NAMESPACE, "STDERR_TO_DEV_NULL", INT2NUM(G_SPAWN_STDERR_TO_DEV_NULL));
243
+ rb_define_const(RG_TARGET_NAMESPACE, "CHILD_INHERITS_STDIN", INT2NUM(G_SPAWN_CHILD_INHERITS_STDIN));
244
+ rb_define_const(RG_TARGET_NAMESPACE, "FILE_AND_ARGV_ZERO", INT2NUM(G_SPAWN_FILE_AND_ARGV_ZERO));
256
245
  }
@@ -0,0 +1,53 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2004 Masao Mutoh
5
+ * Copyright (C) 2004 Kazuhiro NISHIYAMA
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
+ */
22
+
23
+ #include "rbgprivate.h"
24
+ #include "rbglib.h"
25
+
26
+ #define RG_TARGET_NAMESPACE cSpawnError
27
+
28
+ void
29
+ Init_glib_spawnerror(void)
30
+ {
31
+ VALUE RG_TARGET_NAMESPACE = G_DEF_ERROR2(G_SPAWN_ERROR, "SpawnError", mGLib, rb_eIOError);
32
+
33
+ rb_define_const(RG_TARGET_NAMESPACE, "FORK", INT2NUM(G_SPAWN_ERROR_FORK));
34
+ rb_define_const(RG_TARGET_NAMESPACE, "READ", INT2NUM(G_SPAWN_ERROR_READ));
35
+ rb_define_const(RG_TARGET_NAMESPACE, "CHDIR", INT2NUM(G_SPAWN_ERROR_CHDIR));
36
+ rb_define_const(RG_TARGET_NAMESPACE, "EACCES", INT2NUM(G_SPAWN_ERROR_ACCES));
37
+ rb_define_const(RG_TARGET_NAMESPACE, "EPERM", INT2NUM(G_SPAWN_ERROR_PERM));
38
+ rb_define_const(RG_TARGET_NAMESPACE, "E2BIG", INT2NUM(G_SPAWN_ERROR_2BIG));
39
+ rb_define_const(RG_TARGET_NAMESPACE, "ENOEXEC", INT2NUM(G_SPAWN_ERROR_NOEXEC));
40
+ rb_define_const(RG_TARGET_NAMESPACE, "ENAMETOOLONG", INT2NUM(G_SPAWN_ERROR_NAMETOOLONG));
41
+ rb_define_const(RG_TARGET_NAMESPACE, "ENOENT", INT2NUM(G_SPAWN_ERROR_NOENT));
42
+ rb_define_const(RG_TARGET_NAMESPACE, "ENOMEM", INT2NUM(G_SPAWN_ERROR_NOMEM));
43
+ rb_define_const(RG_TARGET_NAMESPACE, "ENOTDIR", INT2NUM(G_SPAWN_ERROR_NOTDIR));
44
+ rb_define_const(RG_TARGET_NAMESPACE, "ELOOP", INT2NUM(G_SPAWN_ERROR_LOOP));
45
+ rb_define_const(RG_TARGET_NAMESPACE, "ETXTBUSY", INT2NUM(G_SPAWN_ERROR_TXTBUSY));
46
+ rb_define_const(RG_TARGET_NAMESPACE, "EIO", INT2NUM(G_SPAWN_ERROR_IO));
47
+ rb_define_const(RG_TARGET_NAMESPACE, "ENFILE", INT2NUM(G_SPAWN_ERROR_NFILE));
48
+ rb_define_const(RG_TARGET_NAMESPACE, "EMFILE", INT2NUM(G_SPAWN_ERROR_MFILE));
49
+ rb_define_const(RG_TARGET_NAMESPACE, "EINVAL", INT2NUM(G_SPAWN_ERROR_INVAL));
50
+ rb_define_const(RG_TARGET_NAMESPACE, "EISDIR", INT2NUM(G_SPAWN_ERROR_ISDIR));
51
+ rb_define_const(RG_TARGET_NAMESPACE, "ELIBBAD", INT2NUM(G_SPAWN_ERROR_LIBBAD));
52
+ rb_define_const(RG_TARGET_NAMESPACE, "FAILED", INT2NUM(G_SPAWN_ERROR_FAILED));
53
+ }