rice 2.1.0 → 3.0.0
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 +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
|
+
|