r2corba 1.4.1
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 +7 -0
- data/CHANGES +159 -0
- data/LICENSE +59 -0
- data/README +62 -0
- data/THANKS +52 -0
- data/bin/r2corba +8 -0
- data/bin/ridlc +11 -0
- data/bin/rins +7 -0
- data/ext/ext.mwc +6 -0
- data/ext/extload/extload.c +60 -0
- data/ext/libr2tao/any.cpp +1543 -0
- data/ext/libr2tao/exception.cpp +202 -0
- data/ext/libr2tao/exception.h +104 -0
- data/ext/libr2tao/longdouble.cpp +173 -0
- data/ext/libr2tao/longdouble.h +31 -0
- data/ext/libr2tao/object.cpp +1150 -0
- data/ext/libr2tao/object.h +38 -0
- data/ext/libr2tao/orb.cpp +1029 -0
- data/ext/libr2tao/orb.h +36 -0
- data/ext/libr2tao/r2tao_export.h +45 -0
- data/ext/libr2tao/r2tao_ext.h +38 -0
- data/ext/libr2tao/required.cpp +463 -0
- data/ext/libr2tao/required.h +187 -0
- data/ext/libr2tao/typecode.cpp +888 -0
- data/ext/libr2tao/typecode.h +45 -0
- data/ext/libr2tao/values.cpp +2938 -0
- data/ext/libr2tao/values.h +396 -0
- data/ext/librpoa/iortable.cpp +250 -0
- data/ext/librpoa/poa.cpp +1076 -0
- data/ext/librpoa/poa.h +24 -0
- data/ext/librpoa/rpoa_export.h +44 -0
- data/ext/librpoa/servant.cpp +1338 -0
- data/ext/librpoa/servant.h +116 -0
- data/ext/librpoa/srvreq_fix.cpp +283 -0
- data/ext/librpoa/srvreq_fix.h +149 -0
- data/ext/librpol/policies.cpp +763 -0
- data/ext/librpol/policies.h +15 -0
- data/ext/librpol/rpol_export.h +44 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +231 -0
- data/lib/corba/cbase/Request.rb +134 -0
- data/lib/corba/cbase/Streams.rb +129 -0
- data/lib/corba/cbase/Stub.rb +19 -0
- data/lib/corba/cbase/Typecode.rb +441 -0
- data/lib/corba/cbase/Values.rb +129 -0
- data/lib/corba/cbase/exception.rb +66 -0
- data/lib/corba/cbase/poa.rb +23 -0
- data/lib/corba/cbase/policies.rb +78 -0
- data/lib/corba/cbase/post_require.rb +14 -0
- data/lib/corba/cbase/require.rb +28 -0
- data/lib/corba/cmds/base.rb +85 -0
- data/lib/corba/cmds/test.rb +30 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +104 -0
- data/lib/corba/common/ORB.rb +368 -0
- data/lib/corba/common/Object.rb +208 -0
- data/lib/corba/common/Request.rb +20 -0
- data/lib/corba/common/Servant.rb +108 -0
- data/lib/corba/common/Struct.rb +22 -0
- data/lib/corba/common/Stub.rb +79 -0
- data/lib/corba/common/Typecode.rb +1121 -0
- data/lib/corba/common/Union.rb +56 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +22 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +27 -0
- data/lib/corba/common/version.rb +22 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/require.rb +20 -0
- data/lib/corba/jbase/Any.rb +273 -0
- data/lib/corba/jbase/IORMap.rb +36 -0
- data/lib/corba/jbase/ORB.rb +99 -0
- data/lib/corba/jbase/Object.rb +98 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +247 -0
- data/lib/corba/jbase/ServerRequest.rb +128 -0
- data/lib/corba/jbase/Streams.rb +671 -0
- data/lib/corba/jbase/Stub.rb +38 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +173 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +229 -0
- data/lib/corba/jbase/policies.rb +300 -0
- data/lib/corba/jbase/post_require.rb +14 -0
- data/lib/corba/jbase/require.rb +86 -0
- data/lib/corba/naming.rb +14 -0
- data/lib/corba/naming_service.rb +15 -0
- data/lib/corba/poa.rb +15 -0
- data/lib/corba/policies.rb +18 -0
- data/lib/corba/require.rb +17 -0
- data/lib/corba/svcs/ins/cos_naming.rb +426 -0
- data/lib/corba/svcs/ins/ins.rb +526 -0
- data/lib/corba/svcs/ins/naming_service.rb +119 -0
- data/lib/corba.rb +16 -0
- data/lib/ridlbe/ruby/config.rb +336 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_srcgem.rb +186 -0
- data/rakelib/bin.rake +80 -0
- data/rakelib/bin.rb +146 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +52 -0
- data/rakelib/config.rb +450 -0
- data/rakelib/ext.rake +242 -0
- data/rakelib/ext.rb +308 -0
- data/rakelib/ext_r2tao.rb +232 -0
- data/rakelib/gem.rake +212 -0
- data/rakelib/gem.rb +146 -0
- data/rakelib/package.rake +26 -0
- data/rakelib/test.rake +23 -0
- data/test/BiDirectional/Test.idl +34 -0
- data/test/BiDirectional/client.rb +132 -0
- data/test/BiDirectional/run_test.rb +68 -0
- data/test/BiDirectional/server.rb +169 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
- data/test/Collocation/Diamond.idl +39 -0
- data/test/Collocation/run_test.rb +52 -0
- data/test/Collocation/test.rb +195 -0
- data/test/Connect_Timeout/Test.idl +27 -0
- data/test/Connect_Timeout/client.rb +111 -0
- data/test/Connect_Timeout/run_test.rb +52 -0
- data/test/DII/Test.idl +27 -0
- data/test/DII/client.rb +115 -0
- data/test/DII/run_test.rb +69 -0
- data/test/DII/server.rb +95 -0
- data/test/DSI/Test.idl +27 -0
- data/test/DSI/client.rb +66 -0
- data/test/DSI/run_test.rb +69 -0
- data/test/DSI/server.rb +106 -0
- data/test/Exceptions/Test.idl +48 -0
- data/test/Exceptions/client.rb +118 -0
- data/test/Exceptions/run_test.rb +69 -0
- data/test/Exceptions/server.rb +131 -0
- data/test/Hello/Test.idl +27 -0
- data/test/Hello/client.rb +78 -0
- data/test/Hello/run_test.rb +71 -0
- data/test/Hello/server.rb +95 -0
- data/test/IDL_Test/Test.idl +113 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +102 -0
- data/test/IDL_Test/run_test.rb +69 -0
- data/test/IDL_Test/server.rb +99 -0
- data/test/IORMap/Test.idl +27 -0
- data/test/IORMap/client.rb +73 -0
- data/test/IORMap/run_test.rb +69 -0
- data/test/IORMap/server.rb +114 -0
- data/test/IORTable/Test.idl +27 -0
- data/test/IORTable/client.rb +75 -0
- data/test/IORTable/run_test.rb +69 -0
- data/test/IORTable/server.rb +130 -0
- data/test/Implicit_Conversion/Test.idl +31 -0
- data/test/Implicit_Conversion/client.rb +110 -0
- data/test/Implicit_Conversion/run_test.rb +69 -0
- data/test/Implicit_Conversion/server.rb +99 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
- data/test/Multi_Threading/Simple/Test.idl +27 -0
- data/test/Multi_Threading/Simple/client.rb +88 -0
- data/test/Multi_Threading/Simple/run_test.rb +69 -0
- data/test/Multi_Threading/Simple/server.rb +118 -0
- data/test/Multi_Threading/Threads/Test.idl +31 -0
- data/test/Multi_Threading/Threads/client.rb +80 -0
- data/test/Multi_Threading/Threads/run_test.rb +76 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
- data/test/Multiple_Servant_Interfaces/client.rb +70 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
- data/test/Multiple_Servant_Interfaces/server.rb +102 -0
- data/test/Nil/Test.idl +27 -0
- data/test/Nil/run_test.rb +52 -0
- data/test/Nil/test.rb +78 -0
- data/test/OBV/AbstractInterface/client.rb +179 -0
- data/test/OBV/AbstractInterface/run_test.rb +69 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +53 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +40 -0
- data/test/OBV/Custom/client.rb +86 -0
- data/test/OBV/Custom/run_test.rb +69 -0
- data/test/OBV/Custom/server.rb +100 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +86 -0
- data/test/OBV/Simple/run_test.rb +69 -0
- data/test/OBV/Simple/server.rb +100 -0
- data/test/OBV/Simple_Event/Event.idl +15 -0
- data/test/OBV/Simple_Event/Event_impl.rb +26 -0
- data/test/OBV/Simple_Event/client.rb +86 -0
- data/test/OBV/Simple_Event/run_test.rb +69 -0
- data/test/OBV/Simple_Event/server.rb +100 -0
- data/test/OBV/Supports/client.rb +116 -0
- data/test/OBV/Supports/run_test.rb +69 -0
- data/test/OBV/Supports/server.rb +103 -0
- data/test/OBV/Supports/supports.idl +33 -0
- data/test/OBV/Supports/supports_impl.rb +57 -0
- data/test/OBV/Tree/client.rb +116 -0
- data/test/OBV/Tree/run_test.rb +69 -0
- data/test/OBV/Tree/server.rb +117 -0
- data/test/OBV/Tree/test.idl +32 -0
- data/test/OBV/Truncatable/Extra.idl +27 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
- data/test/OBV/Truncatable/client.rb +279 -0
- data/test/OBV/Truncatable/run_test.rb +69 -0
- data/test/OBV/Truncatable/server.rb +89 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +69 -0
- data/test/OBV/ValueBox/server.rb +271 -0
- data/test/OBV/ValueBox/valuebox.idl +101 -0
- data/test/OBV/ValueBox/vb_basic.idl +75 -0
- data/test/OBV/ValueBox/vb_struct.idl +68 -0
- data/test/OBV/ValueBox/vb_union.idl +21 -0
- data/test/Object/Test.idl +27 -0
- data/test/Object/client.rb +103 -0
- data/test/Object/run_test.rb +69 -0
- data/test/Object/server.rb +126 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +52 -0
- data/test/POA/test.rb +112 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +277 -0
- data/test/Param_Test/run_test.rb +69 -0
- data/test/Param_Test/server.rb +296 -0
- data/test/Performance/Simple/Test.idl +27 -0
- data/test/Performance/Simple/client.rb +90 -0
- data/test/Performance/Simple/run_test.rb +69 -0
- data/test/Performance/Simple/server.rb +95 -0
- data/test/Policies/Test.idl +27 -0
- data/test/Policies/run_test.rb +52 -0
- data/test/Policies/test.rb +144 -0
- data/test/Timeout/client.rb +207 -0
- data/test/Timeout/run_test.rb +69 -0
- data/test/Timeout/server.rb +109 -0
- data/test/Timeout/test.idl +19 -0
- data/test/lib/assert.rb +43 -0
- data/test/lib/test.rb +542 -0
- data/test/test_runner.rb +193 -0
- metadata +334 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------
|
|
2
|
+
# required.h - R2TAO CORBA basic support
|
|
3
|
+
#
|
|
4
|
+
# Author: Martin Corino
|
|
5
|
+
#
|
|
6
|
+
# This program is free software; you can redistribute it and/or
|
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
|
8
|
+
# included with this program.
|
|
9
|
+
#
|
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
|
12
|
+
#------------------------------------------------------------------*/
|
|
13
|
+
#ifndef __R2TAO_REQUIRED_H
|
|
14
|
+
#define __R2TAO_REQUIRED_H
|
|
15
|
+
|
|
16
|
+
#if defined (WIN32) || defined (_MSC_VER) || defined (__MINGW32__)
|
|
17
|
+
// prevent inclusion of Ruby Win32 defs which clash with ACE
|
|
18
|
+
// are only important for Ruby internals
|
|
19
|
+
#define RUBY_WIN32_H
|
|
20
|
+
// if we're compiling with MSVC 7.1 this is most probably for
|
|
21
|
+
// the standard Ruby dist which is built with MSVC 6
|
|
22
|
+
// fudge the version macro so Ruby doesn't complain
|
|
23
|
+
#if (_MSC_VER >= 1310) && (_MSC_VER < 1400)
|
|
24
|
+
#define OLD_MSC_VER 1310
|
|
25
|
+
#undef _MSC_VER
|
|
26
|
+
#define _MSC_VER 1200
|
|
27
|
+
#endif
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#if defined (__MINGW32__)
|
|
31
|
+
# if RUBY_VER_MAJOR<2
|
|
32
|
+
# define HAVE_STRUCT_TIMEZONE
|
|
33
|
+
# endif
|
|
34
|
+
# if (RUBY_VER_MAJOR<2 && RUBY_VER_MINOR>8)
|
|
35
|
+
# define HAVE_STRUCT_TIMESPEC
|
|
36
|
+
# endif
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
#define RUBY_EXTCONF_H "r2tao_ext.h"
|
|
40
|
+
#include <ruby.h>
|
|
41
|
+
// remove conflicting macro(s) defined by Ruby
|
|
42
|
+
#undef TYPE
|
|
43
|
+
#if defined (uid_t)
|
|
44
|
+
#undef uid_t
|
|
45
|
+
#endif
|
|
46
|
+
#if defined (gid_t)
|
|
47
|
+
#undef gid_t
|
|
48
|
+
#endif
|
|
49
|
+
#if (RUBY_VER_MAJOR>1 || RUBY_VER_MINOR>8)
|
|
50
|
+
# undef snprintf
|
|
51
|
+
# undef vsnprintf
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
#undef RUBY_METHOD_FUNC
|
|
55
|
+
extern "C" {
|
|
56
|
+
typedef VALUE (*TfnRuby)(ANYARGS);
|
|
57
|
+
typedef VALUE (*TfnRbAlloc)(VALUE);
|
|
58
|
+
};
|
|
59
|
+
#define RUBY_METHOD_FUNC(func) ((TfnRuby)func)
|
|
60
|
+
#define RUBY_ALLOC_FUNC(func) ((TfnRbAlloc)func)
|
|
61
|
+
|
|
62
|
+
// includes for Ruby <= 1.8.4 miss this macro
|
|
63
|
+
#if !defined (NUM2ULL)
|
|
64
|
+
# define NUM2ULL(x) rb_num2ull (x)
|
|
65
|
+
#endif
|
|
66
|
+
|
|
67
|
+
// handle macros missing from older Ruby 1.8.6/7 releases
|
|
68
|
+
#if !defined (RFLOAT_VALUE)
|
|
69
|
+
# define RFLOAT_VALUE(v) NUM2DBL(v)
|
|
70
|
+
#endif
|
|
71
|
+
#if !defined (RSTRING_PTR)
|
|
72
|
+
# define RSTRING_PTR(s) (RSTRING(s)->ptr)
|
|
73
|
+
#endif
|
|
74
|
+
#if !defined (RSTRING_LEN)
|
|
75
|
+
# define RSTRING_LEN(s) (RSTRING(s)->len)
|
|
76
|
+
#endif
|
|
77
|
+
#if !defined (RSTRING_END)
|
|
78
|
+
# define RSTRING_END(s) (RSTRING_PTR(s)+RSTRING_LEN(s))
|
|
79
|
+
#endif
|
|
80
|
+
#if !defined (RARRAY_PTR)
|
|
81
|
+
# define RARRAY_PTR(s) (RARRAY(s)->ptr)
|
|
82
|
+
#endif
|
|
83
|
+
#if !defined (RARRAY_LEN)
|
|
84
|
+
# define RARRAY_LEN(s) (RARRAY(s)->len)
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#include "r2tao_export.h"
|
|
88
|
+
#include <tao/Version.h>
|
|
89
|
+
|
|
90
|
+
#if ((RUBY_VER_MAJOR>1) || (RUBY_VER_MINOR>8)) && defined (HAVE_NATIVETHREAD)
|
|
91
|
+
# define R2TAO_THREAD_SAFE
|
|
92
|
+
|
|
93
|
+
# if RUBY_VER_MAJOR < 2
|
|
94
|
+
// acquires GVL before calling func
|
|
95
|
+
extern "C" void *
|
|
96
|
+
rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
|
|
97
|
+
|
|
98
|
+
# define rb_thread_call_without_gvl rb_thread_blocking_region
|
|
99
|
+
# else
|
|
100
|
+
# include <ruby/thread.h>
|
|
101
|
+
# endif
|
|
102
|
+
#endif
|
|
103
|
+
|
|
104
|
+
extern R2TAO_EXPORT VALUE r2tao_nsCORBA;
|
|
105
|
+
|
|
106
|
+
extern R2TAO_EXPORT VALUE r2tao_nsCORBA_Native;
|
|
107
|
+
|
|
108
|
+
extern R2TAO_EXPORT void r2tao_check_type(VALUE x, VALUE t);
|
|
109
|
+
|
|
110
|
+
extern R2TAO_EXPORT void r2tao_register_object(VALUE rbobj);
|
|
111
|
+
|
|
112
|
+
extern R2TAO_EXPORT void r2tao_unregister_object(VALUE rbobj);
|
|
113
|
+
|
|
114
|
+
extern R2TAO_EXPORT void* r2tao_call_thread_safe (void *(*func)(void *), void *data);
|
|
115
|
+
extern R2TAO_EXPORT VALUE r2tao_blocking_call (VALUE (*func)(void*), void*data);
|
|
116
|
+
extern R2TAO_EXPORT VALUE r2tao_blocking_call_ex (VALUE (*func)(void*), void*data,
|
|
117
|
+
void (*unblock_func)(void*), void*unblock_data);
|
|
118
|
+
|
|
119
|
+
class R2TAO_EXPORT R2TAO_RBFuncall
|
|
120
|
+
{
|
|
121
|
+
public:
|
|
122
|
+
R2TAO_RBFuncall (ID fnid, bool throw_on_ex=true);
|
|
123
|
+
R2TAO_RBFuncall (const char* fn, bool throw_on_ex=true);
|
|
124
|
+
~R2TAO_RBFuncall ();
|
|
125
|
+
|
|
126
|
+
VALUE invoke (VALUE rcvr, VALUE args);
|
|
127
|
+
VALUE invoke (VALUE rcvr, int argc, VALUE *args);
|
|
128
|
+
VALUE invoke (VALUE rcvr);
|
|
129
|
+
|
|
130
|
+
bool has_caught_exception () { return this->ex_caught_; }
|
|
131
|
+
|
|
132
|
+
ID id () { return this->fn_id_; }
|
|
133
|
+
|
|
134
|
+
protected:
|
|
135
|
+
struct FuncArgs
|
|
136
|
+
{
|
|
137
|
+
virtual ~FuncArgs () {}
|
|
138
|
+
virtual VALUE rb_invoke (ID fnid) const = 0;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
VALUE _invoke (const FuncArgs& fa);
|
|
142
|
+
|
|
143
|
+
struct FuncArgArray : public FuncArgs
|
|
144
|
+
{
|
|
145
|
+
FuncArgArray (VALUE rcvr, VALUE args)
|
|
146
|
+
: receiver_ (rcvr), args_ (args) {}
|
|
147
|
+
virtual ~FuncArgArray () {}
|
|
148
|
+
|
|
149
|
+
virtual VALUE rb_invoke (ID fnid) const;
|
|
150
|
+
|
|
151
|
+
VALUE receiver_;
|
|
152
|
+
VALUE args_;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
struct FuncArgList : public FuncArgs
|
|
156
|
+
{
|
|
157
|
+
FuncArgList (VALUE rcvr, int argc, VALUE* args)
|
|
158
|
+
: receiver_ (rcvr), argc_ (argc), args_ (args) {}
|
|
159
|
+
virtual ~FuncArgList () {}
|
|
160
|
+
|
|
161
|
+
virtual VALUE rb_invoke (ID fnid) const;
|
|
162
|
+
|
|
163
|
+
VALUE receiver_;
|
|
164
|
+
int argc_;
|
|
165
|
+
VALUE* args_;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
VALUE invoke_inner (const FuncArgs& fnargs);
|
|
169
|
+
|
|
170
|
+
struct HelperArgs
|
|
171
|
+
{
|
|
172
|
+
HelperArgs (R2TAO_RBFuncall& c, const FuncArgs& fa)
|
|
173
|
+
: caller_ (c), fnargs_ (fa) {}
|
|
174
|
+
|
|
175
|
+
R2TAO_RBFuncall& caller_;
|
|
176
|
+
const FuncArgs& fnargs_;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
static VALUE invoke_helper (VALUE arg);
|
|
180
|
+
|
|
181
|
+
private:
|
|
182
|
+
ID fn_id_;
|
|
183
|
+
bool throw_on_ex_;
|
|
184
|
+
bool ex_caught_;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
#endif
|