rice 2.1.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/COPYING +2 -2
- data/Doxyfile +4 -16
- data/Makefile.am +2 -2
- data/Makefile.in +28 -17
- data/{README → README.md} +323 -328
- data/aclocal.m4 +104 -107
- data/ax_cxx_compile_stdcxx.m4 +951 -0
- data/configure +549 -238
- data/configure.ac +3 -3
- data/extconf.rb +11 -10
- data/rice/Array.hpp +16 -16
- data/rice/Array.ipp +11 -11
- data/rice/Class_defn.hpp +1 -0
- data/rice/Constructor.hpp +27 -371
- data/rice/Data_Object_defn.hpp +3 -3
- data/rice/Director.hpp +3 -3
- data/rice/Enum.ipp +1 -1
- data/rice/Exception.cpp +2 -7
- data/rice/Hash.hpp +8 -5
- data/rice/Hash.ipp +2 -2
- data/rice/Makefile.am +1 -4
- data/rice/Makefile.in +80 -35
- data/rice/Module_impl.ipp +1 -1
- data/rice/Object.cpp +1 -1
- data/rice/Object.ipp +15 -1
- data/rice/Object_defn.hpp +24 -1
- data/rice/String.cpp +2 -7
- data/rice/Struct.cpp +2 -2
- data/rice/Struct.hpp +1 -1
- data/rice/Struct.ipp +1 -1
- data/rice/config.hpp +2 -2
- data/rice/config.hpp.in +2 -2
- data/rice/detail/Arguments.hpp +1 -1
- data/rice/detail/Auto_Function_Wrapper.ipp +512 -1025
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +272 -545
- data/rice/detail/Iterator.hpp +2 -2
- data/rice/detail/method_data.cpp +8 -2
- data/rice/detail/ruby.hpp +1 -4
- data/rice/detail/ruby_version_code.hpp +1 -1
- data/rice/detail/wrap_function.hpp +32 -307
- data/rice/protect.hpp +3 -57
- data/rice/to_from_ruby.ipp +128 -4
- data/ruby/Makefile.in +11 -8
- data/ruby/lib/Makefile.in +10 -7
- data/ruby/lib/version.rb +1 -1
- data/sample/Makefile.am +10 -4
- data/sample/Makefile.in +20 -11
- data/sample/callbacks/extconf.rb +3 -0
- data/sample/callbacks/sample_callbacks.cpp +38 -0
- data/sample/callbacks/test.rb +28 -0
- data/test/Makefile.am +1 -0
- data/test/Makefile.in +118 -49
- data/test/embed_ruby.cpp +21 -0
- data/test/embed_ruby.hpp +4 -0
- data/test/ext/Makefile.in +10 -7
- data/test/test_Address_Registration_Guard.cpp +2 -1
- data/test/test_Array.cpp +2 -1
- data/test/test_Builtin_Object.cpp +2 -1
- data/test/test_Class.cpp +7 -4
- data/test/test_Data_Object.cpp +2 -1
- data/test/test_Data_Type.cpp +2 -1
- data/test/test_Director.cpp +2 -1
- data/test/test_Enum.cpp +24 -3
- data/test/test_Exception.cpp +2 -1
- data/test/test_Hash.cpp +2 -1
- data/test/test_Identifier.cpp +2 -1
- data/test/test_Memory_Management.cpp +2 -1
- data/test/test_Module.cpp +2 -1
- data/test/test_Object.cpp +13 -1
- data/test/test_String.cpp +2 -1
- data/test/test_Struct.cpp +2 -1
- data/test/test_Symbol.cpp +2 -1
- data/test/test_To_From_Ruby.cpp +102 -1
- data/test/test_global_functions.cpp +2 -1
- data/test/test_rice.rb +4 -0
- data/test/unittest.cpp +35 -9
- metadata +72 -16
- data/check_stdcxx_11.ac +0 -142
- data/rice/detail/object_call.hpp +0 -69
- data/rice/detail/object_call.ipp +0 -131
- data/rice/detail/traits.hpp +0 -43
- data/rice/detail/wrap_function.ipp +0 -514
data/rice/to_from_ruby.ipp
CHANGED
@@ -18,6 +18,37 @@ Rice::Object to_ruby<Rice::Object>(Rice::Object const & x)
|
|
18
18
|
return x;
|
19
19
|
}
|
20
20
|
|
21
|
+
// ---------------------------------------------------------------------
|
22
|
+
namespace Rice
|
23
|
+
{
|
24
|
+
namespace detail
|
25
|
+
{
|
26
|
+
inline short num2short(VALUE x)
|
27
|
+
{
|
28
|
+
return NUM2SHORT(x);
|
29
|
+
}
|
30
|
+
|
31
|
+
inline VALUE short2num(short x)
|
32
|
+
{
|
33
|
+
return INT2NUM(x);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
template<>
|
39
|
+
inline
|
40
|
+
short from_ruby<short>(Rice::Object x)
|
41
|
+
{
|
42
|
+
return Rice::detail::num2short(x);
|
43
|
+
}
|
44
|
+
|
45
|
+
template<>
|
46
|
+
inline
|
47
|
+
Rice::Object to_ruby<short>(short const & x)
|
48
|
+
{
|
49
|
+
return Rice::protect(Rice::detail::short2num, x);
|
50
|
+
}
|
51
|
+
|
21
52
|
// ---------------------------------------------------------------------
|
22
53
|
namespace Rice
|
23
54
|
{
|
@@ -70,7 +101,7 @@ template<>
|
|
70
101
|
inline
|
71
102
|
long from_ruby<long>(Rice::Object x)
|
72
103
|
{
|
73
|
-
return Rice::protect(Rice::detail::num2long, x);
|
104
|
+
return (long)Rice::protect(Rice::detail::num2long, x);
|
74
105
|
}
|
75
106
|
|
76
107
|
template<>
|
@@ -80,6 +111,68 @@ Rice::Object to_ruby<long>(long const & x)
|
|
80
111
|
return Rice::protect(Rice::detail::long2num, x);
|
81
112
|
}
|
82
113
|
|
114
|
+
// ---------------------------------------------------------------------
|
115
|
+
namespace Rice
|
116
|
+
{
|
117
|
+
namespace detail
|
118
|
+
{
|
119
|
+
inline long long num2longlong(VALUE x)
|
120
|
+
{
|
121
|
+
return NUM2LL(x);
|
122
|
+
}
|
123
|
+
|
124
|
+
inline VALUE longlong2num(long long x)
|
125
|
+
{
|
126
|
+
return LL2NUM(x);
|
127
|
+
}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
template<>
|
132
|
+
inline
|
133
|
+
long long from_ruby<long long>(Rice::Object x)
|
134
|
+
{
|
135
|
+
return Rice::protect(Rice::detail::num2longlong, x);
|
136
|
+
}
|
137
|
+
|
138
|
+
template<>
|
139
|
+
inline
|
140
|
+
Rice::Object to_ruby<long long>(long long const & x)
|
141
|
+
{
|
142
|
+
return Rice::protect(Rice::detail::longlong2num, x);
|
143
|
+
}
|
144
|
+
|
145
|
+
// ---------------------------------------------------------------------
|
146
|
+
namespace Rice
|
147
|
+
{
|
148
|
+
namespace detail
|
149
|
+
{
|
150
|
+
inline unsigned short num2ushort(VALUE x)
|
151
|
+
{
|
152
|
+
return NUM2USHORT(x);
|
153
|
+
}
|
154
|
+
|
155
|
+
inline VALUE ushort2num(unsigned short x)
|
156
|
+
{
|
157
|
+
return UINT2NUM(x);
|
158
|
+
}
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
template<>
|
163
|
+
inline
|
164
|
+
unsigned short from_ruby<unsigned short>(Rice::Object x)
|
165
|
+
{
|
166
|
+
return Rice::detail::num2ushort(x);
|
167
|
+
}
|
168
|
+
|
169
|
+
template<>
|
170
|
+
inline
|
171
|
+
Rice::Object to_ruby<unsigned short>(unsigned short const & x)
|
172
|
+
{
|
173
|
+
return Rice::protect(Rice::detail::ushort2num, x);
|
174
|
+
}
|
175
|
+
|
83
176
|
// ---------------------------------------------------------------------
|
84
177
|
namespace Rice
|
85
178
|
{
|
@@ -132,7 +225,7 @@ template<>
|
|
132
225
|
inline
|
133
226
|
unsigned long from_ruby<unsigned long>(Rice::Object x)
|
134
227
|
{
|
135
|
-
return Rice::protect(Rice::detail::num2ulong, x);
|
228
|
+
return (unsigned long)Rice::protect(Rice::detail::num2ulong, x);
|
136
229
|
}
|
137
230
|
|
138
231
|
template<>
|
@@ -142,6 +235,37 @@ Rice::Object to_ruby<unsigned long>(unsigned long const & x)
|
|
142
235
|
return Rice::protect(Rice::detail::ulong2num, x);
|
143
236
|
}
|
144
237
|
|
238
|
+
// ---------------------------------------------------------------------
|
239
|
+
namespace Rice
|
240
|
+
{
|
241
|
+
namespace detail
|
242
|
+
{
|
243
|
+
inline unsigned long long num2ulonglong(VALUE x)
|
244
|
+
{
|
245
|
+
return NUM2ULL(x);
|
246
|
+
}
|
247
|
+
|
248
|
+
inline VALUE ulonglong2num(unsigned long long x)
|
249
|
+
{
|
250
|
+
return ULL2NUM(x);
|
251
|
+
}
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
template<>
|
256
|
+
inline
|
257
|
+
unsigned long long from_ruby<unsigned long long>(Rice::Object x)
|
258
|
+
{
|
259
|
+
return Rice::protect(Rice::detail::num2ulonglong, x);
|
260
|
+
}
|
261
|
+
|
262
|
+
template<>
|
263
|
+
inline
|
264
|
+
Rice::Object to_ruby<unsigned long long>(unsigned long long const & x)
|
265
|
+
{
|
266
|
+
return Rice::protect(Rice::detail::ulonglong2num, x);
|
267
|
+
}
|
268
|
+
|
145
269
|
// ---------------------------------------------------------------------
|
146
270
|
template<>
|
147
271
|
inline
|
@@ -261,7 +385,7 @@ template<>
|
|
261
385
|
inline
|
262
386
|
char const * from_ruby<char const *>(Rice::Object x)
|
263
387
|
{
|
264
|
-
return Rice::String(x).
|
388
|
+
return Rice::String(x).c_str();
|
265
389
|
}
|
266
390
|
|
267
391
|
template<>
|
@@ -283,7 +407,7 @@ template<>
|
|
283
407
|
inline
|
284
408
|
Rice::Object to_ruby<std::string>(std::string const & x)
|
285
409
|
{
|
286
|
-
return Rice::protect(rb_str_new, x.data(), x.size());
|
410
|
+
return Rice::protect(rb_str_new, x.data(), (long)x.size());
|
287
411
|
}
|
288
412
|
|
289
413
|
template<>
|
data/ruby/Makefile.in
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# Makefile.in generated by automake 1.
|
1
|
+
# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
2
2
|
# @configure_input@
|
3
3
|
|
4
|
-
# Copyright (C) 1994-
|
4
|
+
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
5
5
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
@@ -89,7 +89,7 @@ build_triplet = @build@
|
|
89
89
|
host_triplet = @host@
|
90
90
|
subdir = ruby
|
91
91
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
92
|
-
am__aclocal_m4_deps = $(top_srcdir)/
|
92
|
+
am__aclocal_m4_deps = $(top_srcdir)/ax_cxx_compile_stdcxx.m4 \
|
93
93
|
$(top_srcdir)/ruby.ac $(top_srcdir)/doxygen.ac \
|
94
94
|
$(top_srcdir)/configure.ac
|
95
95
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
@@ -133,7 +133,7 @@ am__recursive_targets = \
|
|
133
133
|
$(RECURSIVE_CLEAN_TARGETS) \
|
134
134
|
$(am__extra_recursive_targets)
|
135
135
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
136
|
-
distdir
|
136
|
+
distdir distdir-am
|
137
137
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
138
138
|
# Read a list of newline-separated strings from the standard input,
|
139
139
|
# and print each of them once, without duplicates. Input order is
|
@@ -223,7 +223,7 @@ ECHO_C = @ECHO_C@
|
|
223
223
|
ECHO_N = @ECHO_N@
|
224
224
|
ECHO_T = @ECHO_T@
|
225
225
|
EXEEXT = @EXEEXT@
|
226
|
-
|
226
|
+
HAVE_CXX14 = @HAVE_CXX14@
|
227
227
|
INSTALL = @INSTALL@
|
228
228
|
INSTALL_DATA = @INSTALL_DATA@
|
229
229
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -335,8 +335,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
335
335
|
*config.status*) \
|
336
336
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
337
337
|
*) \
|
338
|
-
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
339
|
-
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
338
|
+
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
339
|
+
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
340
340
|
esac;
|
341
341
|
|
342
342
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
@@ -447,7 +447,10 @@ cscopelist-am: $(am__tagged_files)
|
|
447
447
|
distclean-tags:
|
448
448
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
449
449
|
|
450
|
-
distdir: $(
|
450
|
+
distdir: $(BUILT_SOURCES)
|
451
|
+
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
452
|
+
|
453
|
+
distdir-am: $(DISTFILES)
|
451
454
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
452
455
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
453
456
|
list='$(DISTFILES)'; \
|
data/ruby/lib/Makefile.in
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# Makefile.in generated by automake 1.
|
1
|
+
# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
2
2
|
# @configure_input@
|
3
3
|
|
4
|
-
# Copyright (C) 1994-
|
4
|
+
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
5
5
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
@@ -90,7 +90,7 @@ build_triplet = @build@
|
|
90
90
|
host_triplet = @host@
|
91
91
|
subdir = ruby/lib
|
92
92
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
93
|
-
am__aclocal_m4_deps = $(top_srcdir)/
|
93
|
+
am__aclocal_m4_deps = $(top_srcdir)/ax_cxx_compile_stdcxx.m4 \
|
94
94
|
$(top_srcdir)/ruby.ac $(top_srcdir)/doxygen.ac \
|
95
95
|
$(top_srcdir)/configure.ac
|
96
96
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
@@ -193,7 +193,7 @@ ECHO_C = @ECHO_C@
|
|
193
193
|
ECHO_N = @ECHO_N@
|
194
194
|
ECHO_T = @ECHO_T@
|
195
195
|
EXEEXT = @EXEEXT@
|
196
|
-
|
196
|
+
HAVE_CXX14 = @HAVE_CXX14@
|
197
197
|
INSTALL = @INSTALL@
|
198
198
|
INSTALL_DATA = @INSTALL_DATA@
|
199
199
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -306,8 +306,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
306
306
|
*config.status*) \
|
307
307
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
308
308
|
*) \
|
309
|
-
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
310
|
-
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
309
|
+
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
310
|
+
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
311
311
|
esac;
|
312
312
|
|
313
313
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
@@ -348,7 +348,10 @@ ctags CTAGS:
|
|
348
348
|
cscope cscopelist:
|
349
349
|
|
350
350
|
|
351
|
-
distdir: $(
|
351
|
+
distdir: $(BUILT_SOURCES)
|
352
|
+
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
353
|
+
|
354
|
+
distdir-am: $(DISTFILES)
|
352
355
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
353
356
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
354
357
|
list='$(DISTFILES)'; \
|
data/ruby/lib/version.rb
CHANGED
data/sample/Makefile.am
CHANGED
@@ -10,7 +10,10 @@ EXTRA_DIST = \
|
|
10
10
|
map/test.rb \
|
11
11
|
inheritance/extconf.rb \
|
12
12
|
inheritance/animals.cpp \
|
13
|
-
inheritance/test.rb
|
13
|
+
inheritance/test.rb \
|
14
|
+
callbacks/extconf.rb \
|
15
|
+
callbacks/sample_callbacks.cpp \
|
16
|
+
callbacks/test.rb
|
14
17
|
|
15
18
|
enum/Makefile: enum/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
16
19
|
@RUBY@ $(RUBY_EXTCONF_OPTIONS) -C enum extconf.rb $(EXTCONF_OPTIONS)
|
@@ -21,7 +24,10 @@ map/Makefile: map/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
|
21
24
|
inheritance/Makefile: inheritance/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
22
25
|
@RUBY@ $(RUBY_EXTCONF_OPTIONS) -C inheritance extconf.rb $(EXTCONF_OPTIONS)
|
23
26
|
|
24
|
-
|
27
|
+
callbacks/Makefile: callbacks/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
28
|
+
@RUBY@ $(RUBY_EXTCONF_OPTIONS) -C callbacks extconf.rb $(EXTCONF_OPTIONS)
|
29
|
+
|
30
|
+
all: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile all_extensions
|
25
31
|
|
26
32
|
all_extensions: $(addsuffix /Makefile,$(RICE_SAMPLES))
|
27
33
|
@for sample in $(RICE_SAMPLES); \
|
@@ -29,7 +35,7 @@ all_extensions: $(addsuffix /Makefile,$(RICE_SAMPLES))
|
|
29
35
|
${MAKE} -C $${sample} all; \
|
30
36
|
done
|
31
37
|
|
32
|
-
clean: enum/Makefile map/Makefile inheritance/Makefile clean_extensions
|
38
|
+
clean: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile clean_extensions
|
33
39
|
|
34
40
|
clean_extensions:
|
35
41
|
@for sample in $(RICE_SAMPLES); \
|
@@ -37,7 +43,7 @@ clean_extensions:
|
|
37
43
|
${MAKE} -C $${sample} clean; \
|
38
44
|
done
|
39
45
|
|
40
|
-
distclean: enum/Makefile map/Makefile inheritance/Makefile distclean_extensions
|
46
|
+
distclean: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile distclean_extensions
|
41
47
|
|
42
48
|
distclean_extensions:
|
43
49
|
@for sample in $(RICE_SAMPLES);
|
data/sample/Makefile.in
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# Makefile.in generated by automake 1.
|
1
|
+
# Makefile.in generated by automake 1.16.3 from Makefile.am.
|
2
2
|
# @configure_input@
|
3
3
|
|
4
|
-
# Copyright (C) 1994-
|
4
|
+
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
5
5
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
@@ -89,7 +89,7 @@ build_triplet = @build@
|
|
89
89
|
host_triplet = @host@
|
90
90
|
subdir = sample
|
91
91
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
92
|
-
am__aclocal_m4_deps = $(top_srcdir)/
|
92
|
+
am__aclocal_m4_deps = $(top_srcdir)/ax_cxx_compile_stdcxx.m4 \
|
93
93
|
$(top_srcdir)/ruby.ac $(top_srcdir)/doxygen.ac \
|
94
94
|
$(top_srcdir)/configure.ac
|
95
95
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
@@ -163,7 +163,7 @@ ECHO_C = @ECHO_C@
|
|
163
163
|
ECHO_N = @ECHO_N@
|
164
164
|
ECHO_T = @ECHO_T@
|
165
165
|
EXEEXT = @EXEEXT@
|
166
|
-
|
166
|
+
HAVE_CXX14 = @HAVE_CXX14@
|
167
167
|
INSTALL = @INSTALL@
|
168
168
|
INSTALL_DATA = @INSTALL_DATA@
|
169
169
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -265,7 +265,10 @@ EXTRA_DIST = \
|
|
265
265
|
map/test.rb \
|
266
266
|
inheritance/extconf.rb \
|
267
267
|
inheritance/animals.cpp \
|
268
|
-
inheritance/test.rb
|
268
|
+
inheritance/test.rb \
|
269
|
+
callbacks/extconf.rb \
|
270
|
+
callbacks/sample_callbacks.cpp \
|
271
|
+
callbacks/test.rb
|
269
272
|
|
270
273
|
all: all-am
|
271
274
|
|
@@ -287,8 +290,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
287
290
|
*config.status*) \
|
288
291
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
289
292
|
*) \
|
290
|
-
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
291
|
-
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(
|
293
|
+
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
294
|
+
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
292
295
|
esac;
|
293
296
|
|
294
297
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
@@ -306,7 +309,10 @@ ctags CTAGS:
|
|
306
309
|
cscope cscopelist:
|
307
310
|
|
308
311
|
|
309
|
-
distdir: $(
|
312
|
+
distdir: $(BUILT_SOURCES)
|
313
|
+
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
314
|
+
|
315
|
+
distdir-am: $(DISTFILES)
|
310
316
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
311
317
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
312
318
|
list='$(DISTFILES)'; \
|
@@ -457,7 +463,10 @@ map/Makefile: map/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
|
457
463
|
inheritance/Makefile: inheritance/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
458
464
|
@RUBY@ $(RUBY_EXTCONF_OPTIONS) -C inheritance extconf.rb $(EXTCONF_OPTIONS)
|
459
465
|
|
460
|
-
|
466
|
+
callbacks/Makefile: callbacks/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
|
467
|
+
@RUBY@ $(RUBY_EXTCONF_OPTIONS) -C callbacks extconf.rb $(EXTCONF_OPTIONS)
|
468
|
+
|
469
|
+
all: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile all_extensions
|
461
470
|
|
462
471
|
all_extensions: $(addsuffix /Makefile,$(RICE_SAMPLES))
|
463
472
|
@for sample in $(RICE_SAMPLES); \
|
@@ -465,7 +474,7 @@ all_extensions: $(addsuffix /Makefile,$(RICE_SAMPLES))
|
|
465
474
|
${MAKE} -C $${sample} all; \
|
466
475
|
done
|
467
476
|
|
468
|
-
clean: enum/Makefile map/Makefile inheritance/Makefile clean_extensions
|
477
|
+
clean: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile clean_extensions
|
469
478
|
|
470
479
|
clean_extensions:
|
471
480
|
@for sample in $(RICE_SAMPLES); \
|
@@ -473,7 +482,7 @@ clean_extensions:
|
|
473
482
|
${MAKE} -C $${sample} clean; \
|
474
483
|
done
|
475
484
|
|
476
|
-
distclean: enum/Makefile map/Makefile inheritance/Makefile distclean_extensions
|
485
|
+
distclean: enum/Makefile map/Makefile inheritance/Makefile callbacks/Makefile distclean_extensions
|
477
486
|
|
478
487
|
distclean_extensions:
|
479
488
|
@for sample in $(RICE_SAMPLES);
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#include "rice/Data_Type.hpp"
|
2
|
+
#include "rice/Constructor.hpp"
|
3
|
+
#include "rice/String.hpp"
|
4
|
+
|
5
|
+
using namespace Rice;
|
6
|
+
|
7
|
+
namespace
|
8
|
+
{
|
9
|
+
|
10
|
+
class CallbackHolder {
|
11
|
+
public:
|
12
|
+
|
13
|
+
void registerCallback(Rice::Object cb) {
|
14
|
+
callback = cb;
|
15
|
+
}
|
16
|
+
|
17
|
+
Rice::Object fireCallback(Rice::String param) {
|
18
|
+
return callback.call("call", param);
|
19
|
+
}
|
20
|
+
|
21
|
+
Rice::Object callback;
|
22
|
+
};
|
23
|
+
|
24
|
+
} // namespace
|
25
|
+
|
26
|
+
extern "C"
|
27
|
+
void Init_sample_callbacks()
|
28
|
+
{
|
29
|
+
RUBY_TRY
|
30
|
+
{
|
31
|
+
define_class<CallbackHolder>("CallbackHolder")
|
32
|
+
.define_constructor(Constructor<CallbackHolder>())
|
33
|
+
.define_method("register_callback", &CallbackHolder::registerCallback)
|
34
|
+
.define_method("fire_callback", &CallbackHolder::fireCallback);
|
35
|
+
}
|
36
|
+
RUBY_CATCH
|
37
|
+
}
|
38
|
+
|