r2corba 1.5.5 → 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/ext/libr2tao/any.cpp +11 -10
- data/ext/libr2tao/exception.cpp +6 -8
- data/ext/libr2tao/exception.h +1 -1
- data/ext/libr2tao/longdouble.cpp +5 -9
- data/ext/libr2tao/object.cpp +33 -49
- data/ext/libr2tao/orb.cpp +38 -65
- data/ext/libr2tao/r2tao_ext.h +8 -7
- data/ext/libr2tao/required.cpp +1 -6
- data/ext/libr2tao/required.h +9 -23
- data/ext/libr2tao/values.cpp +92 -93
- data/ext/libr2tao/values.h +28 -30
- data/ext/librpoa/iortable.cpp +3 -4
- data/ext/librpoa/poa.cpp +22 -25
- data/ext/librpoa/servant.cpp +24 -23
- data/ext/librpoa/servant.h +10 -10
- data/lib/corba.rb +1 -1
- data/lib/corba/cbase/ORB.rb +19 -16
- data/lib/corba/cbase/Request.rb +3 -3
- data/lib/corba/cbase/Values.rb +4 -2
- data/lib/corba/cbase/exception.rb +4 -2
- data/lib/corba/cbase/poa.rb +1 -1
- data/lib/corba/cbase/policies.rb +1 -1
- data/lib/corba/cbase/require.rb +8 -1
- data/lib/corba/common/Any.rb +2 -1
- data/lib/corba/common/IDL.rb +1 -1
- data/lib/corba/common/ORB.rb +21 -21
- data/lib/corba/common/Object.rb +14 -13
- data/lib/corba/common/Servant.rb +4 -4
- data/lib/corba/common/Stub.rb +6 -6
- data/lib/corba/common/Typecode.rb +35 -8
- data/lib/corba/common/Union.rb +5 -0
- data/lib/corba/common/Values.rb +1 -0
- data/lib/corba/common/const.rb +1 -1
- data/lib/corba/common/exception.rb +2 -1
- data/lib/corba/common/version.rb +2 -2
- data/lib/corba/idl/IDL.rb +1 -1
- data/lib/corba/jbase/Any.rb +6 -4
- data/lib/corba/jbase/ORB.rb +2 -2
- data/lib/corba/jbase/Object.rb +13 -13
- data/lib/corba/jbase/Request.rb +3 -3
- data/lib/corba/jbase/Streams.rb +64 -0
- data/lib/corba/jbase/Typecode.rb +3 -2
- data/lib/corba/jbase/Values.rb +2 -0
- data/lib/corba/jbase/exception.rb +1 -0
- data/lib/corba/jbase/poa.rb +18 -18
- data/lib/corba/jbase/policies.rb +29 -29
- data/lib/corba/jbase/require.rb +4 -0
- data/lib/corba/svcs/ins/cos_naming.rb +10 -1
- data/lib/corba/svcs/ins/ins.rb +45 -45
- data/lib/corba/svcs/ins/naming_service.rb +6 -6
- data/lib/ridlbe/ruby/config.rb +27 -20
- data/lib/ridlbe/ruby/walker.rb +276 -253
- data/mkrf_conf_srcgem.rb +2 -2
- data/rakelib/build.rake +1 -1
- data/rakelib/config.rake +1 -1
- data/rakelib/config.rb +9 -9
- data/rakelib/ext.rake +6 -65
- data/rakelib/ext_r2tao.rb +2 -39
- data/rakelib/gem.rake +20 -20
- data/rakelib/gem.rb +1 -1
- data/rakelib/package.rake +1 -1
- data/test/BiDirectional/client.rb +16 -16
- data/test/BiDirectional/run_test.rb +10 -10
- data/test/BiDirectional/server.rb +20 -20
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +14 -14
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +12 -12
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +17 -17
- data/test/CORBA_Services/Naming/Corbaname/client.rb +14 -14
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +12 -12
- data/test/CORBA_Services/Naming/Corbaname/server.rb +20 -20
- data/test/CORBA_Services/Naming/Simple/client.rb +14 -14
- data/test/CORBA_Services/Naming/Simple/run_test.rb +12 -12
- data/test/CORBA_Services/Naming/Simple/server.rb +17 -17
- data/test/Collocation/run_test.rb +10 -10
- data/test/Collocation/test.rb +26 -19
- data/test/Connect_Timeout/client.rb +15 -15
- data/test/Connect_Timeout/run_test.rb +10 -10
- data/test/DII/client.rb +27 -27
- data/test/DII/run_test.rb +10 -10
- data/test/DII/server.rb +15 -15
- data/test/DSI/client.rb +15 -15
- data/test/DSI/run_test.rb +10 -10
- data/test/DSI/server.rb +16 -16
- data/test/Exceptions/client.rb +19 -19
- data/test/Exceptions/run_test.rb +10 -10
- data/test/Exceptions/server.rb +15 -15
- data/test/Hello/client.rb +15 -15
- data/test/Hello/run_test.rb +10 -10
- data/test/Hello/server.rb +16 -16
- data/test/IDL_Test/client.rb +20 -20
- data/test/IDL_Test/run_test.rb +10 -10
- data/test/IDL_Test/server.rb +18 -18
- data/test/IORMap/client.rb +14 -14
- data/test/IORMap/run_test.rb +10 -10
- data/test/IORMap/server.rb +22 -22
- data/test/IORTable/client.rb +14 -14
- data/test/IORTable/run_test.rb +10 -10
- data/test/IORTable/server.rb +22 -22
- data/test/Implicit_Conversion/client.rb +19 -16
- data/test/Implicit_Conversion/run_test.rb +10 -10
- data/test/Implicit_Conversion/server.rb +15 -15
- data/test/Multi_Threading/Multiple_ORB/client.rb +13 -13
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +10 -10
- data/test/Multi_Threading/Multiple_ORB/server.rb +16 -16
- data/test/Multi_Threading/Simple/client.rb +15 -15
- data/test/Multi_Threading/Simple/run_test.rb +10 -10
- data/test/Multi_Threading/Simple/server.rb +15 -15
- data/test/Multi_Threading/Threads/client.rb +15 -15
- data/test/Multi_Threading/Threads/run_test.rb +10 -10
- data/test/Multi_Threading/Threads/server.rb +17 -17
- data/test/Multi_Threading/Threads/watchdog.rb +15 -15
- data/test/Multiple_Servant_Interfaces/client.rb +13 -13
- data/test/Multiple_Servant_Interfaces/run_test.rb +10 -10
- data/test/Multiple_Servant_Interfaces/server.rb +17 -17
- data/test/Nil/run_test.rb +10 -10
- data/test/Nil/test.rb +13 -13
- data/test/OBV/AbstractInterface/client.rb +13 -13
- data/test/OBV/AbstractInterface/run_test.rb +10 -10
- data/test/OBV/AbstractInterface/server.rb +19 -18
- data/test/OBV/Custom/OBV_impl.rb +2 -0
- data/test/OBV/Custom/client.rb +13 -13
- data/test/OBV/Custom/run_test.rb +10 -10
- data/test/OBV/Custom/server.rb +15 -15
- data/test/OBV/Simple/OBV_impl.rb +1 -0
- data/test/OBV/Simple/client.rb +13 -13
- data/test/OBV/Simple/run_test.rb +10 -10
- data/test/OBV/Simple/server.rb +15 -15
- data/test/OBV/Simple_Event/Event_impl.rb +1 -0
- data/test/OBV/Simple_Event/client.rb +13 -13
- data/test/OBV/Simple_Event/run_test.rb +10 -10
- data/test/OBV/Simple_Event/server.rb +15 -15
- data/test/OBV/Supports/client.rb +18 -18
- data/test/OBV/Supports/run_test.rb +10 -10
- data/test/OBV/Supports/server.rb +14 -14
- data/test/OBV/Supports/supports_impl.rb +3 -0
- data/test/OBV/Tree/client.rb +13 -13
- data/test/OBV/Tree/run_test.rb +10 -10
- data/test/OBV/Tree/server.rb +18 -18
- data/test/OBV/Truncatable/client.rb +56 -56
- data/test/OBV/Truncatable/run_test.rb +10 -10
- data/test/OBV/Truncatable/server.rb +14 -14
- data/test/OBV/ValueBox/client.rb +148 -147
- data/test/OBV/ValueBox/run_test.rb +10 -10
- data/test/OBV/ValueBox/server.rb +15 -15
- data/test/Object/client.rb +13 -13
- data/test/Object/run_test.rb +10 -10
- data/test/Object/server.rb +18 -18
- data/test/POA/run_test.rb +10 -10
- data/test/POA/test.rb +15 -15
- data/test/Param_Test/client.rb +47 -47
- data/test/Param_Test/run_test.rb +10 -10
- data/test/Param_Test/server.rb +55 -55
- data/test/Performance/Simple/client.rb +15 -15
- data/test/Performance/Simple/run_test.rb +10 -10
- data/test/Performance/Simple/server.rb +15 -15
- data/test/Policies/run_test.rb +10 -10
- data/test/Policies/test.rb +23 -23
- data/test/Timeout/client.rb +17 -17
- data/test/Timeout/run_test.rb +10 -10
- data/test/Timeout/server.rb +18 -18
- data/test/lib/test.rb +13 -7
- data/test/test_runner.rb +19 -19
- metadata +4 -5
- data/ext/extload/extload.c +0 -59
data/ext/libr2tao/values.h
CHANGED
@@ -79,33 +79,33 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
79
79
|
{
|
80
80
|
public:
|
81
81
|
R2TAO_Value (VALUE rbValue, bool for_unmarshal=false);
|
82
|
-
|
82
|
+
~R2TAO_Value () override;
|
83
83
|
|
84
84
|
virtual CORBA::ValueBase* _copy_value ();
|
85
85
|
|
86
86
|
static void _tao_any_destructor (void *);
|
87
87
|
|
88
|
-
|
88
|
+
void truncation_hook () override;
|
89
89
|
|
90
90
|
static R2TAO_Value* _downcast (::CORBA::ValueBase *v);
|
91
91
|
|
92
|
-
|
92
|
+
CORBA::TypeCode_ptr _tao_type () const override;
|
93
93
|
|
94
94
|
/// Return the repository id of this valuetype.
|
95
|
-
|
95
|
+
const char * _tao_obv_repository_id () const override;
|
96
96
|
|
97
97
|
/// Give the list of the RepositoryIds in the valuetype "truncatable"
|
98
98
|
/// inheritance hierarchy. List the id of this valuetype as first
|
99
99
|
/// RepositoryID and go up the "truncatable" derivation hierarchy.
|
100
100
|
/// Note the truncatable repo ids only list the truncatable base types
|
101
101
|
/// to which this type is safe to truncate, not all its parents.
|
102
|
-
|
102
|
+
void _tao_obv_truncatable_repo_ids (Repository_Id_List &) const override;
|
103
103
|
|
104
|
-
|
105
|
-
|
104
|
+
::CORBA::Boolean _tao_marshal_v (TAO_OutputCDR &) const override;
|
105
|
+
::CORBA::Boolean _tao_unmarshal_v (TAO_InputCDR &) override;
|
106
106
|
|
107
107
|
// always return false -> i.e. always marshal type Id
|
108
|
-
|
108
|
+
::CORBA::Boolean _tao_match_formal_type (ptrdiff_t ) const override;
|
109
109
|
|
110
110
|
VALUE get_ruby_value () const { return this->rbValue_; }
|
111
111
|
|
@@ -124,15 +124,15 @@ class R2TAO_Value : public ::CORBA::DefaultValueRefCountBase
|
|
124
124
|
private:
|
125
125
|
typedef ACE_Array_Base<CORBA::Any*> ChunkElements;
|
126
126
|
struct Chunk {
|
127
|
-
Chunk ()
|
127
|
+
Chunk () = default;
|
128
128
|
~Chunk() {
|
129
129
|
for (ChunkElements::size_type i=0; i<this->elems_.size () ;++i)
|
130
130
|
{ delete this->elems_[i]; }
|
131
131
|
delete this->next_;
|
132
|
-
this->next_ =
|
132
|
+
this->next_ = nullptr;
|
133
133
|
}
|
134
134
|
ChunkElements elems_;
|
135
|
-
Chunk* next_;
|
135
|
+
Chunk* next_ {};
|
136
136
|
};
|
137
137
|
|
138
138
|
void init ();
|
@@ -176,11 +176,9 @@ class R2TAO_ValueFactory
|
|
176
176
|
|
177
177
|
static R2TAO_ValueFactory* _downcast ( ::CORBA::ValueFactoryBase *);
|
178
178
|
|
179
|
-
|
180
|
-
create_for_unmarshal ();
|
179
|
+
::CORBA::ValueBase *create_for_unmarshal () override;
|
181
180
|
|
182
|
-
|
183
|
-
create_for_unmarshal_abstract ();
|
181
|
+
::CORBA::AbstractBase_ptr create_for_unmarshal_abstract () override;
|
184
182
|
|
185
183
|
// TAO-specific extensions
|
186
184
|
virtual const char* tao_repository_id ();
|
@@ -188,7 +186,7 @@ class R2TAO_ValueFactory
|
|
188
186
|
VALUE get_ruby_factory () { return this->rbValueFactory_; }
|
189
187
|
|
190
188
|
protected:
|
191
|
-
|
189
|
+
~R2TAO_ValueFactory () override;
|
192
190
|
|
193
191
|
private:
|
194
192
|
VALUE rbValueFactory_;
|
@@ -230,7 +228,7 @@ class R2TAO_AbstractValue :
|
|
230
228
|
R2TAO_AbstractValue (VALUE rbValue,
|
231
229
|
CORBA::TypeCode_ptr abs_tc);
|
232
230
|
R2TAO_AbstractValue (VALUE rbValue); // for unmarshaling only
|
233
|
-
|
231
|
+
~R2TAO_AbstractValue () override;
|
234
232
|
|
235
233
|
static void _tao_any_destructor (void *);
|
236
234
|
|
@@ -238,14 +236,14 @@ class R2TAO_AbstractValue :
|
|
238
236
|
|
239
237
|
static R2TAO_AbstractValue* _downcast ( ::CORBA::ValueBase *v);
|
240
238
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
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;
|
245
243
|
|
246
|
-
|
247
|
-
|
248
|
-
|
244
|
+
void _add_ref () override;
|
245
|
+
void _remove_ref () override;
|
246
|
+
::CORBA::ValueBase *_tao_to_value () override;
|
249
247
|
|
250
248
|
CORBA::TypeCode_ptr abstract_type () const;
|
251
249
|
|
@@ -304,7 +302,7 @@ class R2TAO_AbstractObject :
|
|
304
302
|
public:
|
305
303
|
R2TAO_AbstractObject (CORBA::Object_ptr objref,
|
306
304
|
CORBA::TypeCode_ptr abs_tc);
|
307
|
-
|
305
|
+
~R2TAO_AbstractObject () override;
|
308
306
|
|
309
307
|
static void _tao_any_destructor (void *);
|
310
308
|
|
@@ -312,12 +310,12 @@ class R2TAO_AbstractObject :
|
|
312
310
|
|
313
311
|
static void _tao_release (R2TAO_AbstractObject_ptr obj);
|
314
312
|
|
315
|
-
|
316
|
-
|
313
|
+
void _add_ref () override;
|
314
|
+
void _remove_ref () override;
|
317
315
|
|
318
|
-
|
319
|
-
|
320
|
-
|
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;
|
321
319
|
|
322
320
|
CORBA::TypeCode_ptr abstract_type () const;
|
323
321
|
|
data/ext/librpoa/iortable.cpp
CHANGED
@@ -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);
|
data/ext/librpoa/poa.cpp
CHANGED
@@ -168,9 +168,7 @@ extern "C" R2TAO_POA_EXPORT void Init_librpoa()
|
|
168
168
|
class R2TAO_POA_BlockedRegionCallerBase
|
169
169
|
{
|
170
170
|
public:
|
171
|
-
R2TAO_POA_BlockedRegionCallerBase ()
|
172
|
-
: exception_ (false),
|
173
|
-
corba_ex_ (0) {}
|
171
|
+
R2TAO_POA_BlockedRegionCallerBase () = default;
|
174
172
|
virtual ~R2TAO_POA_BlockedRegionCallerBase () noexcept(false);
|
175
173
|
|
176
174
|
VALUE call ();
|
@@ -182,8 +180,8 @@ 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
187
|
R2TAO_POA_BlockedRegionCallerBase::~R2TAO_POA_BlockedRegionCallerBase() noexcept(false)
|
@@ -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,10 +966,10 @@ 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
974
|
bool const wait_for_completion_;
|
978
975
|
};
|
@@ -1010,10 +1007,10 @@ 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
1015
|
bool const etherealize_;
|
1019
1016
|
bool const wait_for_completion_;
|
data/ext/librpoa/servant.cpp
CHANGED
@@ -25,6 +25,7 @@
|
|
25
25
|
#include "orb.h"
|
26
26
|
#include "servant.h"
|
27
27
|
#include <memory>
|
28
|
+
#include <cstring>
|
28
29
|
|
29
30
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
30
31
|
|
@@ -70,7 +71,7 @@ void r2tao_init_Servant()
|
|
70
71
|
VALUE klass;
|
71
72
|
|
72
73
|
r2tao_cServant = klass = rb_eval_string("::R2CORBA::PortableServer::Servant");
|
73
|
-
rb_define_alloc_func (r2tao_cServant,
|
74
|
+
rb_define_alloc_func (r2tao_cServant, srv_alloc);
|
74
75
|
rb_define_method(klass, "_default_POA", RUBY_METHOD_FUNC(r2tao_Servant_default_POA), 0);
|
75
76
|
rb_define_method(klass, "_this", RUBY_METHOD_FUNC(r2tao_Servant_this), 0);
|
76
77
|
|
@@ -94,6 +95,7 @@ void r2tao_init_Servant()
|
|
94
95
|
interface_repository_id_ID = rb_intern ("_interface_repository_id");
|
95
96
|
|
96
97
|
r2tao_cDynamicImp = klass = rb_eval_string("::R2CORBA::PortableServer::DynamicImplementation");
|
98
|
+
rb_define_alloc_func (r2tao_cDynamicImp, srv_alloc);
|
97
99
|
|
98
100
|
invoke_ID = rb_intern ("invoke");
|
99
101
|
primary_interface_ID = rb_intern ("_primary_interface");
|
@@ -115,9 +117,9 @@ struct DSI_Data {
|
|
115
117
|
VALUE _rData;
|
116
118
|
|
117
119
|
DSI_Data(CORBA::ServerRequest_ptr _req)
|
118
|
-
: _request(_req), _nvlist(
|
120
|
+
: _request(_req), _nvlist(nullptr), _rData(Qnil) {}
|
119
121
|
~DSI_Data() {
|
120
|
-
if (this->_rData!=Qnil) { DATA_PTR(this->_rData) =
|
122
|
+
if (this->_rData!=Qnil) { DATA_PTR(this->_rData) = nullptr; }
|
121
123
|
}
|
122
124
|
};
|
123
125
|
|
@@ -285,11 +287,11 @@ VALUE r2tao_ServerRequest_get(VALUE self, VALUE key)
|
|
285
287
|
if (rb_obj_is_kind_of (key, rb_cString) == Qtrue)
|
286
288
|
{
|
287
289
|
char* arg_name = RSTRING_PTR (key);
|
288
|
-
CORBA::ULong arg_num = dsi_data->_nvlist->count ();
|
289
|
-
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)
|
290
292
|
{
|
291
293
|
CORBA::NamedValue_ptr _nv = dsi_data->_nvlist->item (ix);
|
292
|
-
if (_nv->name () &&
|
294
|
+
if (_nv->name () && std::strcmp (arg_name, _nv->name ()) == 0)
|
293
295
|
{
|
294
296
|
R2TAO_TRY
|
295
297
|
{
|
@@ -339,11 +341,11 @@ VALUE r2tao_ServerRequest_set(VALUE self, VALUE key, VALUE val)
|
|
339
341
|
if (rb_obj_is_kind_of (key, rb_cString) == Qtrue)
|
340
342
|
{
|
341
343
|
char* arg_name = RSTRING_PTR (key);
|
342
|
-
CORBA::ULong arg_num = dsi_data->_nvlist->count ();
|
343
|
-
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)
|
344
346
|
{
|
345
347
|
CORBA::NamedValue_ptr _nv = dsi_data->_nvlist->item (ix);
|
346
|
-
if (_nv->name () &&
|
348
|
+
if (_nv->name () && std::strcmp (arg_name, _nv->name ()) == 0)
|
347
349
|
{
|
348
350
|
R2TAO_TRY
|
349
351
|
{
|
@@ -479,15 +481,15 @@ VALUE DSI_Servant::_invoke_implementation(VALUE args)
|
|
479
481
|
|
480
482
|
DSI_Servant::METHOD DSI_Servant::method_id (const char* method)
|
481
483
|
{
|
482
|
-
if (
|
484
|
+
if (std::strcmp (method, "_is_a") == 0)
|
483
485
|
return IS_A;
|
484
|
-
else if (
|
486
|
+
else if (std::strcmp (method, "_repository_id") == 0)
|
485
487
|
return REPOSITORY_ID;
|
486
|
-
else if (
|
488
|
+
else if (std::strcmp (method, "_non_existent") == 0)
|
487
489
|
return NON_EXISTENT;
|
488
|
-
else if (
|
490
|
+
else if (std::strcmp (method, "_component") == 0)
|
489
491
|
return GET_COMPONENT;
|
490
|
-
else if (
|
492
|
+
else if (std::strcmp (method, "_interface") == 0)
|
491
493
|
return GET_INTERFACE;
|
492
494
|
|
493
495
|
return NONE;
|
@@ -515,7 +517,7 @@ void DSI_Servant::invoke (CORBA::ServerRequest_ptr request)
|
|
515
517
|
ThreadSafeArg tca_(this, request);
|
516
518
|
|
517
519
|
void* rc = r2tao_call_thread_safe (DSI_Servant::thread_safe_invoke, &tca_);
|
518
|
-
if (rc !=
|
520
|
+
if (rc != nullptr)
|
519
521
|
{
|
520
522
|
CORBA::SystemException* exc = reinterpret_cast<CORBA::SystemException*> (rc);
|
521
523
|
std::unique_ptr<CORBA::SystemException> e_ptr(exc);
|
@@ -553,7 +555,7 @@ void DSI_Servant::inner_invoke (CORBA::ServerRequest_ptr request)
|
|
553
555
|
// set ORB arguments (retrieves data for IN/INOUT args)
|
554
556
|
request->arguments (nvlist);
|
555
557
|
|
556
|
-
const char *tmp =
|
558
|
+
const char *tmp = nullptr;
|
557
559
|
(*_nv->value ()) >>= tmp;
|
558
560
|
|
559
561
|
f = this->_is_a (tmp);
|
@@ -1022,7 +1024,7 @@ CORBA::Boolean DSI_Servant::_is_a (const char *logical_type_id)
|
|
1022
1024
|
}
|
1023
1025
|
}
|
1024
1026
|
|
1025
|
-
CORBA::Boolean DSI_Servant::_non_existent (
|
1027
|
+
CORBA::Boolean DSI_Servant::_non_existent ()
|
1026
1028
|
{
|
1027
1029
|
static R2TAO_RBFuncall FN_non_existent ("_non_existent?");
|
1028
1030
|
|
@@ -1038,7 +1040,7 @@ CORBA::Boolean DSI_Servant::_non_existent (void)
|
|
1038
1040
|
}
|
1039
1041
|
}
|
1040
1042
|
|
1041
|
-
CORBA::Object_ptr DSI_Servant::_get_component (
|
1043
|
+
CORBA::Object_ptr DSI_Servant::_get_component ()
|
1042
1044
|
{
|
1043
1045
|
static R2TAO_RBFuncall FN_get_component ("_get_component");
|
1044
1046
|
|
@@ -1104,7 +1106,7 @@ const char *DSI_Servant::_interface_repository_id () const
|
|
1104
1106
|
}
|
1105
1107
|
}
|
1106
1108
|
|
1107
|
-
char * DSI_Servant::_repository_id (
|
1109
|
+
char * DSI_Servant::_repository_id ()
|
1108
1110
|
{
|
1109
1111
|
return CORBA::string_dup (this->_interface_repository_id ());
|
1110
1112
|
}
|
@@ -1168,7 +1170,7 @@ VALUE r2tao_Servant_default_POA(VALUE self)
|
|
1168
1170
|
{
|
1169
1171
|
R2TAO_TRY
|
1170
1172
|
{
|
1171
|
-
DSI_Servant* _servant
|
1173
|
+
DSI_Servant* _servant {};
|
1172
1174
|
if (DATA_PTR (self) == 0)
|
1173
1175
|
{
|
1174
1176
|
// create new C++ servant object
|
@@ -1194,7 +1196,7 @@ VALUE r2tao_Servant_this(VALUE self)
|
|
1194
1196
|
R2TAO_TRY
|
1195
1197
|
{
|
1196
1198
|
bool _new_srv = false;
|
1197
|
-
DSI_Servant* _servant
|
1199
|
+
DSI_Servant* _servant {};
|
1198
1200
|
if (DATA_PTR (self) == 0)
|
1199
1201
|
{
|
1200
1202
|
// create new C++ servant object
|
@@ -1246,9 +1248,8 @@ VALUE r2tao_Servant_this(VALUE self)
|
|
1246
1248
|
static VALUE
|
1247
1249
|
srv_alloc(VALUE klass)
|
1248
1250
|
{
|
1249
|
-
VALUE obj;
|
1250
1251
|
// we start off without the C++ representation
|
1251
|
-
obj = Data_Wrap_Struct(klass,
|
1252
|
+
VALUE obj = Data_Wrap_Struct(klass, nullptr, srv_free, nullptr);
|
1252
1253
|
return obj;
|
1253
1254
|
}
|
1254
1255
|
|