r2corba 1.4.1 → 1.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGES +15 -1
- data/LICENSE +5 -5
- data/README.rdoc +62 -0
- data/THANKS +7 -5
- data/bin/r2corba +1 -1
- data/bin/ridlc +1 -1
- data/bin/rins +1 -1
- data/ext/extload/extload.c +5 -6
- data/ext/libr2tao/any.cpp +1 -2
- data/ext/libr2tao/exception.cpp +0 -1
- data/ext/libr2tao/exception.h +0 -2
- data/ext/libr2tao/longdouble.cpp +0 -1
- data/ext/libr2tao/longdouble.h +0 -1
- data/ext/libr2tao/object.cpp +4 -4
- data/ext/libr2tao/object.h +0 -1
- data/ext/libr2tao/orb.cpp +8 -9
- data/ext/libr2tao/orb.h +0 -1
- data/ext/libr2tao/r2tao_export.h +1 -2
- data/ext/libr2tao/r2tao_ext.h +0 -13
- data/ext/libr2tao/required.cpp +3 -22
- data/ext/libr2tao/required.h +14 -51
- data/ext/libr2tao/typecode.cpp +0 -1
- data/ext/libr2tao/typecode.h +0 -1
- data/ext/libr2tao/values.cpp +13 -14
- data/ext/libr2tao/values.h +20 -23
- data/ext/librpoa/iortable.cpp +3 -3
- data/ext/librpoa/poa.cpp +7 -7
- data/ext/librpoa/poa.h +0 -1
- data/ext/librpoa/rpoa_export.h +0 -1
- data/ext/librpoa/servant.cpp +17 -92
- data/ext/librpoa/servant.h +13 -36
- data/ext/librpol/policies.cpp +0 -1
- data/ext/librpol/policies.h +0 -1
- data/ext/librpol/rpol_export.h +0 -1
- data/lib/corba.rb +0 -1
- data/lib/corba/cbase/IORMap.rb +0 -1
- data/lib/corba/cbase/ORB.rb +15 -10
- data/lib/corba/cbase/Request.rb +1 -2
- data/lib/corba/cbase/Streams.rb +2 -3
- data/lib/corba/cbase/Stub.rb +0 -1
- data/lib/corba/cbase/Typecode.rb +6 -7
- data/lib/corba/cbase/Values.rb +0 -1
- data/lib/corba/cbase/exception.rb +2 -3
- data/lib/corba/cbase/poa.rb +0 -1
- data/lib/corba/cbase/policies.rb +2 -3
- data/lib/corba/cbase/post_require.rb +1 -2
- data/lib/corba/cbase/require.rb +2 -1
- data/lib/corba/cmds/base.rb +1 -2
- data/lib/corba/cmds/test.rb +0 -1
- data/lib/corba/common/Any.rb +1 -2
- data/lib/corba/common/IDL.rb +5 -9
- data/lib/corba/common/ORB.rb +2 -3
- data/lib/corba/common/Object.rb +5 -3
- data/lib/corba/common/Request.rb +1 -2
- data/lib/corba/common/Servant.rb +0 -1
- data/lib/corba/common/Struct.rb +1 -2
- data/lib/corba/common/Stub.rb +1 -2
- data/lib/corba/common/Typecode.rb +56 -57
- data/lib/corba/common/Union.rb +1 -2
- data/lib/corba/common/Values.rb +1 -2
- data/lib/corba/common/const.rb +2 -3
- data/lib/corba/common/exception.rb +0 -1
- data/lib/corba/common/require.rb +8 -1
- data/lib/corba/common/version.rb +3 -4
- data/lib/corba/idl/IDL.rb +0 -1
- data/lib/corba/idl/IORTable.pidl +0 -1
- data/lib/corba/idl/TAO_Ext.pidl +0 -1
- data/lib/corba/idl/require.rb +0 -1
- data/lib/corba/jbase/Any.rb +24 -25
- data/lib/corba/jbase/IORMap.rb +1 -2
- data/lib/corba/jbase/ORB.rb +17 -5
- data/lib/corba/jbase/Object.rb +12 -12
- data/lib/corba/jbase/Request.rb +6 -7
- data/lib/corba/jbase/Servant.rb +14 -14
- data/lib/corba/jbase/ServerRequest.rb +8 -9
- data/lib/corba/jbase/Streams.rb +4 -5
- data/lib/corba/jbase/Stub.rb +0 -1
- data/lib/corba/jbase/Typecode.rb +14 -15
- data/lib/corba/jbase/Values.rb +0 -1
- data/lib/corba/jbase/exception.rb +1 -2
- data/lib/corba/jbase/poa.rb +3 -4
- data/lib/corba/jbase/policies.rb +4 -5
- data/lib/corba/jbase/post_require.rb +0 -1
- data/lib/corba/jbase/require.rb +7 -5
- data/lib/corba/naming.rb +0 -1
- data/lib/corba/naming_service.rb +0 -1
- data/lib/corba/poa.rb +1 -2
- data/lib/corba/policies.rb +1 -2
- data/lib/corba/require.rb +2 -3
- data/lib/corba/svcs/ins/cos_naming.rb +64 -67
- data/lib/corba/svcs/ins/ins.rb +24 -25
- data/lib/corba/svcs/ins/naming_service.rb +3 -4
- data/lib/ridlbe/ruby/config.rb +55 -58
- data/lib/ridlbe/ruby/require.rb +0 -1
- data/lib/ridlbe/ruby/walker.rb +38 -38
- data/mkrf_conf_srcgem.rb +16 -12
- data/rakelib/bin.rake +2 -3
- data/rakelib/bin.rb +4 -5
- data/rakelib/build.rake +21 -21
- data/rakelib/config.rake +1 -2
- data/rakelib/config.rb +114 -22
- data/rakelib/ext.rake +16 -16
- data/rakelib/ext.rb +18 -49
- data/rakelib/ext_r2tao.rb +38 -25
- data/rakelib/gem.rake +86 -47
- data/rakelib/gem.rb +14 -15
- data/rakelib/package.rake +1 -2
- data/rakelib/test.rake +0 -1
- data/test/BiDirectional/Test.idl +0 -1
- data/test/BiDirectional/client.rb +4 -5
- data/test/BiDirectional/run_test.rb +1 -2
- data/test/BiDirectional/server.rb +4 -6
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +0 -1
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +5 -6
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +1 -2
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +4 -5
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +0 -1
- data/test/CORBA_Services/Naming/Corbaname/client.rb +3 -4
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +1 -2
- data/test/CORBA_Services/Naming/Corbaname/server.rb +10 -11
- data/test/CORBA_Services/Naming/Simple/Test.idl +0 -1
- data/test/CORBA_Services/Naming/Simple/client.rb +4 -5
- data/test/CORBA_Services/Naming/Simple/run_test.rb +1 -2
- data/test/CORBA_Services/Naming/Simple/server.rb +4 -5
- data/test/Collocation/Diamond.idl +0 -1
- data/test/Collocation/run_test.rb +0 -1
- data/test/Collocation/test.rb +2 -3
- data/test/Connect_Timeout/Test.idl +0 -1
- data/test/Connect_Timeout/client.rb +3 -5
- data/test/Connect_Timeout/run_test.rb +0 -1
- data/test/DII/Test.idl +0 -1
- data/test/DII/client.rb +5 -6
- data/test/DII/run_test.rb +1 -2
- data/test/DII/server.rb +3 -4
- data/test/DSI/Test.idl +0 -1
- data/test/DSI/client.rb +3 -4
- data/test/DSI/run_test.rb +1 -2
- data/test/DSI/server.rb +3 -4
- data/test/Exceptions/Test.idl +0 -1
- data/test/Exceptions/client.rb +5 -6
- data/test/Exceptions/run_test.rb +1 -2
- data/test/Exceptions/server.rb +3 -4
- data/test/Hello/Test.idl +0 -1
- data/test/Hello/client.rb +3 -4
- data/test/Hello/run_test.rb +1 -2
- data/test/Hello/server.rb +3 -4
- data/test/IDL_Test/Test.idl +4 -1
- data/test/IDL_Test/client.rb +6 -5
- data/test/IDL_Test/run_test.rb +1 -2
- data/test/IDL_Test/server.rb +8 -4
- data/test/IORMap/Test.idl +0 -1
- data/test/IORMap/client.rb +3 -4
- data/test/IORMap/run_test.rb +1 -2
- data/test/IORMap/server.rb +4 -5
- data/test/IORTable/Test.idl +0 -1
- data/test/IORTable/client.rb +3 -4
- data/test/IORTable/run_test.rb +1 -2
- data/test/IORTable/server.rb +4 -5
- data/test/Implicit_Conversion/Test.idl +0 -1
- data/test/Implicit_Conversion/client.rb +4 -5
- data/test/Implicit_Conversion/run_test.rb +1 -2
- data/test/Implicit_Conversion/server.rb +3 -4
- data/test/Multi_Threading/Multiple_ORB/Test.idl +0 -1
- data/test/Multi_Threading/Multiple_ORB/client.rb +3 -4
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +2 -3
- data/test/Multi_Threading/Multiple_ORB/server.rb +3 -4
- data/test/Multi_Threading/Simple/Test.idl +1 -2
- data/test/Multi_Threading/Simple/client.rb +18 -14
- data/test/Multi_Threading/Simple/run_test.rb +1 -2
- data/test/Multi_Threading/Simple/server.rb +6 -7
- data/test/Multi_Threading/Threads/Test.idl +0 -4
- data/test/Multi_Threading/Threads/client.rb +10 -13
- data/test/Multi_Threading/Threads/run_test.rb +1 -2
- data/test/Multi_Threading/Threads/server.rb +5 -8
- data/test/Multi_Threading/Threads/watchdog.rb +3 -3
- data/test/Multiple_Servant_Interfaces/Test.idl +0 -1
- data/test/Multiple_Servant_Interfaces/client.rb +3 -4
- data/test/Multiple_Servant_Interfaces/run_test.rb +1 -2
- data/test/Multiple_Servant_Interfaces/server.rb +3 -4
- data/test/Nil/Test.idl +0 -1
- data/test/Nil/run_test.rb +0 -1
- data/test/Nil/test.rb +11 -9
- data/test/OBV/AbstractInterface/client.rb +3 -4
- data/test/OBV/AbstractInterface/run_test.rb +1 -2
- data/test/OBV/AbstractInterface/server.rb +3 -4
- data/test/OBV/AbstractInterface/test.idl +0 -1
- data/test/OBV/Custom/OBV_impl.rb +0 -1
- data/test/OBV/Custom/client.rb +3 -4
- data/test/OBV/Custom/run_test.rb +1 -2
- data/test/OBV/Custom/server.rb +3 -4
- data/test/OBV/Simple/OBV_impl.rb +0 -1
- data/test/OBV/Simple/client.rb +3 -4
- data/test/OBV/Simple/run_test.rb +1 -2
- data/test/OBV/Simple/server.rb +3 -4
- data/test/OBV/Simple_Event/Event_impl.rb +0 -1
- data/test/OBV/Simple_Event/client.rb +3 -4
- data/test/OBV/Simple_Event/run_test.rb +1 -2
- data/test/OBV/Simple_Event/server.rb +3 -4
- data/test/OBV/Supports/client.rb +3 -4
- data/test/OBV/Supports/run_test.rb +1 -2
- data/test/OBV/Supports/server.rb +3 -4
- data/test/OBV/Supports/supports.idl +0 -1
- data/test/OBV/Supports/supports_impl.rb +0 -1
- data/test/OBV/Tree/client.rb +3 -4
- data/test/OBV/Tree/run_test.rb +1 -2
- data/test/OBV/Tree/server.rb +3 -4
- data/test/OBV/Tree/test.idl +0 -1
- data/test/OBV/Truncatable/Extra.idl +0 -1
- data/test/OBV/Truncatable/Truncatable_impl.rb +1 -2
- data/test/OBV/Truncatable/client.rb +4 -5
- data/test/OBV/Truncatable/run_test.rb +1 -2
- data/test/OBV/Truncatable/server.rb +3 -4
- data/test/OBV/ValueBox/client.rb +44 -45
- data/test/OBV/ValueBox/run_test.rb +1 -2
- data/test/OBV/ValueBox/server.rb +29 -29
- data/test/Object/Test.idl +0 -1
- data/test/Object/client.rb +33 -25
- data/test/Object/run_test.rb +1 -2
- data/test/Object/server.rb +3 -4
- data/test/POA/run_test.rb +0 -1
- data/test/POA/test.rb +4 -5
- data/test/Param_Test/client.rb +8 -9
- data/test/Param_Test/run_test.rb +1 -2
- data/test/Param_Test/server.rb +7 -8
- data/test/Performance/Simple/Test.idl +0 -1
- data/test/Performance/Simple/client.rb +3 -4
- data/test/Performance/Simple/run_test.rb +1 -2
- data/test/Performance/Simple/server.rb +3 -4
- data/test/Policies/Test.idl +0 -1
- data/test/Policies/run_test.rb +0 -1
- data/test/Policies/test.rb +2 -4
- data/test/Timeout/client.rb +6 -7
- data/test/Timeout/run_test.rb +1 -2
- data/test/Timeout/server.rb +4 -5
- data/test/Timeout/test.idl +0 -1
- data/test/lib/assert.rb +0 -2
- data/test/lib/test.rb +15 -17
- data/test/test_runner.rb +6 -8
- metadata +221 -222
- data/README +0 -62
- data/ext/librpoa/srvreq_fix.cpp +0 -283
- data/ext/librpoa/srvreq_fix.h +0 -149
data/ext/librpoa/poa.cpp
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#------------------------------------------------------------------*/
|
13
12
|
|
14
13
|
#include "poa.h"
|
@@ -25,6 +24,7 @@
|
|
25
24
|
#include "exception.h"
|
26
25
|
#include "orb.h"
|
27
26
|
#include "servant.h"
|
27
|
+
#include <memory>
|
28
28
|
|
29
29
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
30
30
|
|
@@ -171,7 +171,7 @@ public:
|
|
171
171
|
R2TAO_POA_BlockedRegionCallerBase ()
|
172
172
|
: exception_ (false),
|
173
173
|
corba_ex_ (0) {}
|
174
|
-
virtual ~R2TAO_POA_BlockedRegionCallerBase ();
|
174
|
+
virtual ~R2TAO_POA_BlockedRegionCallerBase () noexcept(false);
|
175
175
|
|
176
176
|
VALUE call ();
|
177
177
|
|
@@ -186,13 +186,13 @@ protected:
|
|
186
186
|
CORBA::Exception* corba_ex_;
|
187
187
|
};
|
188
188
|
|
189
|
-
R2TAO_POA_BlockedRegionCallerBase::~R2TAO_POA_BlockedRegionCallerBase()
|
189
|
+
R2TAO_POA_BlockedRegionCallerBase::~R2TAO_POA_BlockedRegionCallerBase() noexcept(false)
|
190
190
|
{
|
191
191
|
if (this->exception_)
|
192
192
|
{
|
193
193
|
if (corba_ex_)
|
194
194
|
{
|
195
|
-
|
195
|
+
std::unique_ptr<CORBA::Exception> e_ptr(corba_ex_);
|
196
196
|
corba_ex_->_raise ();
|
197
197
|
}
|
198
198
|
else
|
@@ -974,7 +974,7 @@ public:
|
|
974
974
|
protected:
|
975
975
|
virtual VALUE do_exec ();
|
976
976
|
|
977
|
-
bool wait_for_completion_;
|
977
|
+
bool const wait_for_completion_;
|
978
978
|
};
|
979
979
|
|
980
980
|
VALUE R2TAO_POAMan_BlockedDiscardReq::do_exec ()
|
@@ -1015,8 +1015,8 @@ public:
|
|
1015
1015
|
protected:
|
1016
1016
|
virtual VALUE do_exec ();
|
1017
1017
|
|
1018
|
-
bool etherealize_;
|
1019
|
-
bool wait_for_completion_;
|
1018
|
+
bool const etherealize_;
|
1019
|
+
bool const wait_for_completion_;
|
1020
1020
|
};
|
1021
1021
|
|
1022
1022
|
VALUE R2TAO_POAMan_BlockedDeactivate::do_exec ()
|
data/ext/librpoa/poa.h
CHANGED
data/ext/librpoa/rpoa_export.h
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#-------------------------------------------------------------------*/
|
13
12
|
#ifndef R2TAO_POA_EXPORT_H
|
14
13
|
#define R2TAO_POA_EXPORT_H
|
data/ext/librpoa/servant.cpp
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#------------------------------------------------------------------*/
|
13
12
|
|
14
13
|
#include "poa.h"
|
@@ -25,10 +24,7 @@
|
|
25
24
|
#include "exception.h"
|
26
25
|
#include "orb.h"
|
27
26
|
#include "servant.h"
|
28
|
-
|
29
|
-
#if RPOA_NEED_DSI_FIX
|
30
|
-
# include "srvreq_fix.cpp"
|
31
|
-
#endif
|
27
|
+
#include <memory>
|
32
28
|
|
33
29
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
34
30
|
|
@@ -113,12 +109,12 @@ void r2tao_init_Servant()
|
|
113
109
|
//===================================================================
|
114
110
|
|
115
111
|
struct DSI_Data {
|
116
|
-
|
112
|
+
CORBA::ServerRequest_ptr _request;
|
117
113
|
CORBA::NVList_ptr _nvlist;
|
118
114
|
CORBA::TypeCode_var _result_type;
|
119
115
|
VALUE _rData;
|
120
116
|
|
121
|
-
DSI_Data(
|
117
|
+
DSI_Data(CORBA::ServerRequest_ptr _req)
|
122
118
|
: _request(_req), _nvlist(0), _rData(Qnil) {}
|
123
119
|
~DSI_Data() {
|
124
120
|
if (this->_rData!=Qnil) { DATA_PTR(this->_rData) = 0; }
|
@@ -134,7 +130,7 @@ VALUE r2tao_ServerRequest_operation(VALUE self)
|
|
134
130
|
{
|
135
131
|
if (DATA_PTR (self) != 0)
|
136
132
|
{
|
137
|
-
|
133
|
+
CORBA::ServerRequest_ptr request = static_cast<DSI_Data*> (DATA_PTR (self))->_request;
|
138
134
|
return rb_str_new2 (request->operation ());
|
139
135
|
}
|
140
136
|
return Qnil;
|
@@ -152,7 +148,7 @@ VALUE r2tao_ServerRequest_describe(VALUE self, VALUE desc)
|
|
152
148
|
X_CORBA (BAD_INV_ORDER);
|
153
149
|
}
|
154
150
|
|
155
|
-
|
151
|
+
CORBA::ServerRequest_ptr request = dsi_data->_request;
|
156
152
|
|
157
153
|
if (desc != Qnil && rb_type (desc) == T_HASH)
|
158
154
|
{
|
@@ -497,73 +493,6 @@ DSI_Servant::METHOD DSI_Servant::method_id (const char* method)
|
|
497
493
|
return NONE;
|
498
494
|
}
|
499
495
|
|
500
|
-
#if RPOA_NEED_DSI_FIX
|
501
|
-
void DSI_Servant::invoke (CORBA::ServerRequest_ptr /*request*/)
|
502
|
-
{}
|
503
|
-
|
504
|
-
void DSI_Servant::_dispatch (TAO_ServerRequest &request,
|
505
|
-
void * /*context*/)
|
506
|
-
{
|
507
|
-
// No need to do any of this if the client isn't waiting.
|
508
|
-
if (request.response_expected ())
|
509
|
-
{
|
510
|
-
if (request.is_forwarded ())
|
511
|
-
{
|
512
|
-
request.init_reply ();
|
513
|
-
request.tao_send_reply ();
|
514
|
-
|
515
|
-
// No need to invoke in this case.
|
516
|
-
return;
|
517
|
-
}
|
518
|
-
else if (request.sync_with_server ())
|
519
|
-
{
|
520
|
-
// The last line before the call to this function
|
521
|
-
// was an ACE_CHECK_RETURN, so if we're here, we
|
522
|
-
// know there is no exception so far, and that's all
|
523
|
-
// a SYNC_WITH_SERVER client request cares about.
|
524
|
-
request.send_no_exception_reply ();
|
525
|
-
}
|
526
|
-
}
|
527
|
-
|
528
|
-
// Create DSI request object.
|
529
|
-
R2CORBA::ServerRequest *dsi_request = 0;
|
530
|
-
ACE_NEW (dsi_request,
|
531
|
-
R2CORBA::ServerRequest (request));
|
532
|
-
|
533
|
-
try
|
534
|
-
{
|
535
|
-
// Delegate to user.
|
536
|
-
this->invoke_fix (dsi_request);
|
537
|
-
|
538
|
-
// Only if the client is waiting.
|
539
|
-
if (request.response_expected () && !request.sync_with_server ())
|
540
|
-
{
|
541
|
-
dsi_request->dsi_marshal ();
|
542
|
-
}
|
543
|
-
}
|
544
|
-
catch (::CORBA::Exception& ex)
|
545
|
-
{
|
546
|
-
// Only if the client is waiting.
|
547
|
-
if (request.response_expected () && !request.sync_with_server ())
|
548
|
-
{
|
549
|
-
if (request.collocated ()
|
550
|
-
&& request.operation_details ()->cac () != 0)
|
551
|
-
{
|
552
|
-
// If we have a cac it will handle the exception and no
|
553
|
-
// need to do any further processing
|
554
|
-
request.operation_details ()->cac ()->handle_corba_exception (
|
555
|
-
request, &ex);
|
556
|
-
return;
|
557
|
-
}
|
558
|
-
else
|
559
|
-
request.tao_send_reply_exception (ex);
|
560
|
-
}
|
561
|
-
}
|
562
|
-
|
563
|
-
::CORBA::release (dsi_request);
|
564
|
-
}
|
565
|
-
#endif
|
566
|
-
|
567
496
|
// invocation helper for threadsafe calling of Ruby code
|
568
497
|
void* DSI_Servant::thread_safe_invoke (void * arg)
|
569
498
|
{
|
@@ -581,11 +510,7 @@ void* DSI_Servant::thread_safe_invoke (void * arg)
|
|
581
510
|
return 0;
|
582
511
|
}
|
583
512
|
|
584
|
-
# if RPOA_NEED_DSI_FIX
|
585
|
-
void DSI_Servant::invoke_fix (R2CORBA::ServerRequest_ptr request)
|
586
|
-
# else
|
587
513
|
void DSI_Servant::invoke (CORBA::ServerRequest_ptr request)
|
588
|
-
# endif
|
589
514
|
{
|
590
515
|
ThreadSafeArg tca_(this, request);
|
591
516
|
|
@@ -593,12 +518,12 @@ void DSI_Servant::invoke (CORBA::ServerRequest_ptr request)
|
|
593
518
|
if (rc != 0)
|
594
519
|
{
|
595
520
|
CORBA::SystemException* exc = reinterpret_cast<CORBA::SystemException*> (rc);
|
596
|
-
|
521
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(exc);
|
597
522
|
exc->_raise ();
|
598
523
|
}
|
599
524
|
}
|
600
525
|
|
601
|
-
void DSI_Servant::inner_invoke (
|
526
|
+
void DSI_Servant::inner_invoke (CORBA::ServerRequest_ptr request)
|
602
527
|
{
|
603
528
|
if (TAO_debug_level > 7)
|
604
529
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke(%C)\n", request->operation ()));
|
@@ -634,7 +559,7 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
634
559
|
f = this->_is_a (tmp);
|
635
560
|
|
636
561
|
if (TAO_debug_level > 5)
|
637
|
-
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _is_a (%
|
562
|
+
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _is_a (%C) -> %d\n", tmp, f));
|
638
563
|
}
|
639
564
|
else
|
640
565
|
{
|
@@ -663,7 +588,7 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
663
588
|
CORBA::String_var repo_id = this->_repository_id ();
|
664
589
|
|
665
590
|
if (TAO_debug_level > 5)
|
666
|
-
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _repository_id () -> %
|
591
|
+
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _repository_id () -> %C\n", repo_id.in ()));
|
667
592
|
|
668
593
|
CORBA::Any _any;
|
669
594
|
_any <<= repo_id.in ();
|
@@ -700,13 +625,13 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
700
625
|
}
|
701
626
|
}
|
702
627
|
|
703
|
-
void DSI_Servant::invoke_DSI (
|
628
|
+
void DSI_Servant::invoke_DSI (CORBA::ServerRequest_ptr request)
|
704
629
|
{
|
705
630
|
if (TAO_debug_level > 5)
|
706
631
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke_DSI(%C) entry\n", request->operation ()));
|
707
632
|
|
708
633
|
// wrap request for Ruby; cleanup automatically
|
709
|
-
|
634
|
+
std::unique_ptr<DSI_Data> dsi_data(new DSI_Data(request));
|
710
635
|
|
711
636
|
VALUE srvreq = Data_Wrap_Struct(r2tao_cServerRequest, 0, 0, dsi_data.get ());
|
712
637
|
|
@@ -752,7 +677,7 @@ void DSI_Servant::invoke_DSI (R2CORBA_ServerRequest_ptr request)
|
|
752
677
|
_exc->completed (
|
753
678
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
754
679
|
|
755
|
-
|
680
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
756
681
|
_exc->_raise ();
|
757
682
|
}
|
758
683
|
else
|
@@ -825,7 +750,7 @@ void DSI_Servant::invoke_DSI (R2CORBA_ServerRequest_ptr request)
|
|
825
750
|
}
|
826
751
|
}
|
827
752
|
|
828
|
-
void DSI_Servant::invoke_SI (
|
753
|
+
void DSI_Servant::invoke_SI (CORBA::ServerRequest_ptr request)
|
829
754
|
{
|
830
755
|
if (TAO_debug_level > 5)
|
831
756
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke_SI(%C) entry\n", request->operation ()));
|
@@ -985,7 +910,7 @@ void DSI_Servant::invoke_SI (R2CORBA_ServerRequest_ptr request)
|
|
985
910
|
_exc->completed (
|
986
911
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
987
912
|
|
988
|
-
|
913
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
989
914
|
_exc->_raise ();
|
990
915
|
}
|
991
916
|
else
|
@@ -1131,7 +1056,7 @@ CORBA::Object_ptr DSI_Servant::_get_component (void)
|
|
1131
1056
|
}
|
1132
1057
|
}
|
1133
1058
|
|
1134
|
-
const char *DSI_Servant::_interface_repository_id (
|
1059
|
+
const char *DSI_Servant::_interface_repository_id () const
|
1135
1060
|
{
|
1136
1061
|
static R2TAO_RBFuncall FN_repository_id ("_repository_id");
|
1137
1062
|
|
@@ -1243,7 +1168,7 @@ VALUE r2tao_Servant_default_POA(VALUE self)
|
|
1243
1168
|
{
|
1244
1169
|
R2TAO_TRY
|
1245
1170
|
{
|
1246
|
-
DSI_Servant* _servant;
|
1171
|
+
DSI_Servant* _servant = 0;
|
1247
1172
|
if (DATA_PTR (self) == 0)
|
1248
1173
|
{
|
1249
1174
|
// create new C++ servant object
|
@@ -1269,7 +1194,7 @@ VALUE r2tao_Servant_this(VALUE self)
|
|
1269
1194
|
R2TAO_TRY
|
1270
1195
|
{
|
1271
1196
|
bool _new_srv = false;
|
1272
|
-
DSI_Servant* _servant;
|
1197
|
+
DSI_Servant* _servant = 0;
|
1273
1198
|
if (DATA_PTR (self) == 0)
|
1274
1199
|
{
|
1275
1200
|
// create new C++ servant object
|
data/ext/librpoa/servant.h
CHANGED
@@ -8,39 +8,21 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#------------------------------------------------------------------*/
|
13
12
|
|
14
|
-
#if ((TAO_MAJOR_VERSION < 2) || (TAO_MAJOR_VERSION == 2 && TAO_MINOR_VERSION == 0 && TAO_BETA_VERSION <= 1))
|
15
|
-
# define RPOA_NEED_DSI_FIX 1
|
16
|
-
|
17
|
-
# include "srvreq_fix.h"
|
18
|
-
|
19
|
-
# define R2CORBA_ServerRequest R2CORBA::ServerRequest
|
20
|
-
# define R2CORBA_ServerRequest_ptr R2CORBA::ServerRequest_ptr
|
21
|
-
#else
|
22
|
-
# define R2CORBA_ServerRequest CORBA::ServerRequest
|
23
|
-
# define R2CORBA_ServerRequest_ptr CORBA::ServerRequest_ptr
|
24
|
-
#endif
|
25
|
-
|
26
13
|
//-------------------------------------------------------------------
|
27
14
|
// R2TAO Servant class
|
28
15
|
//
|
29
16
|
//===================================================================
|
30
|
-
|
31
17
|
class DSI_Servant : public PortableServer::DynamicImplementation
|
32
18
|
{
|
33
19
|
public:
|
20
|
+
/// ctor
|
34
21
|
DSI_Servant (VALUE rbServant);
|
35
|
-
|
22
|
+
/// dtor
|
36
23
|
virtual ~DSI_Servant ();
|
37
|
-
// dtor
|
38
24
|
|
39
25
|
virtual void invoke (CORBA::ServerRequest_ptr request);
|
40
|
-
//ACE_THROW_SPEC ((CORBA::SystemException));
|
41
|
-
#if RPOA_NEED_DSI_FIX
|
42
|
-
void invoke_fix (R2CORBA::ServerRequest_ptr request);
|
43
|
-
#endif
|
44
26
|
|
45
27
|
virtual CORBA::RepositoryId _primary_interface (
|
46
28
|
const PortableServer::ObjectId &oid,
|
@@ -48,13 +30,13 @@ public:
|
|
48
30
|
|
49
31
|
virtual CORBA::Boolean _is_a (const char *logical_type_id);
|
50
32
|
|
51
|
-
virtual CORBA::Boolean _non_existent (
|
33
|
+
virtual CORBA::Boolean _non_existent ();
|
52
34
|
|
53
|
-
//virtual CORBA::InterfaceDef_ptr _get_interface (
|
35
|
+
//virtual CORBA::InterfaceDef_ptr _get_interface ();
|
54
36
|
|
55
|
-
virtual CORBA::Object_ptr _get_component (
|
37
|
+
virtual CORBA::Object_ptr _get_component ();
|
56
38
|
|
57
|
-
virtual char * _repository_id (
|
39
|
+
virtual char * _repository_id ();
|
58
40
|
|
59
41
|
enum METHOD {
|
60
42
|
NONE,
|
@@ -74,12 +56,7 @@ public:
|
|
74
56
|
void activate_servant ();
|
75
57
|
|
76
58
|
protected:
|
77
|
-
virtual const char *_interface_repository_id (
|
78
|
-
|
79
|
-
#if RPOA_NEED_DSI_FIX
|
80
|
-
/// Turns around and calls invoke.
|
81
|
-
virtual void _dispatch (TAO_ServerRequest &request, void *context);
|
82
|
-
#endif
|
59
|
+
virtual const char *_interface_repository_id () const;
|
83
60
|
|
84
61
|
void register_with_servant ();
|
85
62
|
|
@@ -88,26 +65,26 @@ protected:
|
|
88
65
|
|
89
66
|
METHOD method_id (const char* method);
|
90
67
|
|
91
|
-
|
68
|
+
void inner_invoke (CORBA::ServerRequest_ptr request);
|
92
69
|
|
93
|
-
void invoke_SI (
|
94
|
-
void invoke_DSI (
|
70
|
+
void invoke_SI (CORBA::ServerRequest_ptr request);
|
71
|
+
void invoke_DSI (CORBA::ServerRequest_ptr request);
|
95
72
|
|
96
73
|
static VALUE _invoke_implementation(VALUE args);
|
97
74
|
|
98
75
|
private:
|
76
|
+
/// The Ruby Servant
|
99
77
|
VALUE rbServant_;
|
100
|
-
// The Ruby Servant
|
101
78
|
|
102
79
|
CORBA::String_var repo_id_;
|
103
80
|
|
104
81
|
struct ThreadSafeArg
|
105
82
|
{
|
106
83
|
ThreadSafeArg (DSI_Servant* srv,
|
107
|
-
|
84
|
+
CORBA::ServerRequest_ptr req)
|
108
85
|
: servant_(srv), request_(req) {}
|
109
86
|
DSI_Servant* servant_;
|
110
|
-
|
87
|
+
CORBA::ServerRequest_ptr request_;
|
111
88
|
};
|
112
89
|
|
113
90
|
static void* thread_safe_invoke (void * arg);
|
data/ext/librpol/policies.cpp
CHANGED
data/ext/librpol/policies.h
CHANGED
data/ext/librpol/rpol_export.h
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#------------------------------------------------------------------*/
|
13
12
|
#ifndef R2TAO_POL_EXPORT_H
|
14
13
|
#define R2TAO_POL_EXPORT_H
|
data/lib/corba.rb
CHANGED