r2corba 1.6.2 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +5 -5
- data/ext/libr2tao/orb.cpp +4 -4
- data/ext/libr2tao/values.cpp +14 -14
- data/ext/libr2tao/values.h +21 -57
- data/lib/corba/cbase/ORB.rb +9 -8
- data/lib/corba/cbase/Request.rb +10 -12
- data/lib/corba/cbase/Streams.rb +20 -20
- data/lib/corba/cbase/Typecode.rb +12 -41
- data/lib/corba/cbase/Values.rb +1 -4
- data/lib/corba/cbase/exception.rb +0 -2
- data/lib/corba/cbase/poa.rb +2 -2
- data/lib/corba/cbase/policies.rb +9 -8
- data/lib/corba/cbase/require.rb +1 -1
- data/lib/corba/cmds/base.rb +1 -2
- data/lib/corba/common/Any.rb +2 -3
- data/lib/corba/common/IDL.rb +3 -7
- data/lib/corba/common/ORB.rb +19 -19
- data/lib/corba/common/Object.rb +32 -22
- data/lib/corba/common/Request.rb +0 -2
- data/lib/corba/common/Servant.rb +4 -9
- data/lib/corba/common/Stub.rb +9 -7
- data/lib/corba/common/Typecode.rb +44 -27
- data/lib/corba/common/Values.rb +4 -5
- data/lib/corba/common/require.rb +1 -3
- data/lib/corba/common/version.rb +2 -4
- data/lib/corba/idl/IDL.rb +0 -2
- data/lib/corba/idl/require.rb +2 -2
- data/lib/corba/jbase/Any.rb +34 -35
- data/lib/corba/jbase/ORB.rb +5 -6
- data/lib/corba/jbase/Object.rb +10 -10
- data/lib/corba/jbase/Request.rb +8 -9
- data/lib/corba/jbase/Servant.rb +32 -36
- data/lib/corba/jbase/ServerRequest.rb +10 -8
- data/lib/corba/jbase/Streams.rb +80 -78
- data/lib/corba/jbase/Stub.rb +1 -1
- data/lib/corba/jbase/Typecode.rb +18 -46
- data/lib/corba/jbase/Values.rb +0 -1
- data/lib/corba/jbase/exception.rb +2 -1
- data/lib/corba/jbase/poa.rb +18 -17
- data/lib/corba/jbase/policies.rb +42 -45
- data/lib/corba/jbase/require.rb +3 -3
- data/lib/corba/naming_service.rb +1 -1
- data/lib/corba/poa.rb +1 -1
- data/lib/corba/policies.rb +2 -2
- data/lib/corba/svcs/ins/cos_naming.rb +29 -18
- data/lib/corba/svcs/ins/ins.rb +38 -38
- data/lib/corba/svcs/ins/naming_service.rb +6 -6
- data/lib/corba.rb +1 -1
- data/lib/ridlbe/ruby/config.rb +2 -8
- data/lib/ridlbe/ruby/walker.rb +94 -108
- data/rakelib/config.rb +9 -6
- data/rakelib/ext.rake +1 -1
- data/rakelib/ext_r2tao.rb +1 -1
- data/rakelib/gem.rake +0 -30
- data/test/BiDirectional/client.rb +7 -7
- data/test/BiDirectional/run_test.rb +2 -2
- data/test/BiDirectional/server.rb +13 -13
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +9 -9
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +2 -2
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +6 -6
- data/test/CORBA_Services/Naming/Corbaname/client.rb +6 -6
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +2 -2
- data/test/CORBA_Services/Naming/Corbaname/server.rb +8 -8
- data/test/CORBA_Services/Naming/Simple/client.rb +6 -6
- data/test/CORBA_Services/Naming/Simple/run_test.rb +2 -2
- data/test/CORBA_Services/Naming/Simple/server.rb +6 -6
- data/test/Collocation/run_test.rb +2 -2
- data/test/Collocation/test.rb +1 -1
- data/test/Connect_Timeout/client.rb +7 -7
- data/test/Connect_Timeout/run_test.rb +2 -2
- data/test/DII/client.rb +10 -10
- data/test/DII/run_test.rb +2 -2
- data/test/DII/server.rb +7 -7
- data/test/DSI/client.rb +6 -6
- data/test/DSI/run_test.rb +2 -2
- data/test/DSI/server.rb +9 -9
- data/test/Exceptions/client.rb +6 -6
- data/test/Exceptions/run_test.rb +2 -2
- data/test/Exceptions/server.rb +7 -7
- data/test/Hello/client.rb +7 -7
- data/test/Hello/run_test.rb +2 -2
- data/test/Hello/server.rb +7 -7
- data/test/IDL_Test/client.rb +9 -9
- data/test/IDL_Test/run_test.rb +2 -2
- data/test/IDL_Test/server.rb +7 -7
- data/test/IORMap/client.rb +7 -7
- data/test/IORMap/run_test.rb +2 -2
- data/test/IORMap/server.rb +9 -9
- data/test/IORTable/client.rb +7 -7
- data/test/IORTable/run_test.rb +2 -2
- data/test/IORTable/server.rb +10 -10
- data/test/Implicit_Conversion/client.rb +5 -5
- data/test/Implicit_Conversion/run_test.rb +2 -2
- data/test/Implicit_Conversion/server.rb +7 -7
- data/test/Multi_Threading/Multiple_ORB/client.rb +6 -6
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +2 -2
- data/test/Multi_Threading/Multiple_ORB/server.rb +5 -5
- data/test/Multi_Threading/Simple/client.rb +6 -6
- data/test/Multi_Threading/Simple/run_test.rb +2 -2
- data/test/Multi_Threading/Simple/server.rb +8 -8
- data/test/Multi_Threading/Threads/client.rb +6 -6
- data/test/Multi_Threading/Threads/run_test.rb +2 -2
- data/test/Multi_Threading/Threads/server.rb +9 -9
- data/test/Multi_Threading/Threads/watchdog.rb +7 -7
- data/test/Multiple_Servant_Interfaces/client.rb +7 -7
- data/test/Multiple_Servant_Interfaces/run_test.rb +2 -2
- data/test/Multiple_Servant_Interfaces/server.rb +7 -7
- data/test/Nil/run_test.rb +2 -2
- data/test/Nil/test.rb +4 -4
- data/test/OBV/AbstractInterface/client.rb +9 -9
- data/test/OBV/AbstractInterface/run_test.rb +2 -2
- data/test/OBV/AbstractInterface/server.rb +7 -7
- data/test/OBV/Custom/client.rb +5 -5
- data/test/OBV/Custom/run_test.rb +2 -2
- data/test/OBV/Custom/server.rb +7 -7
- data/test/OBV/Simple/client.rb +5 -5
- data/test/OBV/Simple/run_test.rb +2 -2
- data/test/OBV/Simple/server.rb +7 -7
- data/test/OBV/Simple_Event/client.rb +5 -5
- data/test/OBV/Simple_Event/run_test.rb +2 -2
- data/test/OBV/Simple_Event/server.rb +7 -7
- data/test/OBV/Supports/client.rb +17 -17
- data/test/OBV/Supports/run_test.rb +2 -2
- data/test/OBV/Supports/server.rb +7 -7
- data/test/OBV/Tree/client.rb +6 -6
- data/test/OBV/Tree/run_test.rb +2 -2
- data/test/OBV/Tree/server.rb +7 -7
- data/test/OBV/Truncatable/client.rb +5 -5
- data/test/OBV/Truncatable/run_test.rb +2 -2
- data/test/OBV/Truncatable/server.rb +6 -6
- data/test/OBV/ValueBox/client.rb +20 -20
- data/test/OBV/ValueBox/run_test.rb +2 -2
- data/test/OBV/ValueBox/server.rb +8 -8
- data/test/Object/client.rb +6 -6
- data/test/Object/run_test.rb +2 -2
- data/test/Object/server.rb +9 -9
- data/test/POA/run_test.rb +2 -2
- data/test/POA/test.rb +4 -4
- data/test/Param_Test/client.rb +6 -6
- data/test/Param_Test/run_test.rb +2 -2
- data/test/Param_Test/server.rb +6 -6
- data/test/Performance/Simple/client.rb +6 -6
- data/test/Performance/Simple/run_test.rb +2 -2
- data/test/Performance/Simple/server.rb +7 -7
- data/test/Policies/run_test.rb +2 -2
- data/test/Policies/test.rb +4 -4
- data/test/Timeout/client.rb +11 -11
- data/test/Timeout/run_test.rb +2 -2
- data/test/Timeout/server.rb +9 -9
- data/test/lib/test.rb +5 -5
- data/test/test_runner.rb +8 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6438dd52f53ac722b2d2b4e73d3dc5ed4a5fcecca3e3136ad861cfb1d8b31325
|
4
|
+
data.tar.gz: b1e070b75dd2248cdef44b194d7d8cf170be9e7c20626e444203d0dddbfa168f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc68e17aa413f82c3597e5154f551f6fd5eade52deb9a4b6878ffb60a53ae9de2fb470d7f441a692736f96a338359df2e9cf986ef6bcd43b2ceb09d40e5624f5
|
7
|
+
data.tar.gz: 93c08f403b6609df24d818c1b72589b6fc203035a4c80ca3fb3b0022ec4ae063f4d57b4293c07e52995abb5d78d87cab802bdc07d2ea3c7f0b4d535543211a2b
|
data/README.rdoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{
|
4
|
-
{
|
1
|
+
{rdoc-image:https://badge.fury.io/rb/r2corba.svg}[https://rubygems.org/gems/r2corba]
|
2
|
+
{rdoc-image:https://www.codefactor.io/repository/github/remedyit/r2corba/badge}[https://www.codefactor.io/repository/github/remedyit/r2corba]
|
3
|
+
{rdoc-image:https://github.com/RemedyIT/r2corba/workflows/linux/badge.svg}[https://github.com/RemedyIT/r2corba/actions?query=workflow%3Alinux]
|
4
|
+
{rdoc-image:https://github.com/RemedyIT/r2corba/workflows/windows/badge.svg}[https://github.com/RemedyIT/r2corba/actions?query=workflow%3Awindows]
|
5
5
|
|
6
6
|
= R2CORBA
|
7
7
|
|
@@ -40,7 +40,7 @@ If you find a bug, please report it at the R2CORBA project's {issue tracker}[htt
|
|
40
40
|
|
41
41
|
== License
|
42
42
|
|
43
|
-
R2CORBA is Copyright (c) 2007-
|
43
|
+
R2CORBA is Copyright (c) 2007-2023 Remedy IT Expertise BV, The Netherlands.
|
44
44
|
|
45
45
|
It is free software, and may be redistributed under the terms specified in the link:LICENSE file.
|
46
46
|
|
data/ext/libr2tao/orb.cpp
CHANGED
@@ -85,14 +85,14 @@ private:
|
|
85
85
|
|
86
86
|
static VALUE c_signums;
|
87
87
|
static int c_nsig;
|
88
|
-
static
|
88
|
+
static std::unique_ptr<ACE_SIGACTION> c_sa;
|
89
89
|
|
90
90
|
static void init_ ();
|
91
91
|
|
92
92
|
CORBA::ORB_var m_orb;
|
93
93
|
bool m_signal_reactor;
|
94
94
|
ACE_Sig_Handler m_sig_handler;
|
95
|
-
|
95
|
+
std::unique_ptr<Signal> m_signal;
|
96
96
|
bool m_signal_caught;
|
97
97
|
#if defined (WIN32)
|
98
98
|
R2CSigGuard* m_prev_guard;
|
@@ -237,7 +237,7 @@ VALUE rCORBA_ORB_init(int _argc, VALUE *_argv, VALUE /*klass*/) {
|
|
237
237
|
char **argv;
|
238
238
|
int i;
|
239
239
|
CORBA::ORB_var orb;
|
240
|
-
std::unique_ptr<char
|
240
|
+
std::unique_ptr<char*[]> argv_safe;
|
241
241
|
|
242
242
|
rb_scan_args(_argc, _argv, "02", &v0, &v1);
|
243
243
|
|
@@ -867,7 +867,7 @@ VALUE rCORBA_ORB_lookup_value_factory(VALUE /*self*/, VALUE id)
|
|
867
867
|
|
868
868
|
VALUE R2CSigGuard::c_signums = Qnil;
|
869
869
|
int R2CSigGuard::c_nsig = 0;
|
870
|
-
|
870
|
+
std::unique_ptr<ACE_SIGACTION> R2CSigGuard::c_sa;
|
871
871
|
|
872
872
|
void R2CSigGuard::init_ ()
|
873
873
|
{
|
data/ext/libr2tao/values.cpp
CHANGED
@@ -1806,7 +1806,7 @@ VALUE r2tao_OStream_write_any_array (VALUE self, VALUE rval, VALUE offset, VALUE
|
|
1806
1806
|
ACE_NEW_THROW_EX (any_array,
|
1807
1807
|
CORBA::Any[len],
|
1808
1808
|
CORBA::NO_MEMORY());
|
1809
|
-
|
1809
|
+
std::unique_ptr<CORBA::Any[]> any_array_safe (any_array);
|
1810
1810
|
for (CORBA::ULong l=0; l<len ;++l)
|
1811
1811
|
{
|
1812
1812
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -1845,7 +1845,7 @@ VALUE r2tao_OStream_write_boolean_array (VALUE self, VALUE rval, VALUE offset, V
|
|
1845
1845
|
ACE_NEW_THROW_EX (native_array,
|
1846
1846
|
CORBA::Boolean[len],
|
1847
1847
|
CORBA::NO_MEMORY());
|
1848
|
-
|
1848
|
+
std::unique_ptr<CORBA::Boolean[]> native_array_safe (native_array);
|
1849
1849
|
for (CORBA::ULong l=0; l<len ;++l)
|
1850
1850
|
{
|
1851
1851
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -1884,7 +1884,7 @@ VALUE r2tao_OStream_write_char_array (VALUE self, VALUE rval, VALUE offset, VALU
|
|
1884
1884
|
ACE_NEW_THROW_EX (native_array,
|
1885
1885
|
CORBA::Char[len],
|
1886
1886
|
CORBA::NO_MEMORY());
|
1887
|
-
|
1887
|
+
std::unique_ptr<CORBA::Char[]> native_array_safe (native_array);
|
1888
1888
|
char* s = RSTRING_PTR (rval);
|
1889
1889
|
for (CORBA::ULong l=0; l<len ;++l)
|
1890
1890
|
{
|
@@ -1923,7 +1923,7 @@ VALUE r2tao_OStream_write_wchar_array (VALUE self, VALUE rval, VALUE offset, VAL
|
|
1923
1923
|
ACE_NEW_THROW_EX (native_array,
|
1924
1924
|
CORBA::WChar[len],
|
1925
1925
|
CORBA::NO_MEMORY());
|
1926
|
-
|
1926
|
+
std::unique_ptr<CORBA::WChar[]> native_array_safe (native_array);
|
1927
1927
|
for (CORBA::ULong l=0; l<len ;++l)
|
1928
1928
|
{
|
1929
1929
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -1962,7 +1962,7 @@ VALUE r2tao_OStream_write_octet_array (VALUE self, VALUE rval, VALUE offset, VAL
|
|
1962
1962
|
ACE_NEW_THROW_EX (native_array,
|
1963
1963
|
CORBA::Octet[len],
|
1964
1964
|
CORBA::NO_MEMORY());
|
1965
|
-
|
1965
|
+
std::unique_ptr<CORBA::Octet[]> native_array_safe (native_array);
|
1966
1966
|
unsigned char* s = (unsigned char*)RSTRING_PTR (rval);
|
1967
1967
|
for (CORBA::ULong l=0; l<len ;++l)
|
1968
1968
|
{
|
@@ -2001,7 +2001,7 @@ VALUE r2tao_OStream_write_short_array (VALUE self, VALUE rval, VALUE offset, VAL
|
|
2001
2001
|
ACE_NEW_THROW_EX (native_array,
|
2002
2002
|
CORBA::Short[len],
|
2003
2003
|
CORBA::NO_MEMORY());
|
2004
|
-
|
2004
|
+
std::unique_ptr<CORBA::Short[]> native_array_safe (native_array);
|
2005
2005
|
for (CORBA::ULong l=0; l<len ;++l)
|
2006
2006
|
{
|
2007
2007
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2040,7 +2040,7 @@ VALUE r2tao_OStream_write_ushort_array (VALUE self, VALUE rval, VALUE offset, VA
|
|
2040
2040
|
ACE_NEW_THROW_EX (native_array,
|
2041
2041
|
CORBA::UShort[len],
|
2042
2042
|
CORBA::NO_MEMORY());
|
2043
|
-
|
2043
|
+
std::unique_ptr<CORBA::UShort[]> native_array_safe (native_array);
|
2044
2044
|
for (CORBA::ULong l=0; l<len ;++l)
|
2045
2045
|
{
|
2046
2046
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2079,7 +2079,7 @@ VALUE r2tao_OStream_write_long_array (VALUE self, VALUE rval, VALUE offset, VALU
|
|
2079
2079
|
ACE_NEW_THROW_EX (native_array,
|
2080
2080
|
CORBA::Long[len],
|
2081
2081
|
CORBA::NO_MEMORY());
|
2082
|
-
|
2082
|
+
std::unique_ptr<CORBA::Long[]> native_array_safe (native_array);
|
2083
2083
|
for (CORBA::ULong l=0; l<len ;++l)
|
2084
2084
|
{
|
2085
2085
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2118,7 +2118,7 @@ VALUE r2tao_OStream_write_ulong_array (VALUE self, VALUE rval, VALUE offset, VAL
|
|
2118
2118
|
ACE_NEW_THROW_EX (native_array,
|
2119
2119
|
CORBA::ULong[len],
|
2120
2120
|
CORBA::NO_MEMORY());
|
2121
|
-
|
2121
|
+
std::unique_ptr<CORBA::ULong[]> native_array_safe (native_array);
|
2122
2122
|
for (CORBA::ULong l=0; l<len ;++l)
|
2123
2123
|
{
|
2124
2124
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2157,7 +2157,7 @@ VALUE r2tao_OStream_write_longlong_array (VALUE self, VALUE rval, VALUE offset,
|
|
2157
2157
|
ACE_NEW_THROW_EX (native_array,
|
2158
2158
|
CORBA::LongLong[len],
|
2159
2159
|
CORBA::NO_MEMORY());
|
2160
|
-
|
2160
|
+
std::unique_ptr<CORBA::LongLong[]> native_array_safe (native_array);
|
2161
2161
|
for (CORBA::ULong l=0; l<len ;++l)
|
2162
2162
|
{
|
2163
2163
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2196,7 +2196,7 @@ VALUE r2tao_OStream_write_ulonglong_array (VALUE self, VALUE rval, VALUE offset,
|
|
2196
2196
|
ACE_NEW_THROW_EX (native_array,
|
2197
2197
|
CORBA::ULongLong[len],
|
2198
2198
|
CORBA::NO_MEMORY());
|
2199
|
-
|
2199
|
+
std::unique_ptr<CORBA::ULongLong[]> native_array_safe (native_array);
|
2200
2200
|
for (CORBA::ULong l=0; l<len ;++l)
|
2201
2201
|
{
|
2202
2202
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2235,7 +2235,7 @@ VALUE r2tao_OStream_write_float_array (VALUE self, VALUE rval, VALUE offset, VAL
|
|
2235
2235
|
ACE_NEW_THROW_EX (native_array,
|
2236
2236
|
CORBA::Float[len],
|
2237
2237
|
CORBA::NO_MEMORY());
|
2238
|
-
|
2238
|
+
std::unique_ptr<CORBA::Float[]> native_array_safe (native_array);
|
2239
2239
|
for (CORBA::ULong l=0; l<len ;++l)
|
2240
2240
|
{
|
2241
2241
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2274,7 +2274,7 @@ VALUE r2tao_OStream_write_double_array (VALUE self, VALUE rval, VALUE offset, VA
|
|
2274
2274
|
ACE_NEW_THROW_EX (native_array,
|
2275
2275
|
CORBA::Double[len],
|
2276
2276
|
CORBA::NO_MEMORY());
|
2277
|
-
|
2277
|
+
std::unique_ptr<CORBA::Double[]> native_array_safe (native_array);
|
2278
2278
|
for (CORBA::ULong l=0; l<len ;++l)
|
2279
2279
|
{
|
2280
2280
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
@@ -2313,7 +2313,7 @@ VALUE r2tao_OStream_write_longdouble_array (VALUE self, VALUE rval, VALUE offset
|
|
2313
2313
|
ACE_NEW_THROW_EX (native_array,
|
2314
2314
|
CORBA::LongDouble[len],
|
2315
2315
|
CORBA::NO_MEMORY());
|
2316
|
-
|
2316
|
+
std::unique_ptr<CORBA::LongDouble[]> native_array_safe (native_array);
|
2317
2317
|
for (CORBA::ULong l=0; l<len ;++l)
|
2318
2318
|
{
|
2319
2319
|
VALUE rel = rb_ary_entry (rval, offs+l);
|
data/ext/libr2tao/values.h
CHANGED
@@ -20,6 +20,7 @@
|
|
20
20
|
#include "tao/Valuetype/Value_VarOut_T.h"
|
21
21
|
#include "tao/Objref_VarOut_T.h"
|
22
22
|
#include "tao/VarOut_T.h"
|
23
|
+
#include <memory>
|
23
24
|
|
24
25
|
extern VALUE r2tao_cBoxedValueBase;
|
25
26
|
|
@@ -37,16 +38,16 @@ public:
|
|
37
38
|
R2TAO_ArrayAny_Impl_T (CORBA::TypeCode_ptr,
|
38
39
|
T * const,
|
39
40
|
CORBA::ULong);
|
40
|
-
|
41
|
+
~R2TAO_ArrayAny_Impl_T () override;
|
41
42
|
|
42
43
|
static void insert (CORBA::Any &,
|
43
44
|
CORBA::TypeCode_ptr,
|
44
45
|
T * const,
|
45
46
|
CORBA::ULong);
|
46
47
|
|
47
|
-
|
48
|
+
CORBA::Boolean marshal_value (TAO_OutputCDR &) override;
|
48
49
|
virtual const void *value () const;
|
49
|
-
|
50
|
+
void free_value () override;
|
50
51
|
|
51
52
|
private:
|
52
53
|
void* value_;
|
@@ -62,18 +63,9 @@ private:
|
|
62
63
|
//===================================================================
|
63
64
|
|
64
65
|
class R2TAO_Value;
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
R2TAO_Value
|
69
|
-
>
|
70
|
-
R2TAO_Value_var;
|
71
|
-
|
72
|
-
typedef
|
73
|
-
TAO_Value_Out_T<
|
74
|
-
R2TAO_Value
|
75
|
-
>
|
76
|
-
R2TAO_Value_out;
|
66
|
+
using R2TAO_Value_ptr = R2TAO_Value *;
|
67
|
+
using R2TAO_Value_var = TAO_Value_Var_T<R2TAO_Value>;
|
68
|
+
using R2TAO_Value_out = TAO_Value_Out_T<R2TAO_Value>;
|
77
69
|
|
78
70
|
class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
79
71
|
{
|
@@ -81,7 +73,7 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
81
73
|
R2TAO_Value (VALUE rbValue, bool for_unmarshal=false);
|
82
74
|
~R2TAO_Value () override;
|
83
75
|
|
84
|
-
|
76
|
+
CORBA::ValueBase* _copy_value () override;
|
85
77
|
|
86
78
|
static void _tao_any_destructor (void *);
|
87
79
|
|
@@ -150,7 +142,7 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
150
142
|
|
151
143
|
CORBA::TypeCode_var val_tc_; // the typecode for the valuetype
|
152
144
|
|
153
|
-
|
145
|
+
std::unique_ptr<Chunk> chunk_list_;
|
154
146
|
Chunk* last_chunk_;
|
155
147
|
};
|
156
148
|
|
@@ -206,19 +198,9 @@ VALUE r2tao_VFB_lookup_value_factory(VALUE self, VALUE id);
|
|
206
198
|
//===================================================================
|
207
199
|
|
208
200
|
class R2TAO_AbstractValue;
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
TAO_Objref_Var_T<
|
213
|
-
R2TAO_AbstractValue
|
214
|
-
>
|
215
|
-
R2TAO_AbstractValue_var;
|
216
|
-
|
217
|
-
typedef
|
218
|
-
TAO_Objref_Out_T<
|
219
|
-
R2TAO_AbstractValue
|
220
|
-
>
|
221
|
-
R2TAO_AbstractValue_out;
|
201
|
+
using R2TAO_AbstractValue_ptr = R2TAO_AbstractValue*;
|
202
|
+
using R2TAO_AbstractValue_var = TAO_Objref_Var_T<R2TAO_AbstractValue>;
|
203
|
+
using R2TAO_AbstractValue_out = TAO_Objref_Out_T<R2TAO_AbstractValue>;
|
222
204
|
|
223
205
|
class R2TAO_AbstractValue :
|
224
206
|
public ::CORBA::AbstractBase,
|
@@ -281,19 +263,9 @@ void operator<<= (::CORBA::Any &, R2TAO_AbstractValue_ptr *); // non-copying
|
|
281
263
|
//===================================================================
|
282
264
|
|
283
265
|
class R2TAO_AbstractObject;
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
TAO_Objref_Var_T<
|
288
|
-
R2TAO_AbstractObject
|
289
|
-
>
|
290
|
-
R2TAO_AbstractObject_var;
|
291
|
-
|
292
|
-
typedef
|
293
|
-
TAO_Objref_Out_T<
|
294
|
-
R2TAO_AbstractObject
|
295
|
-
>
|
296
|
-
R2TAO_AbstractObject_out;
|
266
|
+
using R2TAO_AbstractObject_ptr = R2TAO_AbstractObject*;
|
267
|
+
using R2TAO_AbstractObject_var = TAO_Objref_Var_T<R2TAO_AbstractObject>;
|
268
|
+
using R2TAO_AbstractObject_out = TAO_Objref_Out_T<R2TAO_AbstractObject>;
|
297
269
|
|
298
270
|
class R2TAO_AbstractObject :
|
299
271
|
public ::CORBA::AbstractBase,
|
@@ -366,26 +338,18 @@ namespace TAO
|
|
366
338
|
template<>
|
367
339
|
struct Objref_Traits< R2TAO_AbstractValue>
|
368
340
|
{
|
369
|
-
static R2TAO_AbstractValue_ptr duplicate (
|
370
|
-
|
371
|
-
static void release (
|
372
|
-
R2TAO_AbstractValue_ptr p);
|
341
|
+
static R2TAO_AbstractValue_ptr duplicate (R2TAO_AbstractValue_ptr p);
|
342
|
+
static void release (R2TAO_AbstractValue_ptr p);
|
373
343
|
static R2TAO_AbstractValue_ptr nil ();
|
374
|
-
static ::CORBA::Boolean marshal (
|
375
|
-
const R2TAO_AbstractValue_ptr p,
|
376
|
-
TAO_OutputCDR & cdr);
|
344
|
+
static ::CORBA::Boolean marshal (const R2TAO_AbstractValue_ptr p, TAO_OutputCDR & cdr);
|
377
345
|
};
|
378
346
|
|
379
347
|
template<>
|
380
348
|
struct Objref_Traits< R2TAO_AbstractObject>
|
381
349
|
{
|
382
|
-
static R2TAO_AbstractObject_ptr duplicate (
|
383
|
-
|
384
|
-
static void release (
|
385
|
-
R2TAO_AbstractObject_ptr p);
|
350
|
+
static R2TAO_AbstractObject_ptr duplicate (R2TAO_AbstractObject_ptr p);
|
351
|
+
static void release (R2TAO_AbstractObject_ptr p);
|
386
352
|
static R2TAO_AbstractObject_ptr nil ();
|
387
|
-
static ::CORBA::Boolean marshal (
|
388
|
-
const R2TAO_AbstractObject_ptr p,
|
389
|
-
TAO_OutputCDR & cdr);
|
353
|
+
static ::CORBA::Boolean marshal (const R2TAO_AbstractObject_ptr p, TAO_OutputCDR & cdr);
|
390
354
|
};
|
391
355
|
}
|
data/lib/corba/cbase/ORB.rb
CHANGED
@@ -13,9 +13,7 @@ require 'monitor'
|
|
13
13
|
|
14
14
|
module R2CORBA
|
15
15
|
module CORBA
|
16
|
-
|
17
16
|
module ORB
|
18
|
-
|
19
17
|
class << self
|
20
18
|
protected
|
21
19
|
def _singleton_orb_init
|
@@ -42,23 +40,26 @@ module R2CORBA
|
|
42
40
|
a1, a2, a3 = args
|
43
41
|
if Array === a1
|
44
42
|
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size > 3
|
43
|
+
|
45
44
|
argv = a1
|
46
45
|
orb_id = (Hash === a2 ? nil : a2)
|
47
46
|
prop = (Hash === a2 ? a2 : a3)
|
48
47
|
elsif args.size == 1 || Hash === a2
|
49
48
|
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size > 2
|
49
|
+
|
50
50
|
orb_id = a1
|
51
51
|
prop = a2
|
52
52
|
else
|
53
53
|
argv = args
|
54
54
|
end
|
55
55
|
raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
|
56
|
-
|
57
|
-
|
56
|
+
|
57
|
+
unless prop.nil?
|
58
|
+
prop.inject(argv) { |a, (k, v)| a << k; a << v; a }
|
58
59
|
end
|
59
|
-
@@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.concat(@@_default_args), orb_id.nil?
|
60
|
+
@@cached_orb = CORBA::Native::ORB.init(argv.collect { |a| a.to_s }.concat(@@_default_args), orb_id.nil? ? nil : orb_id.to_s)
|
60
61
|
end
|
61
|
-
unless n_orb.nil?
|
62
|
+
unless n_orb.nil? || @@vf_queue.empty?
|
62
63
|
@@vf_queue.process_all { |vfklass| vfklass._check_factory }
|
63
64
|
end
|
64
65
|
@@wrapper_klass.new(n_orb)
|
@@ -98,6 +99,7 @@ module R2CORBA
|
|
98
99
|
else
|
99
100
|
@running ||= true
|
100
101
|
raise CORBA::BAD_INV_ORDER.new('ORB has been shutdown', 0, CORBA::COMPLETED_NO) if @shutdown
|
102
|
+
|
101
103
|
while (timeout.nil? or timeout > 0) and !@shutdown
|
102
104
|
to = timeout || 0.05
|
103
105
|
f, to = self.work_pending(to)
|
@@ -158,7 +160,7 @@ module R2CORBA
|
|
158
160
|
end
|
159
161
|
end
|
160
162
|
|
161
|
-
def empty?
|
163
|
+
def empty?
|
162
164
|
f = false
|
163
165
|
synchronize do
|
164
166
|
f = @q_.empty?
|
@@ -180,7 +182,6 @@ module R2CORBA
|
|
180
182
|
def ior_map
|
181
183
|
@iormap ||= R2CORBA::IORMap.new(self)
|
182
184
|
end
|
183
|
-
|
184
185
|
end # ORB
|
185
186
|
|
186
187
|
=begin
|
data/lib/corba/cbase/Request.rb
CHANGED
@@ -11,9 +11,7 @@
|
|
11
11
|
#--------------------------------------------------------------------
|
12
12
|
module R2CORBA
|
13
13
|
module CORBA
|
14
|
-
|
15
14
|
module Request
|
16
|
-
|
17
15
|
def add_in_arg(tc, val, nm = '')
|
18
16
|
self._arguments << [nm, CORBA::ARG_IN, tc, val]
|
19
17
|
self._arguments.size
|
@@ -35,10 +33,11 @@ module R2CORBA
|
|
35
33
|
|
36
34
|
def arguments=(*args)
|
37
35
|
if args.size == 1
|
38
|
-
raise ArgumentError, 'invalid argument list' unless ::Array === args.first && args.first.all? {|a| ::Array === a }
|
36
|
+
raise ArgumentError, 'invalid argument list' unless ::Array === args.first && args.first.all? { |a| ::Array === a }
|
37
|
+
|
39
38
|
args = args.first
|
40
39
|
else
|
41
|
-
raise ArgumentError, 'invalid argument list' unless args.all? {|a| ::Array === a }
|
40
|
+
raise ArgumentError, 'invalid argument list' unless args.all? { |a| ::Array === a }
|
42
41
|
end
|
43
42
|
# clear current arguments
|
44
43
|
self._arguments.clear
|
@@ -74,14 +73,15 @@ module R2CORBA
|
|
74
73
|
|
75
74
|
def return_value
|
76
75
|
return nil if @_rettc.nil? || @_rettc.kind == CORBA::TK_VOID || @_rettc.kind == CORBA::TK_NULL
|
76
|
+
|
77
77
|
self._return_value(@_rettc)
|
78
78
|
end
|
79
79
|
|
80
80
|
def invoke
|
81
81
|
self._invoke({
|
82
|
-
:
|
83
|
-
:
|
84
|
-
:
|
82
|
+
arg_list: self._arguments,
|
83
|
+
result_type: @_rettc,
|
84
|
+
exc_list: self._exceptions
|
85
85
|
})
|
86
86
|
end
|
87
87
|
|
@@ -91,9 +91,9 @@ module R2CORBA
|
|
91
91
|
|
92
92
|
def send_deferred
|
93
93
|
self._send_deferred({
|
94
|
-
:
|
95
|
-
:
|
96
|
-
:
|
94
|
+
arg_list: self._arguments,
|
95
|
+
result_type: @_rettc,
|
96
|
+
exc_list: self._exceptions
|
97
97
|
})
|
98
98
|
end
|
99
99
|
|
@@ -126,8 +126,6 @@ module R2CORBA
|
|
126
126
|
def _exceptions
|
127
127
|
@_excl ||= []
|
128
128
|
end
|
129
|
-
|
130
129
|
end
|
131
|
-
|
132
130
|
end # CORBA
|
133
131
|
end # R2CORBA
|
data/lib/corba/cbase/Streams.rb
CHANGED
@@ -18,51 +18,51 @@ module R2CORBA
|
|
18
18
|
tc = tc.resolved_tc # takes care of recursive typecodes
|
19
19
|
v = case tc.kind
|
20
20
|
when TK_ANY
|
21
|
-
read_any
|
21
|
+
read_any
|
22
22
|
when TK_BOOLEAN
|
23
|
-
read_boolean
|
23
|
+
read_boolean
|
24
24
|
when TK_SHORT
|
25
|
-
read_short
|
25
|
+
read_short
|
26
26
|
when TK_LONG
|
27
|
-
read_long
|
27
|
+
read_long
|
28
28
|
when TK_USHORT
|
29
|
-
read_ushort
|
29
|
+
read_ushort
|
30
30
|
when TK_WCHAR
|
31
|
-
read_wchar
|
31
|
+
read_wchar
|
32
32
|
when TK_ULONG
|
33
|
-
read_ulong
|
33
|
+
read_ulong
|
34
34
|
when TK_LONGLONG
|
35
|
-
read_longlong
|
35
|
+
read_longlong
|
36
36
|
when TK_ULONGLONG
|
37
|
-
read_ulonglong
|
37
|
+
read_ulonglong
|
38
38
|
when TK_OCTET
|
39
|
-
read_octet
|
39
|
+
read_octet
|
40
40
|
when TK_FLOAT
|
41
|
-
read_float
|
41
|
+
read_float
|
42
42
|
when TK_DOUBLE
|
43
|
-
read_double
|
43
|
+
read_double
|
44
44
|
when TK_LONGDOUBLE
|
45
45
|
raise CORBA::NO_IMPLEMENT.new('LongDouble not supported', 0, CORBA::COMPLETED_NO)
|
46
46
|
when TK_FIXED
|
47
|
-
read_fixed
|
47
|
+
read_fixed
|
48
48
|
when TK_CHAR
|
49
|
-
read_char
|
49
|
+
read_char
|
50
50
|
when TK_STRING
|
51
|
-
read_string
|
51
|
+
read_string
|
52
52
|
when TK_WSTRING
|
53
|
-
read_wstring
|
53
|
+
read_wstring
|
54
54
|
when TK_OBJREF
|
55
|
-
read_Object
|
55
|
+
read_Object
|
56
56
|
when TK_TYPECODE
|
57
|
-
read_TypeCode
|
57
|
+
read_TypeCode
|
58
58
|
when TK_ARRAY, TK_SEQUENCE,
|
59
59
|
TK_ENUM, TK_STRUCT, TK_EXCEPT, TK_UNION,
|
60
60
|
TK_PRINCIPAL
|
61
61
|
read_construct(tc)
|
62
62
|
when TK_ABSTRACT_INTERFACE
|
63
|
-
read_Abstract
|
63
|
+
read_Abstract
|
64
64
|
when TK_VALUE, TK_VALUE_BOX, TK_EVENT
|
65
|
-
read_Value
|
65
|
+
read_Value
|
66
66
|
## TODO: TK_NATIVE
|
67
67
|
end
|
68
68
|
v
|