r2corba 1.5.4 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -2
  3. data/ext/libr2tao/any.cpp +11 -10
  4. data/ext/libr2tao/exception.cpp +6 -8
  5. data/ext/libr2tao/exception.h +1 -1
  6. data/ext/libr2tao/longdouble.cpp +5 -9
  7. data/ext/libr2tao/object.cpp +37 -53
  8. data/ext/libr2tao/orb.cpp +46 -73
  9. data/ext/libr2tao/r2tao_ext.h +8 -19
  10. data/ext/libr2tao/required.cpp +3 -8
  11. data/ext/libr2tao/required.h +18 -34
  12. data/ext/libr2tao/values.cpp +97 -98
  13. data/ext/libr2tao/values.h +35 -37
  14. data/ext/librpoa/iortable.cpp +6 -7
  15. data/ext/librpoa/poa.cpp +29 -32
  16. data/ext/librpoa/servant.cpp +39 -113
  17. data/ext/librpoa/servant.h +18 -40
  18. data/lib/corba/cbase/ORB.rb +26 -23
  19. data/lib/corba/cbase/Request.rb +3 -3
  20. data/lib/corba/cbase/Streams.rb +2 -2
  21. data/lib/corba/cbase/Typecode.rb +6 -6
  22. data/lib/corba/cbase/Values.rb +4 -2
  23. data/lib/corba/cbase/exception.rb +6 -4
  24. data/lib/corba/cbase/poa.rb +1 -1
  25. data/lib/corba/cbase/policies.rb +2 -2
  26. data/lib/corba/cbase/require.rb +8 -1
  27. data/lib/corba/cmds/base.rb +1 -1
  28. data/lib/corba/common/Any.rb +3 -2
  29. data/lib/corba/common/IDL.rb +1 -1
  30. data/lib/corba/common/ORB.rb +22 -22
  31. data/lib/corba/common/Object.rb +14 -14
  32. data/lib/corba/common/Servant.rb +4 -4
  33. data/lib/corba/common/Stub.rb +6 -6
  34. data/lib/corba/common/Typecode.rb +69 -42
  35. data/lib/corba/common/Union.rb +5 -0
  36. data/lib/corba/common/Values.rb +1 -0
  37. data/lib/corba/common/const.rb +2 -2
  38. data/lib/corba/common/exception.rb +2 -1
  39. data/lib/corba/common/version.rb +2 -2
  40. data/lib/corba/idl/IDL.rb +1 -1
  41. data/lib/corba/jbase/Any.rb +28 -26
  42. data/lib/corba/jbase/ORB.rb +5 -5
  43. data/lib/corba/jbase/Object.rb +13 -13
  44. data/lib/corba/jbase/Request.rb +8 -8
  45. data/lib/corba/jbase/Servant.rb +10 -10
  46. data/lib/corba/jbase/ServerRequest.rb +7 -7
  47. data/lib/corba/jbase/Streams.rb +67 -3
  48. data/lib/corba/jbase/Typecode.rb +17 -16
  49. data/lib/corba/jbase/Values.rb +2 -0
  50. data/lib/corba/jbase/exception.rb +2 -1
  51. data/lib/corba/jbase/poa.rb +20 -20
  52. data/lib/corba/jbase/policies.rb +32 -32
  53. data/lib/corba/jbase/require.rb +4 -0
  54. data/lib/corba/poa.rb +1 -1
  55. data/lib/corba/policies.rb +1 -1
  56. data/lib/corba/require.rb +2 -2
  57. data/lib/corba/svcs/ins/cos_naming.rb +37 -28
  58. data/lib/corba/svcs/ins/ins.rb +51 -51
  59. data/lib/corba/svcs/ins/naming_service.rb +8 -8
  60. data/lib/corba.rb +1 -1
  61. data/lib/ridlbe/ruby/config.rb +37 -30
  62. data/lib/ridlbe/ruby/walker.rb +295 -272
  63. data/mkrf_conf_srcgem.rb +6 -6
  64. data/rakelib/bin.rake +1 -1
  65. data/rakelib/bin.rb +3 -3
  66. data/rakelib/build.rake +16 -16
  67. data/rakelib/config.rake +1 -1
  68. data/rakelib/config.rb +22 -22
  69. data/rakelib/ext.rake +7 -68
  70. data/rakelib/ext.rb +15 -15
  71. data/rakelib/ext_r2tao.rb +12 -55
  72. data/rakelib/gem.rake +25 -25
  73. data/rakelib/gem.rb +6 -6
  74. data/rakelib/package.rake +1 -1
  75. data/test/BiDirectional/client.rb +17 -17
  76. data/test/BiDirectional/run_test.rb +11 -11
  77. data/test/BiDirectional/server.rb +24 -25
  78. data/test/CORBA_Services/Naming/BindingIterator/client.rb +17 -17
  79. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +13 -13
  80. data/test/CORBA_Services/Naming/BindingIterator/server.rb +19 -19
  81. data/test/CORBA_Services/Naming/Corbaname/client.rb +15 -15
  82. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +13 -13
  83. data/test/CORBA_Services/Naming/Corbaname/server.rb +30 -30
  84. data/test/CORBA_Services/Naming/Simple/client.rb +16 -16
  85. data/test/CORBA_Services/Naming/Simple/run_test.rb +13 -13
  86. data/test/CORBA_Services/Naming/Simple/server.rb +19 -19
  87. data/test/Collocation/run_test.rb +10 -10
  88. data/test/Collocation/test.rb +27 -20
  89. data/test/Connect_Timeout/client.rb +16 -17
  90. data/test/Connect_Timeout/run_test.rb +10 -10
  91. data/test/DII/client.rb +30 -30
  92. data/test/DII/run_test.rb +11 -11
  93. data/test/DII/server.rb +16 -16
  94. data/test/DSI/client.rb +16 -16
  95. data/test/DSI/run_test.rb +11 -11
  96. data/test/DSI/server.rb +17 -17
  97. data/test/Exceptions/client.rb +21 -21
  98. data/test/Exceptions/run_test.rb +11 -11
  99. data/test/Exceptions/server.rb +16 -16
  100. data/test/Hello/client.rb +16 -16
  101. data/test/Hello/run_test.rb +11 -11
  102. data/test/Hello/server.rb +17 -17
  103. data/test/IDL_Test/client.rb +21 -21
  104. data/test/IDL_Test/run_test.rb +11 -11
  105. data/test/IDL_Test/server.rb +19 -19
  106. data/test/IORMap/client.rb +14 -14
  107. data/test/IORMap/run_test.rb +11 -11
  108. data/test/IORMap/server.rb +26 -26
  109. data/test/IORTable/client.rb +14 -14
  110. data/test/IORTable/run_test.rb +11 -11
  111. data/test/IORTable/server.rb +26 -26
  112. data/test/Implicit_Conversion/client.rb +20 -17
  113. data/test/Implicit_Conversion/run_test.rb +11 -11
  114. data/test/Implicit_Conversion/server.rb +16 -16
  115. data/test/Multi_Threading/Multiple_ORB/client.rb +14 -14
  116. data/test/Multi_Threading/Multiple_ORB/run_test.rb +12 -12
  117. data/test/Multi_Threading/Multiple_ORB/server.rb +17 -17
  118. data/test/Multi_Threading/Simple/client.rb +17 -17
  119. data/test/Multi_Threading/Simple/run_test.rb +11 -11
  120. data/test/Multi_Threading/Simple/server.rb +16 -16
  121. data/test/Multi_Threading/Threads/client.rb +16 -16
  122. data/test/Multi_Threading/Threads/run_test.rb +11 -11
  123. data/test/Multi_Threading/Threads/server.rb +22 -22
  124. data/test/Multi_Threading/Threads/watchdog.rb +16 -16
  125. data/test/Multiple_Servant_Interfaces/client.rb +14 -14
  126. data/test/Multiple_Servant_Interfaces/run_test.rb +11 -11
  127. data/test/Multiple_Servant_Interfaces/server.rb +18 -18
  128. data/test/Nil/run_test.rb +10 -10
  129. data/test/Nil/test.rb +14 -15
  130. data/test/OBV/AbstractInterface/client.rb +14 -14
  131. data/test/OBV/AbstractInterface/run_test.rb +11 -11
  132. data/test/OBV/AbstractInterface/server.rb +20 -19
  133. data/test/OBV/Custom/OBV_impl.rb +2 -0
  134. data/test/OBV/Custom/client.rb +14 -14
  135. data/test/OBV/Custom/run_test.rb +11 -11
  136. data/test/OBV/Custom/server.rb +16 -16
  137. data/test/OBV/Simple/OBV_impl.rb +1 -0
  138. data/test/OBV/Simple/client.rb +14 -14
  139. data/test/OBV/Simple/run_test.rb +11 -11
  140. data/test/OBV/Simple/server.rb +16 -16
  141. data/test/OBV/Simple_Event/Event_impl.rb +1 -0
  142. data/test/OBV/Simple_Event/client.rb +14 -14
  143. data/test/OBV/Simple_Event/run_test.rb +11 -11
  144. data/test/OBV/Simple_Event/server.rb +16 -16
  145. data/test/OBV/Supports/client.rb +19 -19
  146. data/test/OBV/Supports/run_test.rb +11 -11
  147. data/test/OBV/Supports/server.rb +15 -15
  148. data/test/OBV/Supports/supports_impl.rb +3 -0
  149. data/test/OBV/Tree/client.rb +14 -14
  150. data/test/OBV/Tree/run_test.rb +11 -11
  151. data/test/OBV/Tree/server.rb +19 -19
  152. data/test/OBV/Truncatable/Truncatable_impl.rb +1 -1
  153. data/test/OBV/Truncatable/client.rb +57 -57
  154. data/test/OBV/Truncatable/run_test.rb +11 -11
  155. data/test/OBV/Truncatable/server.rb +15 -15
  156. data/test/OBV/ValueBox/client.rb +154 -153
  157. data/test/OBV/ValueBox/run_test.rb +11 -11
  158. data/test/OBV/ValueBox/server.rb +42 -42
  159. data/test/Object/client.rb +15 -15
  160. data/test/Object/run_test.rb +11 -11
  161. data/test/Object/server.rb +19 -19
  162. data/test/POA/run_test.rb +10 -10
  163. data/test/POA/test.rb +16 -16
  164. data/test/Param_Test/client.rb +51 -51
  165. data/test/Param_Test/run_test.rb +11 -11
  166. data/test/Param_Test/server.rb +59 -59
  167. data/test/Performance/Simple/client.rb +16 -16
  168. data/test/Performance/Simple/run_test.rb +11 -11
  169. data/test/Performance/Simple/server.rb +16 -16
  170. data/test/Policies/run_test.rb +10 -10
  171. data/test/Policies/test.rb +23 -24
  172. data/test/Timeout/client.rb +21 -21
  173. data/test/Timeout/run_test.rb +11 -11
  174. data/test/Timeout/server.rb +22 -22
  175. data/test/lib/assert.rb +0 -1
  176. data/test/lib/test.rb +28 -23
  177. data/test/test_runner.rb +21 -22
  178. metadata +6 -9
  179. data/ext/extload/extload.c +0 -60
  180. data/ext/librpoa/srvreq_fix.cpp +0 -282
  181. data/ext/librpoa/srvreq_fix.h +0 -148
@@ -49,6 +49,7 @@ module R2CORBA
49
49
  @name_types = {}
50
50
  super
51
51
  end
52
+
52
53
  def []=(id, tc)
53
54
  synchronize do
54
55
  @id_types[id] = tc
@@ -57,6 +58,7 @@ module R2CORBA
57
58
  @name_types[tc.name] = types_for_name_
58
59
  end
59
60
  end
61
+
60
62
  def [](id)
61
63
  tc = nil
62
64
  synchronize do
@@ -64,6 +66,7 @@ module R2CORBA
64
66
  end
65
67
  tc
66
68
  end
69
+
67
70
  def types_for_name(name)
68
71
  tcs = nil
69
72
  synchronize do
@@ -92,10 +95,10 @@ module R2CORBA
92
95
  end
93
96
 
94
97
  def TypeCode.from_native(ntc)
95
- if [TK_NULL,TK_VOID,TK_ANY,TK_BOOLEAN,TK_SHORT,TK_LONG,TK_USHORT,
96
- TK_WCHAR,TK_ULONG,TK_LONGLONG,TK_ULONGLONG,TK_OCTET,
97
- TK_FLOAT,TK_DOUBLE,TK_LONGDOUBLE,TK_CHAR,
98
- TK_TYPECODE,TK_PRINCIPAL].include?(native_kind(ntc))
98
+ if [TK_NULL, TK_VOID, TK_ANY, TK_BOOLEAN, TK_SHORT, TK_LONG, TK_USHORT,
99
+ TK_WCHAR, TK_ULONG, TK_LONGLONG, TK_ULONGLONG, TK_OCTET,
100
+ TK_FLOAT, TK_DOUBLE, TK_LONGDOUBLE, TK_CHAR,
101
+ TK_TYPECODE, TK_PRINCIPAL].include?(native_kind(ntc))
99
102
  ## primitive typecode; wrap it
100
103
  return TypeCode._wrap_native(ntc)
101
104
  else
@@ -157,9 +160,9 @@ module R2CORBA
157
160
  rtc = TypeCode::Valuetype.new(ntc)
158
161
  end
159
162
  when TK_NATIVE
160
- raise CORBA::NO_IMPLEMENT.new('typecode #{native_kind(ntc)} not supported',0,CORBA::COMPLETED_NO)
163
+ raise CORBA::NO_IMPLEMENT.new('typecode #{native_kind(ntc)} not supported', 0, CORBA::COMPLETED_NO)
161
164
  else
162
- raise CORBA::MARSHAL.new("unknown kind [#{native_kind(ntc)}]",0,CORBA::COMPLETED_NO)
165
+ raise CORBA::MARSHAL.new("unknown kind [#{native_kind(ntc)}]", 0, CORBA::COMPLETED_NO)
163
166
  end
164
167
  return rtc
165
168
  end
@@ -184,7 +187,7 @@ module R2CORBA
184
187
  end
185
188
 
186
189
  def equal?(tc)
187
- raise ArgumentError, "expected CORBA::TypeCode" unless tc.is_a?(CORBA::TypeCode)
190
+ raise ArgumentError, 'expected CORBA::TypeCode' unless tc.is_a?(CORBA::TypeCode)
188
191
  begin
189
192
  self.tc_.equal(tc.tc_)
190
193
  rescue ::NativeException
@@ -193,7 +196,7 @@ module R2CORBA
193
196
  end
194
197
 
195
198
  def equivalent?(tc)
196
- raise ArgumentError, "expected CORBA::TypeCode" unless tc.is_a?(CORBA::TypeCode)
199
+ raise ArgumentError, 'expected CORBA::TypeCode' unless tc.is_a?(CORBA::TypeCode)
197
200
  begin
198
201
  self.tc_.equivalent(tc.tc_)
199
202
  rescue ::NativeException
@@ -342,7 +345,7 @@ module R2CORBA
342
345
  when TK_ANY
343
346
  return CORBA::Any === val ? val : Any.to_any(val)
344
347
  when TK_BOOLEAN
345
- return val if ((val.is_a? TrueClass) || (val.is_a? FalseClass))
348
+ return val if (val.is_a? TrueClass) || (val.is_a? FalseClass)
346
349
  when TK_SHORT
347
350
  return val.to_int if val.respond_to?(:to_int) && ShortRange === val.to_int
348
351
  when TK_LONG
@@ -367,7 +370,7 @@ module R2CORBA
367
370
  return val.respond_to?(:to_str) ? val.to_str : val.to_int.chr
368
371
  end
369
372
  else
370
- return val if (val.nil? || val.is_a?(self.get_type))
373
+ return val if val.nil? || val.is_a?(self.get_type)
371
374
  end
372
375
  raise CORBA::MARSHAL.new(
373
376
  "value does not match type: value = #{val}, value type == #{val.class.name}, type == #{get_type.name}",
@@ -397,19 +400,24 @@ module R2CORBA
397
400
  @recursive_tc ||= TypeCode.typecode_for_id(self.id)
398
401
  @recursive_tc || ::CORBA::TypeCode.new(TK_NULL)
399
402
  end
403
+
400
404
  def resolved_tc
401
405
  recursed_tc.resolved_tc
402
406
  end
407
+
403
408
  def is_recursive_tc?
404
409
  true
405
410
  end
411
+
406
412
  def get_type
407
413
  @recursive_tc ||= TypeCode.typecode_for_id(self.id)
408
414
  if @recursive_tc.nil? then nil; else @recursive_tc.get_type; end
409
415
  end
416
+
410
417
  def validate(val)
411
418
  recursed_tc.validate(val)
412
419
  end
420
+
413
421
  def needs_conversion(val)
414
422
  recursed_tc.needs_conversion(val)
415
423
  end
@@ -431,7 +439,7 @@ module R2CORBA
431
439
  val = ::String === val ? val : val.to_str
432
440
  raise ::CORBA::MARSHAL.new(
433
441
  "string size exceeds bound: #{self.length.to_s}",
434
- 1, ::CORBA::COMPLETED_NO) unless (self.length==0 || val.size<=self.length)
442
+ 1, ::CORBA::COMPLETED_NO) unless self.length == 0 || val.size <= self.length
435
443
  val
436
444
  end
437
445
 
@@ -464,9 +472,9 @@ module R2CORBA
464
472
  end
465
473
  raise ::CORBA::MARSHAL.new(
466
474
  "widestring size exceeds bound: #{self.length.to_s}",
467
- 1, ::CORBA::COMPLETED_NO) unless (self.length==0 || val.size<=self.length)
475
+ 1, ::CORBA::COMPLETED_NO) unless self.length == 0 || val.size <= self.length
468
476
  raise ::CORBA::MARSHAL.new(
469
- "invalid widestring element(s)",
477
+ 'invalid widestring element(s)',
470
478
  1, ::CORBA::COMPLETED_NO) if val.any? { |el| !(UShortRange === (el.respond_to?(:to_int) ? el.to_int : el)) }
471
479
  val.any? { |el| !(::Integer === el) } ? val.collect { |el| el.to_int } : val
472
480
  end
@@ -538,7 +546,7 @@ module R2CORBA
538
546
  end
539
547
  raise ::CORBA::MARSHAL.new(
540
548
  "sequence size exceeds bound: #{self.length.to_s}",
541
- 1, ::CORBA::COMPLETED_NO) unless (self.length==0 || val.size<=self.length)
549
+ 1, ::CORBA::COMPLETED_NO) unless self.length == 0 || val.size <= self.length
542
550
  if ::Array === val
543
551
  if val.any? { |e| self.content_type.needs_conversion(e) }
544
552
  val.collect { |e| self.content_type.validate(e) }
@@ -559,8 +567,8 @@ module R2CORBA
559
567
  end
560
568
 
561
569
  def inspect
562
- "#{self.class.name}: "+
563
- "length=#{if self.length.nil? then ""; else self.length.to_s; end}; "+
570
+ "#{self.class.name}: " +
571
+ "length=#{if self.length.nil? then ""; else self.length.to_s; end}; " +
564
572
  "content=#{self.content_type.inspect}"
565
573
  end
566
574
  end
@@ -580,10 +588,10 @@ module R2CORBA
580
588
  super(val)
581
589
  raise ::CORBA::MARSHAL.new(
582
590
  "array size exceeds bound: #{self.length.to_s}",
583
- 1, ::CORBA::COMPLETED_NO) unless val.nil? || val.size<=self.length
591
+ 1, ::CORBA::COMPLETED_NO) unless val.nil? || val.size <= self.length
584
592
  raise ::CORBA::MARSHAL.new(
585
593
  "array size too small: #{self.length.to_s}",
586
- 1, ::CORBA::COMPLETED_NO) unless val.nil? || val.size>=self.length
594
+ 1, ::CORBA::COMPLETED_NO) unless val.nil? || val.size >= self.length
587
595
  val.any? { |e| self.content_type.needs_conversion(e) } ? val.collect { |e| self.content_type.validate(e) } : val.each { |e| self.content_type.validate(e) }
588
596
  end
589
597
 
@@ -607,6 +615,7 @@ module R2CORBA
607
615
  def get_type
608
616
  @type || self.content_type.get_type
609
617
  end
618
+
610
619
  def validate(val)
611
620
  self.content_type.validate(val)
612
621
  end
@@ -625,6 +634,7 @@ module R2CORBA
625
634
  def initialize(*args)
626
635
  raise 'overload required'
627
636
  end
637
+
628
638
  def add_member(name, tc, access)
629
639
  raise ArgumentError, 'expected CORBA::TypeCode' unless tc.is_a?(CORBA::TypeCode)
630
640
  @members << [name, tc, access]
@@ -653,7 +663,7 @@ module R2CORBA
653
663
  tc.members.each do |nm_, tc_, access_|
654
664
  value_type::Intf.module_eval(%Q{attr_accessor :#{nm_}})
655
665
  value_type::Intf.__send__(:private, nm_.intern)
656
- value_type::Intf.__send__(:private, (nm_+'=').intern)
666
+ value_type::Intf.__send__(:private, (nm_ + '=').intern)
657
667
  end
658
668
  value_type
659
669
  end
@@ -668,7 +678,7 @@ module R2CORBA
668
678
  if needs_conversion(val)
669
679
  vorg = val
670
680
  val = vorg.class.new
671
- @members.each { |name, tc| val.__send__((name+'=').intern, tc.validate(vorg.__send__(name.intern))) }
681
+ @members.each { |name, tc| val.__send__((name + '=').intern, tc.validate(vorg.__send__(name.intern))) }
672
682
  else
673
683
  @members.each { |name, tc| tc.validate(val.__send__(name.intern)) }
674
684
  end
@@ -677,24 +687,26 @@ module R2CORBA
677
687
 
678
688
  def needs_conversion(val)
679
689
  return false if val.nil?
680
- @members.any? { |name,tc| tc.needs_conversion(val.__send__(name.intern)) }
690
+ @members.any? { |name, tc| tc.needs_conversion(val.__send__(name.intern)) }
681
691
  end
682
692
 
683
693
  def member_count
684
694
  @members.size
685
695
  end
696
+
686
697
  def member_name(index)
687
- raise ::CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
698
+ raise ::CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
688
699
  @members[index][0]
689
700
  end
701
+
690
702
  def member_type(index)
691
- raise ::CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
703
+ raise ::CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
692
704
  @members[index][1]
693
705
  end
694
706
 
695
707
  def inspect
696
708
  s = "#{self.class.name}: #{name} - #{id}\n"
697
- @members.each { |n, t| s += " #{n} = "+t.inspect+"\n" }
709
+ @members.each { |n, t| s += " #{n} = " + t.inspect + "\n" }
698
710
  s
699
711
  end
700
712
  end # Valuetype
@@ -773,6 +785,7 @@ module R2CORBA
773
785
  def initialize(*args)
774
786
  raise 'overload required'
775
787
  end
788
+
776
789
  def add_member(name, tc)
777
790
  raise ArgumentError, 'expected CORBA::TypeCode' unless tc.is_a?(CORBA::TypeCode)
778
791
  @members << [name, tc]
@@ -785,7 +798,7 @@ module R2CORBA
785
798
  @@tc_#{tc.name} ||= TypeCode.typecode_for_id('#{tc.id}')
786
799
  end
787
800
  def initialize(*param_)
788
- #{tc.members.collect {|n,t| "@#{n}"}.join(', ')} = param_
801
+ #{tc.members.collect {|n, t| "@#{n}"}.join(', ')} = param_
789
802
  end
790
803
  end
791
804
  #{tc.name}
@@ -807,7 +820,7 @@ module R2CORBA
807
820
  if needs_conversion(val)
808
821
  vorg = val
809
822
  val = vorg.class.new
810
- @members.each { |name, tc| val.__send__((name+'=').intern, tc.validate(vorg.__send__(name.intern))) }
823
+ @members.each { |name, tc| val.__send__((name + '=').intern, tc.validate(vorg.__send__(name.intern))) }
811
824
  else
812
825
  @members.each { |name, tc| tc.validate(val.__send__(name.intern)) }
813
826
  end
@@ -815,24 +828,26 @@ module R2CORBA
815
828
  end
816
829
 
817
830
  def needs_conversion(val)
818
- @members.any? { |name,tc| tc.needs_conversion(val.__send__(name.intern)) }
831
+ @members.any? { |name, tc| tc.needs_conversion(val.__send__(name.intern)) }
819
832
  end
820
833
 
821
834
  def member_count
822
835
  @members.size
823
836
  end
837
+
824
838
  def member_name(index)
825
- raise ::CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
839
+ raise ::CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
826
840
  @members[index][0]
827
841
  end
842
+
828
843
  def member_type(index)
829
- raise ::CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
844
+ raise ::CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
830
845
  @members[index][1]
831
846
  end
832
847
 
833
848
  def inspect
834
849
  s = "#{self.class.name}: #{name} - #{id}\n"
835
- @members.each { |n, t| s += " #{n} = "+t.inspect+"\n" }
850
+ @members.each { |n, t| s += " #{n} = " + t.inspect + "\n" }
836
851
  s
837
852
  end
838
853
  end # Struct
@@ -860,7 +875,7 @@ module R2CORBA
860
875
  @@tc_#{tc.name} ||= TypeCode.typecode_for_id('#{tc.id}')
861
876
  end
862
877
  def initialize(*param_)
863
- #{tc.members.collect {|n,t| "@#{n}"}.join(',')} = param_
878
+ #{tc.members.collect {|n, t| "@#{n}"}.join(',')} = param_
864
879
  end
865
880
  end
866
881
  #{tc.name}
@@ -883,16 +898,20 @@ module R2CORBA
883
898
  def initialize(*args)
884
899
  raise 'overload required'
885
900
  end
901
+
886
902
  # because creating the native tc involves creating Any's we postpone until actually needed
887
903
  def tc_
888
904
  raise 'overload required'
889
905
  end
906
+
890
907
  def id
891
908
  @id
892
909
  end
910
+
893
911
  def name
894
912
  @name
895
913
  end
914
+
896
915
  def add_member(label, name, tc)
897
916
  raise ArgumentError, 'expected CORBA::TypeCode' unless tc.is_a?(CORBA::TypeCode)
898
917
  @switchtype.validate(label) unless label == :default
@@ -935,14 +954,14 @@ module R2CORBA
935
954
  return val if val.nil?
936
955
  super(val)
937
956
  @switchtype.validate(val._disc) unless val._disc == :default
938
- #raise CORBA::MARSHAL.new(
957
+ # raise CORBA::MARSHAL.new(
939
958
  # "invalid discriminator value (#{val._disc.to_s}) for union #{name}",
940
959
  # 1, CORBA::COMPLETED_NO) unless @labels.has_key?(val._disc)
941
960
  if @labels.has_key?(val._disc) # no need to check for implicit defaults
942
961
  if needs_conversion(val)
943
962
  vorg = val
944
963
  val = vorg.class.new
945
- val.__send__((@members[@labels[vorg._disc]][1]+'=').intern,
964
+ val.__send__((@members[@labels[vorg._disc]][1] + '=').intern,
946
965
  @members[@labels[vorg._disc]][2].validate(vorg._value))
947
966
  else
948
967
  @members[@labels[val._disc]][2].validate(val._value)
@@ -958,28 +977,33 @@ module R2CORBA
958
977
  def member_count
959
978
  @members.size
960
979
  end
980
+
961
981
  def member_name(index)
962
- raise CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
982
+ raise CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
963
983
  @members[index][1]
964
984
  end
985
+
965
986
  def member_type(index)
966
- raise CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
987
+ raise CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
967
988
  @members[index][2]
968
989
  end
990
+
969
991
  def member_label(index)
970
- raise CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
992
+ raise CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
971
993
  @members[index][0]
972
994
  end
995
+
973
996
  def discriminator_type
974
997
  @switchtype
975
998
  end
999
+
976
1000
  def default_index
977
1001
  if @labels.has_key? :default then @labels[:default]; else -1; end
978
1002
  end
979
1003
 
980
1004
  def label_index(val)
981
1005
  val = @switchtype.validate(val) unless val == :default
982
- #raise CORBA::MARSHAL.new(
1006
+ # raise CORBA::MARSHAL.new(
983
1007
  # "invalid discriminator value (#{val}) for union #{name}",
984
1008
  # 1, CORBA::COMPLETED_NO) unless val == :default || @labels.has_key?(val) || @labels.has_key?(:default)
985
1009
  if val == :default then @labels[:default]; elsif @labels.has_key?(val) then @labels[val] else nil end
@@ -992,7 +1016,7 @@ module R2CORBA
992
1016
 
993
1017
  def inspect
994
1018
  s = "#{self.class.name}: #{name} - #{id}\n"
995
- @members.each { |l, n, t| s += " case #{l.to_s}: #{n} = "+t.inspect+"\n" }
1019
+ @members.each { |l, n, t| s += " case #{l.to_s}: #{n} = " + t.inspect + "\n" }
996
1020
  s
997
1021
  end
998
1022
  end # Union
@@ -1002,6 +1026,7 @@ module R2CORBA
1002
1026
  def initialize(*args)
1003
1027
  raise 'overload required'
1004
1028
  end
1029
+
1005
1030
  def get_type
1006
1031
  ::Integer
1007
1032
  end
@@ -1021,8 +1046,9 @@ module R2CORBA
1021
1046
  def member_count
1022
1047
  @members.size
1023
1048
  end
1049
+
1024
1050
  def member_name(index)
1025
- raise CORBA::TypeCode::Bounds.new if (index<0) || (index>=@members.size)
1051
+ raise CORBA::TypeCode::Bounds.new if (index < 0) || (index >= @members.size)
1026
1052
  @members[index]
1027
1053
  end
1028
1054
  end # Enum
@@ -1093,17 +1119,17 @@ module R2CORBA
1093
1119
  end
1094
1120
 
1095
1121
  def CORBA._tc_CCMObject
1096
- @@tc_CCMObject ||= TypeCode::Component.new("IDL:omg.org/CORBA/CCMObject:1.0", "CCMObject", CORBA::Object).freeze
1122
+ @@tc_CCMObject ||= TypeCode::Component.new('IDL:omg.org/CORBA/CCMObject:1.0', 'CCMObject', CORBA::Object).freeze
1097
1123
  end
1098
1124
 
1099
1125
  def CORBA._tc_CCHome
1100
- @@tc_CCHome ||= TypeCode::Home.new("IDL:omg.org/CORBA/CCHome:1.0", "CCHome", CORBA::Object).freeze
1126
+ @@tc_CCHome ||= TypeCode::Home.new('IDL:omg.org/CORBA/CCHome:1.0', 'CCHome', CORBA::Object).freeze
1101
1127
  end
1102
1128
 
1103
1129
  # define system exception related typecode constants
1104
1130
 
1105
1131
  def CORBA._tc_CompletionStatus
1106
- @@tc_CompletionStatus ||= TypeCode::Enum.new("IDL:omg.org/CORBA/CompletionStatus:1.0", "CompletionStatus",
1132
+ @@tc_CompletionStatus ||= TypeCode::Enum.new('IDL:omg.org/CORBA/CompletionStatus:1.0', 'CompletionStatus',
1107
1133
  CORBA::COMPLETED_TXT.collect {|t| "COMPLETED_#{t}"})
1108
1134
  end
1109
1135
 
@@ -1111,6 +1137,7 @@ module R2CORBA
1111
1137
  def to_d(precision)
1112
1138
  BigDecimal(self.to_s(precision))
1113
1139
  end
1140
+
1114
1141
  def LongDouble._tc
1115
1142
  CORBA._tc_longdouble
1116
1143
  end
@@ -19,16 +19,20 @@ module R2CORBA
19
19
  @discriminator = nil
20
20
  @value = nil
21
21
  end
22
+
22
23
  def _is_at_default?
23
24
  @discriminator == :default
24
25
  end
26
+
25
27
  def _value_tc
26
28
  ix = self.class._tc.label_index(@discriminator)
27
29
  self.class._tc.member_type(ix)
28
30
  end
31
+
29
32
  def _disc
30
33
  @discriminator
31
34
  end
35
+
32
36
  def _disc=(val)
33
37
  m_cur = self.class._tc.label_member(@discriminator) unless @discriminator.nil?
34
38
  m_new = self.class._tc.label_member(val)
@@ -39,6 +43,7 @@ module R2CORBA
39
43
  @discriminator = val
40
44
  disc_
41
45
  end
46
+
42
47
  def _value
43
48
  @value
44
49
  end
@@ -42,6 +42,7 @@ module R2CORBA
42
42
  def marshal(os)
43
43
  raise CORBA::NO_IMPLEMENT
44
44
  end
45
+
45
46
  def unmarshal(is)
46
47
  raise CORBA::NO_IMPLEMENT
47
48
  end
@@ -11,8 +11,8 @@
11
11
  #--------------------------------------------------------------------
12
12
  module R2CORBA
13
13
  module CORBA
14
- BIG_ENDIAN, LTL_ENDIAN = 0,1
15
- ENDIAN = ("Ruby".unpack("i")[0] == 2036495698)? LTL_ENDIAN: BIG_ENDIAN
14
+ BIG_ENDIAN, LTL_ENDIAN = 0, 1
15
+ ENDIAN = ('Ruby'.unpack('i')[0] == 2036495698) ? LTL_ENDIAN : BIG_ENDIAN
16
16
 
17
17
  ARG_IN = 1
18
18
  ARG_OUT = 2
@@ -13,7 +13,7 @@
13
13
  module R2CORBA
14
14
  module CORBA
15
15
  COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE = (0..2).to_a
16
- COMPLETED_TXT = ["YES", "NO", "MAYBE"].freeze
16
+ COMPLETED_TXT = ['YES', 'NO', 'MAYBE'].freeze
17
17
  class Exception < StandardError
18
18
  end
19
19
 
@@ -29,6 +29,7 @@ module R2CORBA
29
29
  def reason
30
30
  self.message
31
31
  end
32
+
32
33
  def to_s
33
34
  "CORBA::#{self.class::Name}(#{super}) [minor=#{@minor};completed=#{COMPLETED_TXT[@completed.to_i]}]"
34
35
  end
@@ -13,8 +13,8 @@
13
13
  module R2CORBA
14
14
 
15
15
  R2CORBA_MAJOR = 1
16
- R2CORBA_MINOR = 5
17
- R2CORBA_RELEASE = 4
16
+ R2CORBA_MINOR = 6
17
+ R2CORBA_RELEASE = 1
18
18
 
19
19
  R2CORBA_VERSION = "#{R2CORBA_MAJOR}.#{R2CORBA_MINOR}.#{R2CORBA_RELEASE}".freeze
20
20
 
data/lib/corba/idl/IDL.rb CHANGED
@@ -12,7 +12,7 @@
12
12
  module R2CORBA
13
13
 
14
14
  module CORBA
15
- def CORBA.implement(idlfile, params={}, genbits = IDL::CLIENT_STUB, &block)
15
+ def CORBA.implement(idlfile, params = {}, genbits = IDL::CLIENT_STUB, &block)
16
16
  IDL.implement(idlfile, params, genbits, &block)
17
17
  end
18
18
  end
@@ -15,21 +15,23 @@ module R2CORBA
15
15
  module Dynamic
16
16
  include_package 'org.omg.DynamicAny'
17
17
  end
18
+
18
19
  module Reflect
19
20
  java_import java.lang.reflect.Array
20
21
  end
21
22
  end
23
+
22
24
  class Any
23
- def to_java(jorb=nil,jany=nil)
25
+ def to_java(jorb = nil, jany = nil)
24
26
  rtc = self._tc
25
27
  rval = self._value.nil? ? self._value : rtc.validate(self._value)
26
28
  restc = rtc.resolved_tc
27
29
  begin
28
30
  if [TK_VALUE, TK_VALUE_BOX, TK_ABSTRACT_INTERFACE].include?(restc.kind) ||
29
- (!rval.nil? && [TK_NULL,TK_ANY,TK_BOOLEAN,TK_SHORT,TK_LONG,TK_USHORT,
30
- TK_WCHAR,TK_ULONG,TK_LONGLONG,TK_ULONGLONG,TK_OCTET,
31
- TK_FLOAT,TK_DOUBLE,TK_LONGDOUBLE,TK_CHAR,TK_STRING,TK_WSTRING,
32
- TK_VALUE, TK_VALUE_BOX,TK_TYPECODE,TK_OBJREF,TK_PRINCIPAL].include?(restc.kind))
31
+ (!rval.nil? && [TK_NULL, TK_ANY, TK_BOOLEAN, TK_SHORT, TK_LONG, TK_USHORT,
32
+ TK_WCHAR, TK_ULONG, TK_LONGLONG, TK_ULONGLONG, TK_OCTET,
33
+ TK_FLOAT, TK_DOUBLE, TK_LONGDOUBLE, TK_CHAR, TK_STRING, TK_WSTRING,
34
+ TK_VALUE, TK_VALUE_BOX, TK_TYPECODE, TK_OBJREF, TK_PRINCIPAL].include?(restc.kind))
33
35
  jorb ||= CORBA::ORB._orb
34
36
  jany ||= jorb.create_any()
35
37
  case restc.kind
@@ -60,7 +62,7 @@ module R2CORBA
60
62
  when TK_DOUBLE
61
63
  jany.insert_double(rval)
62
64
  when TK_LONGDOUBLE
63
- raise CORBA::NO_IMPLEMENT.new('LongDouble not supported',0,CORBA::COMPLETED_NO)
65
+ raise CORBA::NO_IMPLEMENT.new('LongDouble not supported', 0, CORBA::COMPLETED_NO)
64
66
  when TK_FIXED
65
67
  jany.insert_fixed(java.math.BigDecimal.new(rval.to_s))
66
68
  when TK_CHAR
@@ -68,7 +70,7 @@ module R2CORBA
68
70
  when TK_STRING
69
71
  jany.insert_string(rval)
70
72
  when TK_WSTRING
71
- jany.insert_wstring(rval.inject('') {|s,b| s << b.chr})
73
+ jany.insert_wstring(rval.inject('') {|s, b| s << b.chr})
72
74
  when TK_VALUE
73
75
  jany.insert_Value(rval, rtc.tc_)
74
76
  when TK_VALUE_BOX
@@ -94,15 +96,15 @@ module R2CORBA
94
96
  jany.insert_Value(rval, rtc.tc_)
95
97
  end
96
98
  when TK_PRINCIPAL
97
- raise CORBA::NO_IMPLEMENT.new('Principal not supported',0,CORBA::COMPLETED_NO)
99
+ raise CORBA::NO_IMPLEMENT.new('Principal not supported', 0, CORBA::COMPLETED_NO)
98
100
  ## TODO: TK_NATIVE
99
101
  else
100
- raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]",0,CORBA::COMPLETED_NO)
102
+ raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]", 0, CORBA::COMPLETED_NO)
101
103
  end
102
104
  return jany
103
105
  else
104
106
  dynFactory = CORBA::Native::Dynamic::DynAnyFactoryHelper.narrow(
105
- (jorb || CORBA::ORB._orb).resolve_initial_references("DynAnyFactory"))
107
+ (jorb || CORBA::ORB._orb).resolve_initial_references('DynAnyFactory'))
106
108
  jdynany = dynFactory.create_dyn_any_from_type_code(rtc.tc_)
107
109
  begin
108
110
  unless rval.nil?
@@ -112,15 +114,15 @@ module R2CORBA
112
114
  jdynany.set_as_ulong(rval)
113
115
  when TK_ARRAY
114
116
  jelems = CORBA::Native::Reflect::Array.newInstance(CORBA::Native::Any.java_class, rval.size)
115
- rval.each_with_index {|e,i| jelems[i] = Any.to_any(e, restc.content_type).to_java(jorb) }
117
+ rval.each_with_index {|e, i| jelems[i] = Any.to_any(e, restc.content_type).to_java(jorb) }
116
118
  jdynany.set_elements(jelems)
117
119
  when TK_SEQUENCE
118
120
  jelems = CORBA::Native::Reflect::Array.newInstance(CORBA::Native::Any.java_class, rval.size)
119
- rval.each_with_index {|e,i| jelems[i] = Any.to_any(e, restc.content_type).to_java(jorb) }
121
+ rval.each_with_index {|e, i| jelems[i] = Any.to_any(e, restc.content_type).to_java(jorb) }
120
122
  jdynany.set_elements(jelems)
121
123
  when TK_STRUCT, TK_EXCEPT
122
124
  jmembers = CORBA::Native::Reflect::Array.newInstance(CORBA::Native::Dynamic::NameValuePair.java_class, restc.members.size)
123
- rtc.members.each_with_index {|(mn, mt),i| jmembers[i] = CORBA::Native::Dynamic::NameValuePair.new(mn, Any.to_any(rval.__send__(mn.intern), mt).to_java(jorb)) }
125
+ rtc.members.each_with_index {|(mn, mt), i| jmembers[i] = CORBA::Native::Dynamic::NameValuePair.new(mn, Any.to_any(rval.__send__(mn.intern), mt).to_java(jorb)) }
124
126
  jdynany.set_members(jmembers)
125
127
  when TK_UNION
126
128
  if rval._is_at_default?
@@ -134,7 +136,7 @@ module R2CORBA
134
136
  jdynany.member.from_any(Any.to_any(rval._value, rval._value_tc).to_java(jorb))
135
137
  end
136
138
  else
137
- raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]",0,CORBA::COMPLETED_NO)
139
+ raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]", 0, CORBA::COMPLETED_NO)
138
140
  end
139
141
  end
140
142
  if jany.nil?
@@ -152,15 +154,15 @@ module R2CORBA
152
154
  end
153
155
  end # to_java
154
156
 
155
- def Any.from_java(jany, jorb=nil, rtc=nil)
157
+ def Any.from_java(jany, jorb = nil, rtc = nil)
156
158
  rtc ||= CORBA::TypeCode.from_native(jany.type)
157
159
  rval = nil
158
160
  begin
159
- if [TK_NULL,TK_VOID,TK_ANY,TK_BOOLEAN,TK_SHORT,TK_LONG,TK_USHORT,
160
- TK_WCHAR,TK_ULONG,TK_LONGLONG,TK_ULONGLONG,TK_OCTET,
161
- TK_FLOAT,TK_DOUBLE,TK_LONGDOUBLE,TK_CHAR,TK_STRING,TK_WSTRING,
162
- TK_VALUE, TK_VALUE_BOX,TK_TYPECODE,TK_OBJREF,
163
- TK_ABSTRACT_INTERFACE,TK_PRINCIPAL].include?(rtc.resolved_tc.kind)
161
+ if [TK_NULL, TK_VOID, TK_ANY, TK_BOOLEAN, TK_SHORT, TK_LONG, TK_USHORT,
162
+ TK_WCHAR, TK_ULONG, TK_LONGLONG, TK_ULONGLONG, TK_OCTET,
163
+ TK_FLOAT, TK_DOUBLE, TK_LONGDOUBLE, TK_CHAR, TK_STRING, TK_WSTRING,
164
+ TK_VALUE, TK_VALUE_BOX, TK_TYPECODE, TK_OBJREF,
165
+ TK_ABSTRACT_INTERFACE, TK_PRINCIPAL].include?(rtc.resolved_tc.kind)
164
166
  case rtc.resolved_tc.kind
165
167
  when TK_NULL, TK_VOID
166
168
  # leave as is
@@ -189,7 +191,7 @@ module R2CORBA
189
191
  when TK_DOUBLE
190
192
  rval = jany.extract_double()
191
193
  when TK_LONGDOUBLE
192
- raise CORBA::NO_IMPLEMENT.new('LongDouble not supported',0,CORBA::COMPLETED_NO)
194
+ raise CORBA::NO_IMPLEMENT.new('LongDouble not supported', 0, CORBA::COMPLETED_NO)
193
195
  when TK_FIXED
194
196
  rval = BigDecimal(jany.extract_fixed().toString())
195
197
  when TK_CHAR
@@ -217,14 +219,14 @@ module R2CORBA
217
219
  jobj
218
220
  end
219
221
  when TK_PRINCIPAL
220
- raise CORBA::NO_IMPLEMENT.new('Principal not supported',0,CORBA::COMPLETED_NO)
222
+ raise CORBA::NO_IMPLEMENT.new('Principal not supported', 0, CORBA::COMPLETED_NO)
221
223
  ## TODO: TK_NATIVE
222
224
  else
223
- raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]",0,CORBA::COMPLETED_NO)
225
+ raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]", 0, CORBA::COMPLETED_NO)
224
226
  end
225
227
  else
226
228
  dynFactory = CORBA::Native::Dynamic::DynAnyFactoryHelper.narrow(
227
- (jorb || CORBA::ORB._orb).resolve_initial_references("DynAnyFactory"))
229
+ (jorb || CORBA::ORB._orb).resolve_initial_references('DynAnyFactory'))
228
230
  jdynany = dynFactory.create_dyn_any(jany)
229
231
  begin
230
232
  restc = rtc.resolved_tc
@@ -239,7 +241,7 @@ module R2CORBA
239
241
  jdynany.get_elements().each {|e| rval << Any.from_java(e, jorb, restc.content_type) }
240
242
  when TK_STRUCT, TK_EXCEPT
241
243
  rval = rtc.get_type.new
242
- jdynany.get_members().each_with_index {|nvp,i| rval.__send__("#{nvp.id}=".intern, Any.from_java(nvp.value, jorb, restc.member_type(i))) }
244
+ jdynany.get_members().each_with_index {|nvp, i| rval.__send__("#{nvp.id}=".intern, Any.from_java(nvp.value, jorb, restc.member_type(i))) }
243
245
  when TK_UNION
244
246
  rval = rtc.get_type.new
245
247
  if jdynany.get_discriminator().type().kind().value() == CORBA::TK_OCTET
@@ -255,7 +257,7 @@ module R2CORBA
255
257
  rval.instance_variable_set('@value', Any.from_java(jdynany.member.to_any, jorb, restc.member_type(minx)))
256
258
  end
257
259
  else
258
- raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]",0,CORBA::COMPLETED_NO)
260
+ raise CORBA::MARSHAL.new("unknown kind [#{rtc.kind}]", 0, CORBA::COMPLETED_NO)
259
261
  end
260
262
  ensure
261
263
  jdynany.destroy