r2corba 1.5.2 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +8 -5
- data/ext/libr2tao/any.cpp +12 -11
- data/ext/libr2tao/exception.cpp +6 -8
- data/ext/libr2tao/exception.h +1 -2
- data/ext/libr2tao/longdouble.cpp +5 -9
- data/ext/libr2tao/object.cpp +37 -53
- data/ext/libr2tao/orb.cpp +46 -73
- data/ext/libr2tao/r2tao_export.h +1 -1
- data/ext/libr2tao/r2tao_ext.h +8 -19
- data/ext/libr2tao/required.cpp +4 -28
- data/ext/libr2tao/required.h +23 -80
- data/ext/libr2tao/values.cpp +97 -98
- data/ext/libr2tao/values.h +36 -40
- data/ext/librpoa/iortable.cpp +6 -7
- data/ext/librpoa/poa.cpp +29 -32
- data/ext/librpoa/servant.cpp +39 -113
- data/ext/librpoa/servant.h +18 -40
- data/lib/corba.rb +1 -1
- data/lib/corba/cbase/ORB.rb +26 -23
- data/lib/corba/cbase/Request.rb +3 -3
- data/lib/corba/cbase/Streams.rb +2 -2
- data/lib/corba/cbase/Typecode.rb +6 -6
- data/lib/corba/cbase/Values.rb +4 -2
- data/lib/corba/cbase/exception.rb +6 -4
- data/lib/corba/cbase/poa.rb +1 -1
- data/lib/corba/cbase/policies.rb +2 -2
- data/lib/corba/cbase/require.rb +8 -1
- data/lib/corba/cmds/base.rb +1 -1
- data/lib/corba/common/Any.rb +3 -2
- data/lib/corba/common/IDL.rb +4 -7
- data/lib/corba/common/ORB.rb +22 -22
- data/lib/corba/common/Object.rb +14 -14
- data/lib/corba/common/Servant.rb +4 -4
- data/lib/corba/common/Stub.rb +6 -6
- data/lib/corba/common/Typecode.rb +72 -45
- data/lib/corba/common/Union.rb +5 -0
- data/lib/corba/common/Values.rb +1 -0
- data/lib/corba/common/const.rb +2 -2
- data/lib/corba/common/exception.rb +2 -1
- data/lib/corba/common/require.rb +8 -0
- data/lib/corba/common/version.rb +2 -2
- data/lib/corba/idl/IDL.rb +1 -1
- data/lib/corba/jbase/Any.rb +28 -26
- data/lib/corba/jbase/ORB.rb +5 -5
- data/lib/corba/jbase/Object.rb +13 -13
- data/lib/corba/jbase/Request.rb +8 -8
- data/lib/corba/jbase/Servant.rb +10 -10
- data/lib/corba/jbase/ServerRequest.rb +7 -7
- data/lib/corba/jbase/Streams.rb +67 -3
- data/lib/corba/jbase/Typecode.rb +17 -16
- data/lib/corba/jbase/Values.rb +2 -0
- data/lib/corba/jbase/exception.rb +2 -1
- data/lib/corba/jbase/poa.rb +20 -20
- data/lib/corba/jbase/policies.rb +32 -32
- data/lib/corba/jbase/require.rb +4 -0
- data/lib/corba/poa.rb +1 -1
- data/lib/corba/policies.rb +1 -1
- data/lib/corba/require.rb +2 -2
- data/lib/corba/svcs/ins/cos_naming.rb +37 -28
- data/lib/corba/svcs/ins/ins.rb +51 -51
- data/lib/corba/svcs/ins/naming_service.rb +8 -8
- data/lib/ridlbe/ruby/config.rb +78 -72
- data/lib/ridlbe/ruby/walker.rb +295 -272
- data/mkrf_conf_srcgem.rb +6 -6
- data/rakelib/bin.rake +1 -1
- data/rakelib/bin.rb +3 -3
- data/rakelib/build.rake +16 -16
- data/rakelib/config.rake +1 -1
- data/rakelib/config.rb +24 -25
- data/rakelib/ext.rake +7 -68
- data/rakelib/ext.rb +13 -13
- data/rakelib/ext_r2tao.rb +11 -54
- data/rakelib/gem.rake +40 -24
- data/rakelib/gem.rb +6 -6
- data/rakelib/package.rake +1 -1
- data/test/BiDirectional/client.rb +17 -17
- data/test/BiDirectional/run_test.rb +11 -11
- data/test/BiDirectional/server.rb +24 -25
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +17 -17
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +19 -19
- data/test/CORBA_Services/Naming/Corbaname/client.rb +15 -15
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/Corbaname/server.rb +30 -30
- data/test/CORBA_Services/Naming/Simple/client.rb +16 -16
- data/test/CORBA_Services/Naming/Simple/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/Simple/server.rb +19 -19
- data/test/Collocation/run_test.rb +10 -10
- data/test/Collocation/test.rb +27 -20
- data/test/Connect_Timeout/client.rb +16 -17
- data/test/Connect_Timeout/run_test.rb +10 -10
- data/test/DII/client.rb +30 -30
- data/test/DII/run_test.rb +11 -11
- data/test/DII/server.rb +16 -16
- data/test/DSI/client.rb +16 -16
- data/test/DSI/run_test.rb +11 -11
- data/test/DSI/server.rb +17 -17
- data/test/Exceptions/client.rb +21 -21
- data/test/Exceptions/run_test.rb +11 -11
- data/test/Exceptions/server.rb +16 -16
- data/test/Hello/client.rb +16 -16
- data/test/Hello/run_test.rb +11 -11
- data/test/Hello/server.rb +17 -17
- data/test/IDL_Test/client.rb +21 -21
- data/test/IDL_Test/run_test.rb +11 -11
- data/test/IDL_Test/server.rb +19 -19
- data/test/IORMap/client.rb +14 -14
- data/test/IORMap/run_test.rb +11 -11
- data/test/IORMap/server.rb +26 -26
- data/test/IORTable/client.rb +14 -14
- data/test/IORTable/run_test.rb +11 -11
- data/test/IORTable/server.rb +26 -26
- data/test/Implicit_Conversion/client.rb +20 -17
- data/test/Implicit_Conversion/run_test.rb +11 -11
- data/test/Implicit_Conversion/server.rb +16 -16
- data/test/Multi_Threading/Multiple_ORB/client.rb +14 -14
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +12 -12
- data/test/Multi_Threading/Multiple_ORB/server.rb +17 -17
- data/test/Multi_Threading/Simple/client.rb +17 -17
- data/test/Multi_Threading/Simple/run_test.rb +11 -11
- data/test/Multi_Threading/Simple/server.rb +16 -16
- data/test/Multi_Threading/Threads/client.rb +16 -16
- data/test/Multi_Threading/Threads/run_test.rb +11 -11
- data/test/Multi_Threading/Threads/server.rb +22 -22
- data/test/Multi_Threading/Threads/watchdog.rb +16 -16
- data/test/Multiple_Servant_Interfaces/client.rb +14 -14
- data/test/Multiple_Servant_Interfaces/run_test.rb +11 -11
- data/test/Multiple_Servant_Interfaces/server.rb +18 -18
- data/test/Nil/run_test.rb +10 -10
- data/test/Nil/test.rb +22 -19
- data/test/OBV/AbstractInterface/client.rb +14 -14
- data/test/OBV/AbstractInterface/run_test.rb +11 -11
- data/test/OBV/AbstractInterface/server.rb +20 -19
- data/test/OBV/Custom/OBV_impl.rb +2 -0
- data/test/OBV/Custom/client.rb +14 -14
- data/test/OBV/Custom/run_test.rb +11 -11
- data/test/OBV/Custom/server.rb +16 -16
- data/test/OBV/Simple/OBV_impl.rb +1 -0
- data/test/OBV/Simple/client.rb +14 -14
- data/test/OBV/Simple/run_test.rb +11 -11
- data/test/OBV/Simple/server.rb +16 -16
- data/test/OBV/Simple_Event/Event_impl.rb +1 -0
- data/test/OBV/Simple_Event/client.rb +14 -14
- data/test/OBV/Simple_Event/run_test.rb +11 -11
- data/test/OBV/Simple_Event/server.rb +16 -16
- data/test/OBV/Supports/client.rb +19 -19
- data/test/OBV/Supports/run_test.rb +11 -11
- data/test/OBV/Supports/server.rb +15 -15
- data/test/OBV/Supports/supports_impl.rb +3 -0
- data/test/OBV/Tree/client.rb +14 -14
- data/test/OBV/Tree/run_test.rb +11 -11
- data/test/OBV/Tree/server.rb +19 -19
- data/test/OBV/Truncatable/Truncatable_impl.rb +1 -1
- data/test/OBV/Truncatable/client.rb +57 -57
- data/test/OBV/Truncatable/run_test.rb +11 -11
- data/test/OBV/Truncatable/server.rb +15 -15
- data/test/OBV/ValueBox/client.rb +154 -153
- data/test/OBV/ValueBox/run_test.rb +11 -11
- data/test/OBV/ValueBox/server.rb +42 -42
- data/test/Object/client.rb +15 -15
- data/test/Object/run_test.rb +11 -11
- data/test/Object/server.rb +19 -19
- data/test/POA/run_test.rb +10 -10
- data/test/POA/test.rb +16 -16
- data/test/Param_Test/client.rb +51 -51
- data/test/Param_Test/run_test.rb +11 -11
- data/test/Param_Test/server.rb +59 -59
- data/test/Performance/Simple/client.rb +16 -16
- data/test/Performance/Simple/run_test.rb +11 -11
- data/test/Performance/Simple/server.rb +16 -16
- data/test/Policies/run_test.rb +10 -10
- data/test/Policies/test.rb +23 -24
- data/test/Timeout/client.rb +21 -21
- data/test/Timeout/run_test.rb +11 -11
- data/test/Timeout/server.rb +22 -22
- data/test/lib/assert.rb +0 -1
- data/test/lib/test.rb +27 -22
- data/test/test_runner.rb +20 -21
- metadata +11 -13
- data/ext/extload/extload.c +0 -60
- data/ext/librpoa/srvreq_fix.cpp +0 -282
- data/ext/librpoa/srvreq_fix.h +0 -148
data/ext/libr2tao/values.h
CHANGED
@@ -20,8 +20,6 @@
|
|
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 "ace/Auto_Ptr.h"
|
24
|
-
//#include "ace/Array_Base.h"
|
25
23
|
|
26
24
|
extern VALUE r2tao_cBoxedValueBase;
|
27
25
|
|
@@ -39,7 +37,7 @@ public:
|
|
39
37
|
R2TAO_ArrayAny_Impl_T (CORBA::TypeCode_ptr,
|
40
38
|
T * const,
|
41
39
|
CORBA::ULong);
|
42
|
-
virtual ~R2TAO_ArrayAny_Impl_T (
|
40
|
+
virtual ~R2TAO_ArrayAny_Impl_T ();
|
43
41
|
|
44
42
|
static void insert (CORBA::Any &,
|
45
43
|
CORBA::TypeCode_ptr,
|
@@ -47,12 +45,12 @@ public:
|
|
47
45
|
CORBA::ULong);
|
48
46
|
|
49
47
|
virtual CORBA::Boolean marshal_value (TAO_OutputCDR &);
|
50
|
-
virtual const void *value (
|
51
|
-
virtual void free_value (
|
48
|
+
virtual const void *value () const;
|
49
|
+
virtual void free_value ();
|
52
50
|
|
53
51
|
private:
|
54
52
|
void* value_;
|
55
|
-
CORBA::ULong length_;
|
53
|
+
CORBA::ULong const length_;
|
56
54
|
};
|
57
55
|
|
58
56
|
|
@@ -81,33 +79,33 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
81
79
|
{
|
82
80
|
public:
|
83
81
|
R2TAO_Value (VALUE rbValue, bool for_unmarshal=false);
|
84
|
-
|
82
|
+
~R2TAO_Value () override;
|
85
83
|
|
86
|
-
virtual CORBA::ValueBase* _copy_value (
|
84
|
+
virtual CORBA::ValueBase* _copy_value ();
|
87
85
|
|
88
86
|
static void _tao_any_destructor (void *);
|
89
87
|
|
90
|
-
|
88
|
+
void truncation_hook () override;
|
91
89
|
|
92
90
|
static R2TAO_Value* _downcast (::CORBA::ValueBase *v);
|
93
91
|
|
94
|
-
|
92
|
+
CORBA::TypeCode_ptr _tao_type () const override;
|
95
93
|
|
96
94
|
/// Return the repository id of this valuetype.
|
97
|
-
|
95
|
+
const char * _tao_obv_repository_id () const override;
|
98
96
|
|
99
97
|
/// Give the list of the RepositoryIds in the valuetype "truncatable"
|
100
98
|
/// inheritance hierarchy. List the id of this valuetype as first
|
101
99
|
/// RepositoryID and go up the "truncatable" derivation hierarchy.
|
102
100
|
/// Note the truncatable repo ids only list the truncatable base types
|
103
101
|
/// to which this type is safe to truncate, not all its parents.
|
104
|
-
|
102
|
+
void _tao_obv_truncatable_repo_ids (Repository_Id_List &) const override;
|
105
103
|
|
106
|
-
|
107
|
-
|
104
|
+
::CORBA::Boolean _tao_marshal_v (TAO_OutputCDR &) const override;
|
105
|
+
::CORBA::Boolean _tao_unmarshal_v (TAO_InputCDR &) override;
|
108
106
|
|
109
107
|
// always return false -> i.e. always marshal type Id
|
110
|
-
|
108
|
+
::CORBA::Boolean _tao_match_formal_type (ptrdiff_t ) const override;
|
111
109
|
|
112
110
|
VALUE get_ruby_value () const { return this->rbValue_; }
|
113
111
|
|
@@ -126,15 +124,15 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
126
124
|
private:
|
127
125
|
typedef ACE_Array_Base<CORBA::Any*> ChunkElements;
|
128
126
|
struct Chunk {
|
129
|
-
Chunk ()
|
127
|
+
Chunk () = default;
|
130
128
|
~Chunk() {
|
131
129
|
for (ChunkElements::size_type i=0; i<this->elems_.size () ;++i)
|
132
130
|
{ delete this->elems_[i]; }
|
133
131
|
delete this->next_;
|
134
|
-
this->next_ =
|
132
|
+
this->next_ = nullptr;
|
135
133
|
}
|
136
134
|
ChunkElements elems_;
|
137
|
-
Chunk* next_;
|
135
|
+
Chunk* next_ {};
|
138
136
|
};
|
139
137
|
|
140
138
|
void init ();
|
@@ -178,19 +176,17 @@ class R2TAO_ValueFactory
|
|
178
176
|
|
179
177
|
static R2TAO_ValueFactory* _downcast ( ::CORBA::ValueFactoryBase *);
|
180
178
|
|
181
|
-
|
182
|
-
create_for_unmarshal (void);
|
179
|
+
::CORBA::ValueBase *create_for_unmarshal () override;
|
183
180
|
|
184
|
-
|
185
|
-
create_for_unmarshal_abstract (void);
|
181
|
+
::CORBA::AbstractBase_ptr create_for_unmarshal_abstract () override;
|
186
182
|
|
187
183
|
// TAO-specific extensions
|
188
|
-
virtual const char* tao_repository_id (
|
184
|
+
virtual const char* tao_repository_id ();
|
189
185
|
|
190
186
|
VALUE get_ruby_factory () { return this->rbValueFactory_; }
|
191
187
|
|
192
188
|
protected:
|
193
|
-
|
189
|
+
~R2TAO_ValueFactory () override;
|
194
190
|
|
195
191
|
private:
|
196
192
|
VALUE rbValueFactory_;
|
@@ -232,7 +228,7 @@ class R2TAO_AbstractValue :
|
|
232
228
|
R2TAO_AbstractValue (VALUE rbValue,
|
233
229
|
CORBA::TypeCode_ptr abs_tc);
|
234
230
|
R2TAO_AbstractValue (VALUE rbValue); // for unmarshaling only
|
235
|
-
|
231
|
+
~R2TAO_AbstractValue () override;
|
236
232
|
|
237
233
|
static void _tao_any_destructor (void *);
|
238
234
|
|
@@ -240,14 +236,14 @@ class R2TAO_AbstractValue :
|
|
240
236
|
|
241
237
|
static R2TAO_AbstractValue* _downcast ( ::CORBA::ValueBase *v);
|
242
238
|
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
239
|
+
const char* _tao_obv_repository_id () const override;
|
240
|
+
CORBA::Boolean _tao_marshal_v (TAO_OutputCDR &strm) const override;
|
241
|
+
CORBA::Boolean _tao_unmarshal_v (TAO_InputCDR &strm) override;
|
242
|
+
CORBA::Boolean _tao_match_formal_type (ptrdiff_t) const override;
|
247
243
|
|
248
|
-
|
249
|
-
|
250
|
-
|
244
|
+
void _add_ref () override;
|
245
|
+
void _remove_ref () override;
|
246
|
+
::CORBA::ValueBase *_tao_to_value () override;
|
251
247
|
|
252
248
|
CORBA::TypeCode_ptr abstract_type () const;
|
253
249
|
|
@@ -306,7 +302,7 @@ class R2TAO_AbstractObject :
|
|
306
302
|
public:
|
307
303
|
R2TAO_AbstractObject (CORBA::Object_ptr objref,
|
308
304
|
CORBA::TypeCode_ptr abs_tc);
|
309
|
-
|
305
|
+
~R2TAO_AbstractObject () override;
|
310
306
|
|
311
307
|
static void _tao_any_destructor (void *);
|
312
308
|
|
@@ -314,12 +310,12 @@ class R2TAO_AbstractObject :
|
|
314
310
|
|
315
311
|
static void _tao_release (R2TAO_AbstractObject_ptr obj);
|
316
312
|
|
317
|
-
|
318
|
-
|
313
|
+
void _add_ref () override;
|
314
|
+
void _remove_ref () override;
|
319
315
|
|
320
|
-
|
321
|
-
|
322
|
-
|
316
|
+
::CORBA::Boolean _is_a (const char *type_id) override;
|
317
|
+
const char* _interface_repository_id () const override;
|
318
|
+
::CORBA::Boolean marshal (TAO_OutputCDR &cdr) override;
|
323
319
|
|
324
320
|
CORBA::TypeCode_ptr abstract_type () const;
|
325
321
|
|
@@ -374,7 +370,7 @@ namespace TAO
|
|
374
370
|
R2TAO_AbstractValue_ptr p);
|
375
371
|
static void release (
|
376
372
|
R2TAO_AbstractValue_ptr p);
|
377
|
-
static R2TAO_AbstractValue_ptr nil (
|
373
|
+
static R2TAO_AbstractValue_ptr nil ();
|
378
374
|
static ::CORBA::Boolean marshal (
|
379
375
|
const R2TAO_AbstractValue_ptr p,
|
380
376
|
TAO_OutputCDR & cdr);
|
@@ -387,7 +383,7 @@ namespace TAO
|
|
387
383
|
R2TAO_AbstractObject_ptr p);
|
388
384
|
static void release (
|
389
385
|
R2TAO_AbstractObject_ptr p);
|
390
|
-
static R2TAO_AbstractObject_ptr nil (
|
386
|
+
static R2TAO_AbstractObject_ptr nil ();
|
391
387
|
static ::CORBA::Boolean marshal (
|
392
388
|
const R2TAO_AbstractObject_ptr p,
|
393
389
|
TAO_OutputCDR & cdr);
|
data/ext/librpoa/iortable.cpp
CHANGED
@@ -11,12 +11,12 @@
|
|
11
11
|
#------------------------------------------------------------------*/
|
12
12
|
|
13
13
|
#include "poa.h"
|
14
|
-
#include "ace/Auto_Ptr.h"
|
15
14
|
#include "tao/ORB.h"
|
16
15
|
#include "tao/IORTable/IORTable.h"
|
17
16
|
#include "object.h"
|
18
17
|
#include "exception.h"
|
19
18
|
#include "orb.h"
|
19
|
+
#include <memory>
|
20
20
|
|
21
21
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
22
22
|
|
@@ -65,7 +65,7 @@ public:
|
|
65
65
|
r2tao_call_thread_safe (R2taoLocator::thread_safe_unregister, this);
|
66
66
|
}
|
67
67
|
|
68
|
-
|
68
|
+
char * locate (const char * object_key) override;
|
69
69
|
|
70
70
|
private:
|
71
71
|
VALUE rb_locator_;
|
@@ -78,11 +78,10 @@ private:
|
|
78
78
|
ThreadSafeArg (R2taoLocator* loc,
|
79
79
|
const char * obj_key)
|
80
80
|
: locator_(loc),
|
81
|
-
object_key_(obj_key)
|
82
|
-
exception_ (false) {}
|
81
|
+
object_key_(obj_key) {}
|
83
82
|
R2taoLocator* locator_;
|
84
83
|
const char * object_key_;
|
85
|
-
bool exception_;
|
84
|
+
bool exception_ {};
|
86
85
|
};
|
87
86
|
|
88
87
|
static void* thread_safe_invoke (void * arg);
|
@@ -135,7 +134,7 @@ char* R2taoLocator::locate (const char * object_key)
|
|
135
134
|
if (tca_.exception_)
|
136
135
|
{
|
137
136
|
CORBA::SystemException* exc = reinterpret_cast<CORBA::SystemException*> (rc);
|
138
|
-
|
137
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(exc);
|
139
138
|
exc->_raise ();
|
140
139
|
return 0;
|
141
140
|
}
|
@@ -171,7 +170,7 @@ char* R2taoLocator::inner_locate (const char * object_key)
|
|
171
170
|
_exc->completed (
|
172
171
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
173
172
|
|
174
|
-
|
173
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
175
174
|
_exc->_raise ();
|
176
175
|
}
|
177
176
|
else
|
data/ext/librpoa/poa.cpp
CHANGED
@@ -11,7 +11,6 @@
|
|
11
11
|
#------------------------------------------------------------------*/
|
12
12
|
|
13
13
|
#include "poa.h"
|
14
|
-
#include "ace/Auto_Ptr.h"
|
15
14
|
#include "tao/DynamicInterface/Server_Request.h"
|
16
15
|
#include "tao/DynamicInterface/Dynamic_Implementation.h"
|
17
16
|
#include "tao/AnyTypeCode/Any.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
|
|
@@ -168,10 +168,8 @@ extern "C" R2TAO_POA_EXPORT void Init_librpoa()
|
|
168
168
|
class R2TAO_POA_BlockedRegionCallerBase
|
169
169
|
{
|
170
170
|
public:
|
171
|
-
R2TAO_POA_BlockedRegionCallerBase ()
|
172
|
-
|
173
|
-
corba_ex_ (0) {}
|
174
|
-
virtual ~R2TAO_POA_BlockedRegionCallerBase () R2CORBA_NO_EXCEPT_FALSE;
|
171
|
+
R2TAO_POA_BlockedRegionCallerBase () = default;
|
172
|
+
virtual ~R2TAO_POA_BlockedRegionCallerBase () noexcept(false);
|
175
173
|
|
176
174
|
VALUE call ();
|
177
175
|
|
@@ -182,17 +180,17 @@ protected:
|
|
182
180
|
|
183
181
|
virtual VALUE do_exec () = 0;
|
184
182
|
|
185
|
-
bool exception_;
|
186
|
-
CORBA::Exception* corba_ex_;
|
183
|
+
bool exception_ {};
|
184
|
+
CORBA::Exception* corba_ex_ {};
|
187
185
|
};
|
188
186
|
|
189
|
-
R2TAO_POA_BlockedRegionCallerBase::~R2TAO_POA_BlockedRegionCallerBase()
|
187
|
+
R2TAO_POA_BlockedRegionCallerBase::~R2TAO_POA_BlockedRegionCallerBase() noexcept(false)
|
190
188
|
{
|
191
189
|
if (this->exception_)
|
192
190
|
{
|
193
191
|
if (corba_ex_)
|
194
192
|
{
|
195
|
-
|
193
|
+
std::unique_ptr<CORBA::Exception> e_ptr(corba_ex_);
|
196
194
|
corba_ex_->_raise ();
|
197
195
|
}
|
198
196
|
else
|
@@ -265,8 +263,7 @@ VALUE r2tao_PS_string_to_ObjectId(VALUE /*self*/, VALUE string)
|
|
265
263
|
string = rb_check_convert_type(string, T_STRING, "String", "to_s");
|
266
264
|
R2TAO_TRY
|
267
265
|
{
|
268
|
-
PortableServer::ObjectId_var oid =
|
269
|
-
PortableServer::string_to_ObjectId (RSTRING_PTR (string));
|
266
|
+
PortableServer::ObjectId_var oid = PortableServer::string_to_ObjectId (RSTRING_PTR (string));
|
270
267
|
return r2tao_ObjectId_t2r (oid);
|
271
268
|
}
|
272
269
|
R2TAO_CATCH;
|
@@ -296,7 +293,7 @@ public:
|
|
296
293
|
R2TAO_POA_BlockedRegionCaller (PortableServer::POA_ptr _poa)
|
297
294
|
: poa_ (PortableServer::POA::_duplicate (_poa))
|
298
295
|
{}
|
299
|
-
|
296
|
+
~R2TAO_POA_BlockedRegionCaller () override = default;
|
300
297
|
|
301
298
|
protected:
|
302
299
|
//virtual VALUE do_exec () = 0;
|
@@ -323,7 +320,7 @@ public:
|
|
323
320
|
etherealize_ (_etherealize),
|
324
321
|
wait_for_completion_ (_wait_for_completion)
|
325
322
|
{}
|
326
|
-
|
323
|
+
~R2TAO_POA_BlockedDestroy () override = default;
|
327
324
|
|
328
325
|
protected:
|
329
326
|
virtual VALUE do_exec ();
|
@@ -427,14 +424,14 @@ public:
|
|
427
424
|
oid_ (oid),
|
428
425
|
with_id_ (true)
|
429
426
|
{}
|
430
|
-
|
427
|
+
~R2TAO_POA_BlockedActivateObject () override = default;
|
431
428
|
|
432
429
|
const PortableServer::ObjectId& oid () const { return this->oid_.in (); }
|
433
430
|
|
434
431
|
protected:
|
435
|
-
|
432
|
+
VALUE do_exec () override;
|
436
433
|
|
437
|
-
DSI_Servant* servant_;
|
434
|
+
DSI_Servant* servant_ {};
|
438
435
|
PortableServer::ObjectId_var oid_;
|
439
436
|
bool with_id_;
|
440
437
|
};
|
@@ -458,7 +455,7 @@ VALUE r2tao_POA_activate_object(VALUE self, VALUE servant)
|
|
458
455
|
{
|
459
456
|
PortableServer::POA_var _poa = r2tao_POA_r2t (self);
|
460
457
|
|
461
|
-
DSI_Servant* _servant;
|
458
|
+
DSI_Servant* _servant {};
|
462
459
|
if (DATA_PTR (servant) == 0)
|
463
460
|
{
|
464
461
|
_servant = new DSI_Servant (servant);
|
@@ -495,7 +492,7 @@ VALUE r2tao_POA_activate_object_with_id(VALUE self, VALUE oid, VALUE servant)
|
|
495
492
|
{
|
496
493
|
PortableServer::POA_var _poa = r2tao_POA_r2t (self);
|
497
494
|
|
498
|
-
DSI_Servant* _servant;
|
495
|
+
DSI_Servant* _servant {};
|
499
496
|
if (DATA_PTR (servant) == 0)
|
500
497
|
{
|
501
498
|
_servant = new DSI_Servant (servant);
|
@@ -533,10 +530,10 @@ public:
|
|
533
530
|
: R2TAO_POA_BlockedRegionCaller (_poa),
|
534
531
|
oid_ (oid)
|
535
532
|
{}
|
536
|
-
|
533
|
+
~R2TAO_POA_BlockedDeactivateObject () override = default;
|
537
534
|
|
538
535
|
protected:
|
539
|
-
|
536
|
+
VALUE do_exec () override;
|
540
537
|
|
541
538
|
PortableServer::ObjectId_var oid_;
|
542
539
|
};
|
@@ -877,7 +874,7 @@ public:
|
|
877
874
|
R2TAO_POAMan_BlockedRegionCaller (PortableServer::POAManager_ptr _poaman)
|
878
875
|
: poaman_ (PortableServer::POAManager::_duplicate (_poaman))
|
879
876
|
{}
|
880
|
-
|
877
|
+
~R2TAO_POAMan_BlockedRegionCaller () override = default;
|
881
878
|
|
882
879
|
protected:
|
883
880
|
//virtual VALUE do_exec () = 0;
|
@@ -891,10 +888,10 @@ public:
|
|
891
888
|
R2TAO_POAMan_BlockedActivate (PortableServer::POAManager_ptr _poaman)
|
892
889
|
: R2TAO_POAMan_BlockedRegionCaller (_poaman)
|
893
890
|
{}
|
894
|
-
|
891
|
+
~R2TAO_POAMan_BlockedActivate () override = default;
|
895
892
|
|
896
893
|
protected:
|
897
|
-
|
894
|
+
VALUE do_exec () override;
|
898
895
|
};
|
899
896
|
|
900
897
|
VALUE R2TAO_POAMan_BlockedActivate::do_exec ()
|
@@ -929,10 +926,10 @@ public:
|
|
929
926
|
: R2TAO_POAMan_BlockedRegionCaller (_poaman),
|
930
927
|
wait_for_completion_ (_wait_for_completion)
|
931
928
|
{}
|
932
|
-
|
929
|
+
~R2TAO_POAMan_BlockedHoldReq () override = default;
|
933
930
|
|
934
931
|
protected:
|
935
|
-
|
932
|
+
VALUE do_exec () override;
|
936
933
|
|
937
934
|
bool wait_for_completion_;
|
938
935
|
};
|
@@ -969,12 +966,12 @@ public:
|
|
969
966
|
: R2TAO_POAMan_BlockedRegionCaller (_poaman),
|
970
967
|
wait_for_completion_ (_wait_for_completion)
|
971
968
|
{}
|
972
|
-
|
969
|
+
~R2TAO_POAMan_BlockedDiscardReq () override = default;
|
973
970
|
|
974
971
|
protected:
|
975
|
-
|
972
|
+
VALUE do_exec () override;
|
976
973
|
|
977
|
-
bool wait_for_completion_;
|
974
|
+
bool const wait_for_completion_;
|
978
975
|
};
|
979
976
|
|
980
977
|
VALUE R2TAO_POAMan_BlockedDiscardReq::do_exec ()
|
@@ -1010,13 +1007,13 @@ public:
|
|
1010
1007
|
etherealize_ (_etherealize),
|
1011
1008
|
wait_for_completion_ (_wait_for_completion)
|
1012
1009
|
{}
|
1013
|
-
|
1010
|
+
~R2TAO_POAMan_BlockedDeactivate () override = default;
|
1014
1011
|
|
1015
1012
|
protected:
|
1016
|
-
|
1013
|
+
VALUE do_exec () override;
|
1017
1014
|
|
1018
|
-
bool etherealize_;
|
1019
|
-
bool wait_for_completion_;
|
1015
|
+
bool const etherealize_;
|
1016
|
+
bool const wait_for_completion_;
|
1020
1017
|
};
|
1021
1018
|
|
1022
1019
|
VALUE R2TAO_POAMan_BlockedDeactivate::do_exec ()
|
data/ext/librpoa/servant.cpp
CHANGED
@@ -11,7 +11,6 @@
|
|
11
11
|
#------------------------------------------------------------------*/
|
12
12
|
|
13
13
|
#include "poa.h"
|
14
|
-
#include "ace/Auto_Ptr.h"
|
15
14
|
#include "tao/DynamicInterface/Server_Request.h"
|
16
15
|
#include "tao/DynamicInterface/Dynamic_Implementation.h"
|
17
16
|
#include "tao/AnyTypeCode/Any.h"
|
@@ -25,10 +24,8 @@
|
|
25
24
|
#include "exception.h"
|
26
25
|
#include "orb.h"
|
27
26
|
#include "servant.h"
|
28
|
-
|
29
|
-
#
|
30
|
-
# include "srvreq_fix.cpp"
|
31
|
-
#endif
|
27
|
+
#include <memory>
|
28
|
+
#include <cstring>
|
32
29
|
|
33
30
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
34
31
|
|
@@ -74,7 +71,7 @@ void r2tao_init_Servant()
|
|
74
71
|
VALUE klass;
|
75
72
|
|
76
73
|
r2tao_cServant = klass = rb_eval_string("::R2CORBA::PortableServer::Servant");
|
77
|
-
rb_define_alloc_func (r2tao_cServant,
|
74
|
+
rb_define_alloc_func (r2tao_cServant, srv_alloc);
|
78
75
|
rb_define_method(klass, "_default_POA", RUBY_METHOD_FUNC(r2tao_Servant_default_POA), 0);
|
79
76
|
rb_define_method(klass, "_this", RUBY_METHOD_FUNC(r2tao_Servant_this), 0);
|
80
77
|
|
@@ -98,6 +95,7 @@ void r2tao_init_Servant()
|
|
98
95
|
interface_repository_id_ID = rb_intern ("_interface_repository_id");
|
99
96
|
|
100
97
|
r2tao_cDynamicImp = klass = rb_eval_string("::R2CORBA::PortableServer::DynamicImplementation");
|
98
|
+
rb_define_alloc_func (r2tao_cDynamicImp, srv_alloc);
|
101
99
|
|
102
100
|
invoke_ID = rb_intern ("invoke");
|
103
101
|
primary_interface_ID = rb_intern ("_primary_interface");
|
@@ -113,15 +111,15 @@ void r2tao_init_Servant()
|
|
113
111
|
//===================================================================
|
114
112
|
|
115
113
|
struct DSI_Data {
|
116
|
-
|
114
|
+
CORBA::ServerRequest_ptr _request;
|
117
115
|
CORBA::NVList_ptr _nvlist;
|
118
116
|
CORBA::TypeCode_var _result_type;
|
119
117
|
VALUE _rData;
|
120
118
|
|
121
|
-
DSI_Data(
|
122
|
-
: _request(_req), _nvlist(
|
119
|
+
DSI_Data(CORBA::ServerRequest_ptr _req)
|
120
|
+
: _request(_req), _nvlist(nullptr), _rData(Qnil) {}
|
123
121
|
~DSI_Data() {
|
124
|
-
if (this->_rData!=Qnil) { DATA_PTR(this->_rData) =
|
122
|
+
if (this->_rData!=Qnil) { DATA_PTR(this->_rData) = nullptr; }
|
125
123
|
}
|
126
124
|
};
|
127
125
|
|
@@ -134,7 +132,7 @@ VALUE r2tao_ServerRequest_operation(VALUE self)
|
|
134
132
|
{
|
135
133
|
if (DATA_PTR (self) != 0)
|
136
134
|
{
|
137
|
-
|
135
|
+
CORBA::ServerRequest_ptr request = static_cast<DSI_Data*> (DATA_PTR (self))->_request;
|
138
136
|
return rb_str_new2 (request->operation ());
|
139
137
|
}
|
140
138
|
return Qnil;
|
@@ -152,7 +150,7 @@ VALUE r2tao_ServerRequest_describe(VALUE self, VALUE desc)
|
|
152
150
|
X_CORBA (BAD_INV_ORDER);
|
153
151
|
}
|
154
152
|
|
155
|
-
|
153
|
+
CORBA::ServerRequest_ptr request = dsi_data->_request;
|
156
154
|
|
157
155
|
if (desc != Qnil && rb_type (desc) == T_HASH)
|
158
156
|
{
|
@@ -289,11 +287,11 @@ VALUE r2tao_ServerRequest_get(VALUE self, VALUE key)
|
|
289
287
|
if (rb_obj_is_kind_of (key, rb_cString) == Qtrue)
|
290
288
|
{
|
291
289
|
char* arg_name = RSTRING_PTR (key);
|
292
|
-
CORBA::ULong arg_num = dsi_data->_nvlist->count ();
|
293
|
-
for (CORBA::ULong ix=0; ix<arg_num ;++ix)
|
290
|
+
CORBA::ULong const arg_num = dsi_data->_nvlist->count ();
|
291
|
+
for (CORBA::ULong ix=0; ix < arg_num ;++ix)
|
294
292
|
{
|
295
293
|
CORBA::NamedValue_ptr _nv = dsi_data->_nvlist->item (ix);
|
296
|
-
if (_nv->name () &&
|
294
|
+
if (_nv->name () && std::strcmp (arg_name, _nv->name ()) == 0)
|
297
295
|
{
|
298
296
|
R2TAO_TRY
|
299
297
|
{
|
@@ -343,11 +341,11 @@ VALUE r2tao_ServerRequest_set(VALUE self, VALUE key, VALUE val)
|
|
343
341
|
if (rb_obj_is_kind_of (key, rb_cString) == Qtrue)
|
344
342
|
{
|
345
343
|
char* arg_name = RSTRING_PTR (key);
|
346
|
-
CORBA::ULong arg_num = dsi_data->_nvlist->count ();
|
347
|
-
for (CORBA::ULong ix=0; ix<arg_num ;++ix)
|
344
|
+
CORBA::ULong const arg_num = dsi_data->_nvlist->count ();
|
345
|
+
for (CORBA::ULong ix = 0; ix < arg_num ;++ix)
|
348
346
|
{
|
349
347
|
CORBA::NamedValue_ptr _nv = dsi_data->_nvlist->item (ix);
|
350
|
-
if (_nv->name () &&
|
348
|
+
if (_nv->name () && std::strcmp (arg_name, _nv->name ()) == 0)
|
351
349
|
{
|
352
350
|
R2TAO_TRY
|
353
351
|
{
|
@@ -483,87 +481,20 @@ VALUE DSI_Servant::_invoke_implementation(VALUE args)
|
|
483
481
|
|
484
482
|
DSI_Servant::METHOD DSI_Servant::method_id (const char* method)
|
485
483
|
{
|
486
|
-
if (
|
484
|
+
if (std::strcmp (method, "_is_a") == 0)
|
487
485
|
return IS_A;
|
488
|
-
else if (
|
486
|
+
else if (std::strcmp (method, "_repository_id") == 0)
|
489
487
|
return REPOSITORY_ID;
|
490
|
-
else if (
|
488
|
+
else if (std::strcmp (method, "_non_existent") == 0)
|
491
489
|
return NON_EXISTENT;
|
492
|
-
else if (
|
490
|
+
else if (std::strcmp (method, "_component") == 0)
|
493
491
|
return GET_COMPONENT;
|
494
|
-
else if (
|
492
|
+
else if (std::strcmp (method, "_interface") == 0)
|
495
493
|
return GET_INTERFACE;
|
496
494
|
|
497
495
|
return NONE;
|
498
496
|
}
|
499
497
|
|
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
498
|
// invocation helper for threadsafe calling of Ruby code
|
568
499
|
void* DSI_Servant::thread_safe_invoke (void * arg)
|
569
500
|
{
|
@@ -581,24 +512,20 @@ void* DSI_Servant::thread_safe_invoke (void * arg)
|
|
581
512
|
return 0;
|
582
513
|
}
|
583
514
|
|
584
|
-
# if RPOA_NEED_DSI_FIX
|
585
|
-
void DSI_Servant::invoke_fix (R2CORBA::ServerRequest_ptr request)
|
586
|
-
# else
|
587
515
|
void DSI_Servant::invoke (CORBA::ServerRequest_ptr request)
|
588
|
-
# endif
|
589
516
|
{
|
590
517
|
ThreadSafeArg tca_(this, request);
|
591
518
|
|
592
519
|
void* rc = r2tao_call_thread_safe (DSI_Servant::thread_safe_invoke, &tca_);
|
593
|
-
if (rc !=
|
520
|
+
if (rc != nullptr)
|
594
521
|
{
|
595
522
|
CORBA::SystemException* exc = reinterpret_cast<CORBA::SystemException*> (rc);
|
596
|
-
|
523
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(exc);
|
597
524
|
exc->_raise ();
|
598
525
|
}
|
599
526
|
}
|
600
527
|
|
601
|
-
void DSI_Servant::inner_invoke (
|
528
|
+
void DSI_Servant::inner_invoke (CORBA::ServerRequest_ptr request)
|
602
529
|
{
|
603
530
|
if (TAO_debug_level > 7)
|
604
531
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke(%C)\n", request->operation ()));
|
@@ -628,13 +555,13 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
628
555
|
// set ORB arguments (retrieves data for IN/INOUT args)
|
629
556
|
request->arguments (nvlist);
|
630
557
|
|
631
|
-
const char *tmp =
|
558
|
+
const char *tmp = nullptr;
|
632
559
|
(*_nv->value ()) >>= tmp;
|
633
560
|
|
634
561
|
f = this->_is_a (tmp);
|
635
562
|
|
636
563
|
if (TAO_debug_level > 5)
|
637
|
-
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _is_a (%
|
564
|
+
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _is_a (%C) -> %d\n", tmp, f));
|
638
565
|
}
|
639
566
|
else
|
640
567
|
{
|
@@ -663,7 +590,7 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
663
590
|
CORBA::String_var repo_id = this->_repository_id ();
|
664
591
|
|
665
592
|
if (TAO_debug_level > 5)
|
666
|
-
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _repository_id () -> %
|
593
|
+
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) _repository_id () -> %C\n", repo_id.in ()));
|
667
594
|
|
668
595
|
CORBA::Any _any;
|
669
596
|
_any <<= repo_id.in ();
|
@@ -700,13 +627,13 @@ void DSI_Servant::inner_invoke (R2CORBA_ServerRequest_ptr request)
|
|
700
627
|
}
|
701
628
|
}
|
702
629
|
|
703
|
-
void DSI_Servant::invoke_DSI (
|
630
|
+
void DSI_Servant::invoke_DSI (CORBA::ServerRequest_ptr request)
|
704
631
|
{
|
705
632
|
if (TAO_debug_level > 5)
|
706
633
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke_DSI(%C) entry\n", request->operation ()));
|
707
634
|
|
708
635
|
// wrap request for Ruby; cleanup automatically
|
709
|
-
|
636
|
+
std::unique_ptr<DSI_Data> dsi_data(new DSI_Data(request));
|
710
637
|
|
711
638
|
VALUE srvreq = Data_Wrap_Struct(r2tao_cServerRequest, 0, 0, dsi_data.get ());
|
712
639
|
|
@@ -752,7 +679,7 @@ void DSI_Servant::invoke_DSI (R2CORBA_ServerRequest_ptr request)
|
|
752
679
|
_exc->completed (
|
753
680
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
754
681
|
|
755
|
-
|
682
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
756
683
|
_exc->_raise ();
|
757
684
|
}
|
758
685
|
else
|
@@ -825,7 +752,7 @@ void DSI_Servant::invoke_DSI (R2CORBA_ServerRequest_ptr request)
|
|
825
752
|
}
|
826
753
|
}
|
827
754
|
|
828
|
-
void DSI_Servant::invoke_SI (
|
755
|
+
void DSI_Servant::invoke_SI (CORBA::ServerRequest_ptr request)
|
829
756
|
{
|
830
757
|
if (TAO_debug_level > 5)
|
831
758
|
ACE_DEBUG ((LM_INFO, "R2TAO (%P|%t) - Servant::invoke_SI(%C) entry\n", request->operation ()));
|
@@ -985,7 +912,7 @@ void DSI_Servant::invoke_SI (R2CORBA_ServerRequest_ptr request)
|
|
985
912
|
_exc->completed (
|
986
913
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
987
914
|
|
988
|
-
|
915
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
989
916
|
_exc->_raise ();
|
990
917
|
}
|
991
918
|
else
|
@@ -1097,7 +1024,7 @@ CORBA::Boolean DSI_Servant::_is_a (const char *logical_type_id)
|
|
1097
1024
|
}
|
1098
1025
|
}
|
1099
1026
|
|
1100
|
-
CORBA::Boolean DSI_Servant::_non_existent (
|
1027
|
+
CORBA::Boolean DSI_Servant::_non_existent ()
|
1101
1028
|
{
|
1102
1029
|
static R2TAO_RBFuncall FN_non_existent ("_non_existent?");
|
1103
1030
|
|
@@ -1113,7 +1040,7 @@ CORBA::Boolean DSI_Servant::_non_existent (void)
|
|
1113
1040
|
}
|
1114
1041
|
}
|
1115
1042
|
|
1116
|
-
CORBA::Object_ptr DSI_Servant::_get_component (
|
1043
|
+
CORBA::Object_ptr DSI_Servant::_get_component ()
|
1117
1044
|
{
|
1118
1045
|
static R2TAO_RBFuncall FN_get_component ("_get_component");
|
1119
1046
|
|
@@ -1131,7 +1058,7 @@ CORBA::Object_ptr DSI_Servant::_get_component (void)
|
|
1131
1058
|
}
|
1132
1059
|
}
|
1133
1060
|
|
1134
|
-
const char *DSI_Servant::_interface_repository_id (
|
1061
|
+
const char *DSI_Servant::_interface_repository_id () const
|
1135
1062
|
{
|
1136
1063
|
static R2TAO_RBFuncall FN_repository_id ("_repository_id");
|
1137
1064
|
|
@@ -1179,7 +1106,7 @@ const char *DSI_Servant::_interface_repository_id (void) const
|
|
1179
1106
|
}
|
1180
1107
|
}
|
1181
1108
|
|
1182
|
-
char * DSI_Servant::_repository_id (
|
1109
|
+
char * DSI_Servant::_repository_id ()
|
1183
1110
|
{
|
1184
1111
|
return CORBA::string_dup (this->_interface_repository_id ());
|
1185
1112
|
}
|
@@ -1243,7 +1170,7 @@ VALUE r2tao_Servant_default_POA(VALUE self)
|
|
1243
1170
|
{
|
1244
1171
|
R2TAO_TRY
|
1245
1172
|
{
|
1246
|
-
DSI_Servant* _servant;
|
1173
|
+
DSI_Servant* _servant {};
|
1247
1174
|
if (DATA_PTR (self) == 0)
|
1248
1175
|
{
|
1249
1176
|
// create new C++ servant object
|
@@ -1269,7 +1196,7 @@ VALUE r2tao_Servant_this(VALUE self)
|
|
1269
1196
|
R2TAO_TRY
|
1270
1197
|
{
|
1271
1198
|
bool _new_srv = false;
|
1272
|
-
DSI_Servant* _servant;
|
1199
|
+
DSI_Servant* _servant {};
|
1273
1200
|
if (DATA_PTR (self) == 0)
|
1274
1201
|
{
|
1275
1202
|
// create new C++ servant object
|
@@ -1321,9 +1248,8 @@ VALUE r2tao_Servant_this(VALUE self)
|
|
1321
1248
|
static VALUE
|
1322
1249
|
srv_alloc(VALUE klass)
|
1323
1250
|
{
|
1324
|
-
VALUE obj;
|
1325
1251
|
// we start off without the C++ representation
|
1326
|
-
obj = Data_Wrap_Struct(klass,
|
1252
|
+
VALUE obj = Data_Wrap_Struct(klass, nullptr, srv_free, nullptr);
|
1327
1253
|
return obj;
|
1328
1254
|
}
|
1329
1255
|
|