r2corba 1.4.1-x86-mingw32 → 1.5.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +7 -7
  2. data/CHANGES +173 -159
  3. data/LICENSE +59 -59
  4. data/README +62 -62
  5. data/THANKS +54 -52
  6. data/bin/r2corba +1 -1
  7. data/bin/ridlc +1 -1
  8. data/bin/rins +1 -1
  9. data/lib/corba.rb +16 -16
  10. data/lib/corba/cbase/IORMap.rb +33 -33
  11. data/lib/corba/cbase/ORB.rb +237 -231
  12. data/lib/corba/cbase/Request.rb +133 -133
  13. data/lib/corba/cbase/Streams.rb +129 -129
  14. data/lib/corba/cbase/Stub.rb +19 -19
  15. data/lib/corba/cbase/Typecode.rb +441 -441
  16. data/lib/corba/cbase/Values.rb +129 -129
  17. data/lib/corba/cbase/exception.rb +66 -66
  18. data/lib/corba/cbase/poa.rb +23 -23
  19. data/lib/corba/cbase/policies.rb +77 -77
  20. data/lib/corba/cbase/post_require.rb +13 -13
  21. data/lib/corba/cbase/require.rb +28 -28
  22. data/lib/corba/cmds/base.rb +85 -85
  23. data/lib/corba/cmds/test.rb +30 -30
  24. data/lib/corba/common/Any.rb +91 -91
  25. data/lib/corba/common/IDL.rb +104 -104
  26. data/lib/corba/common/ORB.rb +368 -368
  27. data/lib/corba/common/Object.rb +208 -208
  28. data/lib/corba/common/Request.rb +19 -19
  29. data/lib/corba/common/Servant.rb +108 -108
  30. data/lib/corba/common/Struct.rb +21 -21
  31. data/lib/corba/common/Stub.rb +79 -79
  32. data/lib/corba/common/Typecode.rb +1121 -1121
  33. data/lib/corba/common/Union.rb +55 -55
  34. data/lib/corba/common/Values.rb +91 -91
  35. data/lib/corba/common/const.rb +22 -22
  36. data/lib/corba/common/exception.rb +68 -68
  37. data/lib/corba/common/require.rb +27 -27
  38. data/lib/corba/common/version.rb +22 -22
  39. data/lib/corba/idl/IDL.rb +21 -21
  40. data/lib/corba/idl/IORTable.pidl +62 -62
  41. data/lib/corba/idl/TAO_Ext.pidl +46 -46
  42. data/lib/corba/idl/require.rb +20 -20
  43. data/lib/corba/jbase/Any.rb +273 -273
  44. data/lib/corba/jbase/IORMap.rb +35 -35
  45. data/lib/corba/jbase/ORB.rb +112 -99
  46. data/lib/corba/jbase/Object.rb +99 -98
  47. data/lib/corba/jbase/Request.rb +225 -225
  48. data/lib/corba/jbase/Servant.rb +247 -246
  49. data/lib/corba/jbase/ServerRequest.rb +127 -127
  50. data/lib/corba/jbase/Streams.rb +670 -670
  51. data/lib/corba/jbase/Stub.rb +38 -38
  52. data/lib/corba/jbase/Typecode.rb +520 -520
  53. data/lib/corba/jbase/Values.rb +173 -173
  54. data/lib/corba/jbase/exception.rb +106 -106
  55. data/lib/corba/jbase/poa.rb +228 -228
  56. data/lib/corba/jbase/policies.rb +299 -299
  57. data/lib/corba/jbase/post_require.rb +14 -14
  58. data/lib/corba/jbase/require.rb +89 -86
  59. data/lib/corba/naming.rb +14 -14
  60. data/lib/corba/naming_service.rb +15 -15
  61. data/lib/corba/poa.rb +15 -15
  62. data/lib/corba/policies.rb +18 -18
  63. data/lib/corba/require.rb +17 -17
  64. data/lib/corba/svcs/ins/cos_naming.rb +426 -426
  65. data/lib/corba/svcs/ins/ins.rb +526 -526
  66. data/lib/corba/svcs/ins/naming_service.rb +119 -119
  67. data/lib/ridlbe/ruby/config.rb +336 -336
  68. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  69. data/lib/ridlbe/ruby/require.rb +16 -16
  70. data/lib/ridlbe/ruby/walker.rb +1582 -1582
  71. data/mkrf_conf_bingem.rb +151 -101
  72. data/rakelib/bin.rake +80 -80
  73. data/rakelib/bin.rb +145 -145
  74. data/rakelib/build.rake +87 -87
  75. data/rakelib/config.rake +51 -51
  76. data/rakelib/config.rb +543 -449
  77. data/rakelib/ext.rake +242 -242
  78. data/rakelib/ext.rb +316 -308
  79. data/rakelib/ext_r2tao.rb +235 -232
  80. data/rakelib/gem.rake +235 -211
  81. data/rakelib/gem.rb +145 -145
  82. data/rakelib/package.rake +26 -26
  83. data/rakelib/test.rake +23 -23
  84. data/test/BiDirectional/Test.idl +34 -34
  85. data/test/BiDirectional/client.rb +131 -131
  86. data/test/BiDirectional/run_test.rb +68 -68
  87. data/test/BiDirectional/server.ior +1 -1
  88. data/test/BiDirectional/server.rb +169 -169
  89. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -27
  90. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -121
  91. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -1
  92. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -82
  93. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -109
  94. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -27
  95. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -85
  96. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -1
  97. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -88
  98. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -135
  99. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -27
  100. data/test/CORBA_Services/Naming/Simple/client.rb +84 -84
  101. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -1
  102. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -82
  103. data/test/CORBA_Services/Naming/Simple/server.rb +109 -109
  104. data/test/Collocation/Diamond.idl +39 -39
  105. data/test/Collocation/run_test.rb +52 -52
  106. data/test/Collocation/test.rb +195 -195
  107. data/test/Connect_Timeout/Test.idl +27 -27
  108. data/test/Connect_Timeout/client.rb +111 -111
  109. data/test/Connect_Timeout/run_test.rb +52 -52
  110. data/test/DII/Test.idl +27 -27
  111. data/test/DII/client.rb +115 -115
  112. data/test/DII/run_test.rb +69 -69
  113. data/test/DII/server.ior +1 -1
  114. data/test/DII/server.rb +95 -95
  115. data/test/DSI/Test.idl +27 -27
  116. data/test/DSI/client.rb +66 -66
  117. data/test/DSI/run_test.rb +69 -69
  118. data/test/DSI/server.ior +1 -1
  119. data/test/DSI/server.rb +106 -106
  120. data/test/Exceptions/Test.idl +48 -48
  121. data/test/Exceptions/client.rb +117 -117
  122. data/test/Exceptions/run_test.rb +69 -69
  123. data/test/Exceptions/server.ior +1 -1
  124. data/test/Exceptions/server.rb +131 -131
  125. data/test/Hello/Test.idl +27 -27
  126. data/test/Hello/client.rb +78 -78
  127. data/test/Hello/run_test.rb +71 -71
  128. data/test/Hello/server.rb +95 -95
  129. data/test/IDL_Test/Test.idl +113 -113
  130. data/test/IDL_Test/Test_inc.idl +17 -17
  131. data/test/IDL_Test/client.rb +102 -102
  132. data/test/IDL_Test/run_test.rb +69 -69
  133. data/test/IDL_Test/server.ior +1 -1
  134. data/test/IDL_Test/server.rb +99 -99
  135. data/test/IORMap/Test.idl +27 -27
  136. data/test/IORMap/client.rb +73 -73
  137. data/test/IORMap/run_test.rb +69 -69
  138. data/test/IORMap/server.ior +1 -1
  139. data/test/IORMap/server.rb +114 -114
  140. data/test/IORTable/Test.idl +27 -27
  141. data/test/IORTable/client.rb +75 -75
  142. data/test/IORTable/run_test.rb +69 -69
  143. data/test/IORTable/server.ior +1 -1
  144. data/test/IORTable/server.rb +130 -130
  145. data/test/Implicit_Conversion/Test.idl +31 -31
  146. data/test/Implicit_Conversion/client.rb +110 -110
  147. data/test/Implicit_Conversion/run_test.rb +69 -69
  148. data/test/Implicit_Conversion/server.ior +1 -1
  149. data/test/Implicit_Conversion/server.rb +99 -99
  150. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -27
  151. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -82
  152. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -71
  153. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -108
  154. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -1
  155. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -1
  156. data/test/Multi_Threading/Simple/Test.idl +27 -27
  157. data/test/Multi_Threading/Simple/client.rb +93 -88
  158. data/test/Multi_Threading/Simple/run_test.rb +69 -69
  159. data/test/Multi_Threading/Simple/server.ior +1 -1
  160. data/test/Multi_Threading/Simple/server.rb +117 -117
  161. data/test/Multi_Threading/Threads/Test.idl +31 -31
  162. data/test/Multi_Threading/Threads/client.rb +80 -80
  163. data/test/Multi_Threading/Threads/run_test.rb +76 -76
  164. data/test/Multi_Threading/Threads/server.ior +1 -1
  165. data/test/Multi_Threading/Threads/server.rb +119 -119
  166. data/test/Multi_Threading/Threads/watchdog.ior +1 -1
  167. data/test/Multi_Threading/Threads/watchdog.rb +87 -87
  168. data/test/Multiple_Servant_Interfaces/Test.idl +34 -34
  169. data/test/Multiple_Servant_Interfaces/client.rb +70 -70
  170. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -69
  171. data/test/Multiple_Servant_Interfaces/server.ior +1 -1
  172. data/test/Multiple_Servant_Interfaces/server.rb +102 -102
  173. data/test/Nil/Test.idl +27 -27
  174. data/test/Nil/run_test.rb +52 -52
  175. data/test/Nil/test.rb +78 -78
  176. data/test/OBV/AbstractInterface/client.rb +179 -179
  177. data/test/OBV/AbstractInterface/run_test.rb +69 -69
  178. data/test/OBV/AbstractInterface/server.ior +1 -1
  179. data/test/OBV/AbstractInterface/server.rb +149 -149
  180. data/test/OBV/AbstractInterface/test.idl +53 -53
  181. data/test/OBV/Custom/OBV.idl +18 -18
  182. data/test/OBV/Custom/OBV_impl.rb +40 -40
  183. data/test/OBV/Custom/client.rb +86 -86
  184. data/test/OBV/Custom/run_test.rb +69 -69
  185. data/test/OBV/Custom/server.ior +1 -1
  186. data/test/OBV/Custom/server.rb +100 -100
  187. data/test/OBV/Simple/OBV.idl +15 -15
  188. data/test/OBV/Simple/OBV_impl.rb +26 -26
  189. data/test/OBV/Simple/client.rb +86 -86
  190. data/test/OBV/Simple/run_test.rb +69 -69
  191. data/test/OBV/Simple/server.ior +1 -1
  192. data/test/OBV/Simple/server.rb +100 -100
  193. data/test/OBV/Simple_Event/Event.idl +15 -15
  194. data/test/OBV/Simple_Event/Event_impl.rb +26 -26
  195. data/test/OBV/Simple_Event/client.rb +86 -86
  196. data/test/OBV/Simple_Event/run_test.rb +69 -69
  197. data/test/OBV/Simple_Event/server.ior +1 -1
  198. data/test/OBV/Simple_Event/server.rb +100 -100
  199. data/test/OBV/Supports/client.rb +116 -116
  200. data/test/OBV/Supports/run_test.rb +69 -69
  201. data/test/OBV/Supports/server.ior +1 -1
  202. data/test/OBV/Supports/server.rb +103 -103
  203. data/test/OBV/Supports/supports.idl +33 -33
  204. data/test/OBV/Supports/supports_impl.rb +57 -57
  205. data/test/OBV/Tree/client.rb +116 -116
  206. data/test/OBV/Tree/run_test.rb +69 -69
  207. data/test/OBV/Tree/server.ior +1 -1
  208. data/test/OBV/Tree/server.rb +117 -117
  209. data/test/OBV/Tree/test.idl +32 -32
  210. data/test/OBV/Truncatable/Extra.idl +27 -27
  211. data/test/OBV/Truncatable/Truncatable.idl +105 -105
  212. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -86
  213. data/test/OBV/Truncatable/client.rb +279 -279
  214. data/test/OBV/Truncatable/run_test.rb +69 -69
  215. data/test/OBV/Truncatable/server.ior +1 -1
  216. data/test/OBV/Truncatable/server.rb +89 -89
  217. data/test/OBV/ValueBox/client.rb +497 -497
  218. data/test/OBV/ValueBox/run_test.rb +69 -69
  219. data/test/OBV/ValueBox/server.ior +1 -1
  220. data/test/OBV/ValueBox/server.rb +271 -271
  221. data/test/OBV/ValueBox/valuebox.idl +101 -101
  222. data/test/OBV/ValueBox/vb_basic.idl +75 -75
  223. data/test/OBV/ValueBox/vb_struct.idl +68 -68
  224. data/test/OBV/ValueBox/vb_union.idl +21 -21
  225. data/test/Object/Test.idl +27 -27
  226. data/test/Object/client.rb +112 -103
  227. data/test/Object/run_test.rb +69 -69
  228. data/test/Object/server.ior +1 -1
  229. data/test/Object/server.rb +126 -126
  230. data/test/POA/Test.idl +27 -27
  231. data/test/POA/run_test.rb +52 -52
  232. data/test/POA/test.rb +111 -111
  233. data/test/Param_Test/Test.idl +182 -182
  234. data/test/Param_Test/client.rb +277 -277
  235. data/test/Param_Test/run_test.rb +69 -69
  236. data/test/Param_Test/server.ior +1 -1
  237. data/test/Param_Test/server.rb +296 -296
  238. data/test/Performance/Simple/Test.idl +27 -27
  239. data/test/Performance/Simple/client.rb +90 -90
  240. data/test/Performance/Simple/run_test.rb +69 -69
  241. data/test/Performance/Simple/server.ior +1 -1
  242. data/test/Performance/Simple/server.rb +95 -95
  243. data/test/Policies/Test.idl +27 -27
  244. data/test/Policies/run_test.rb +52 -52
  245. data/test/Policies/test.rb +144 -144
  246. data/test/Timeout/client.rb +207 -207
  247. data/test/Timeout/run_test.rb +69 -69
  248. data/test/Timeout/server.ior +1 -1
  249. data/test/Timeout/server.rb +109 -109
  250. data/test/Timeout/test.idl +19 -19
  251. data/test/lib/assert.rb +43 -43
  252. data/test/lib/test.rb +542 -542
  253. data/test/test_runner.rb +193 -193
  254. metadata +141 -137
@@ -1,36 +1,36 @@
1
- #--------------------------------------------------------------------
2
- # iormap.rb - Java/JacORB IORMap definitions
3
- #
4
- # Author: Martin Corino
5
- #
6
- # This program is free software; you can redistribute it and/or
7
- # modify it under the terms of the R2CORBA LICENSE which is
8
- # included with this program.
9
- #
10
- # Copyright (c) Remedy IT Expertise BV
11
- # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
- #--------------------------------------------------------------------
13
-
14
- module R2CORBA
15
- class IORMap
16
- def initialize(orb)
17
- @orb = orb
18
- end
19
-
20
- def map_ior(object_key, ior)
21
- begin
22
- @orb.orb_.addObjectKey(object_key, ior)
23
- rescue ::NativeException
24
- CORBA::Exception.native2r($!)
25
- end
26
- end
27
-
28
- def unmap_ior(object_key)
29
- begin
30
- @orb.orb_.addObjectKey(object_key, nil)
31
- rescue ::NativeException
32
- CORBA::Exception.native2r($!)
33
- end
34
- end
35
- end
1
+ #--------------------------------------------------------------------
2
+ # iormap.rb - Java/JacORB IORMap definitions
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ module R2CORBA
15
+ class IORMap
16
+ def initialize(orb)
17
+ @orb = orb
18
+ end
19
+
20
+ def map_ior(object_key, ior)
21
+ begin
22
+ @orb.orb_.addObjectKey(object_key, ior)
23
+ rescue ::NativeException
24
+ CORBA::Exception.native2r($!)
25
+ end
26
+ end
27
+
28
+ def unmap_ior(object_key)
29
+ begin
30
+ @orb.orb_.addObjectKey(object_key, nil)
31
+ rescue ::NativeException
32
+ CORBA::Exception.native2r($!)
33
+ end
34
+ end
35
+ end
36
36
  end
@@ -1,99 +1,112 @@
1
- #--------------------------------------------------------------------
2
- # ORB.rb - Java/JacORB CORBA ORB definitions
3
- #
4
- # Author: Martin Corino
5
- #
6
- # This program is free software; you can redistribute it and/or
7
- # modify it under the terms of the R2CORBA LICENSE which is
8
- # included with this program.
9
- #
10
- # Copyright (c) Remedy IT Expertise BV
11
- # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
- #--------------------------------------------------------------------
13
-
14
- module R2CORBA
15
- module CORBA
16
-
17
- module ORB
18
-
19
- ## init() or init(arg1, arg2[, ...]) or init(orb_id, prop = {}) or init(argv, orb_id, prop={}) or init(argv, prop={})
20
- def self.init(*args)
21
- n_orb = if args.empty?
22
- CORBA::Native::ORB.init
23
- else
24
- argv = []
25
- orb_id = nil
26
- prop = nil
27
- a1, a2, a3 = args
28
- if Array === a1
29
- raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>3
30
- argv = a1
31
- orb_id = (Hash === a2 ? nil : a2)
32
- prop = (Hash === a2 ? a2 : a3)
33
- elsif args.size == 1 || Hash === a2
34
- raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>2
35
- orb_id = a1
36
- prop = a2
37
- else
38
- argv = args
39
- end
40
- raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
41
- jprop = Java::JavaUtil::Properties.new
42
- jprop.setProperty('ORBid', orb_id) if orb_id
43
- prop.each { |k,v| jprop.setProperty(k.to_s, v.to_s) } if prop
44
- @@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.to_java(:string), jprop)
45
- end
46
- @@wrapper_klass.new(n_orb)
47
- end
48
-
49
- #str ::String
50
- #ret ::CORBA::Object
51
- def string_to_object(str)
52
- begin
53
- begin
54
- Object._wrap_native(self.orb_.string_to_object(str))
55
- rescue ::NativeException
56
- CORBA::Exception.native2r($!)
57
- end
58
- rescue CORBA::BAD_PARAM ## JacORB throws MARSHAL exception on invalid IORs which is not spec compliant
59
- return nil
60
- end
61
- end
62
-
63
- # boolean wait_for_completion
64
- # ret void
65
- def shutdown(wait_for_completion = false)
66
- if wait_for_completion
67
- # need to start this in separate thread otherwise this will lead to deadlock
68
- # (JacORB problem)
69
- (Thread.new do
70
- begin
71
- self.orb_.shutdown(wait_for_completion)
72
- rescue ::NativeException
73
- CORBA::Exception.native2r($!)
74
- end
75
- end).join()
76
- else
77
- # need to start a shutdown *with* waiting in a thread because JacORB
78
- # occasionally fails with a comm error when #shutdown(false) is called
79
- # from within a servant callback
80
- Thread.new do
81
- begin
82
- self.orb_.shutdown(true)
83
- rescue ::NativeException
84
- CORBA::Exception.native2r($!)
85
- end
86
- end
87
- end
88
- end
89
-
90
- # custom R2CORBA extension : IORMap
91
-
92
- def ior_map
93
- @iormap ||= R2CORBA::IORMap.new(self)
94
- end
95
-
96
- end
97
-
98
- end # CORBA
99
- end # R2CORBA
1
+ #--------------------------------------------------------------------
2
+ # ORB.rb - Java/JacORB CORBA ORB definitions
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ module R2CORBA
15
+ module CORBA
16
+
17
+ module ORB
18
+
19
+ class << self
20
+ protected
21
+ def _singleton_orb_init
22
+ begin
23
+ CORBA::Native::ORB.init
24
+ rescue ArgumentError
25
+ # this will happen if java.endorsed.dirs is used with JacORB
26
+ # in that case just directly init on the singleton class itself
27
+ CORBA::Native::ORBSingleton.init
28
+ end
29
+ end
30
+ end
31
+
32
+ ## init() or init(arg1, arg2[, ...]) or init(orb_id, prop = {}) or init(argv, orb_id, prop={}) or init(argv, prop={})
33
+ def self.init(*args)
34
+ n_orb = if args.empty?
35
+ _singleton_orb_init
36
+ else
37
+ argv = []
38
+ orb_id = nil
39
+ prop = nil
40
+ a1, a2, a3 = args
41
+ if Array === a1
42
+ raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>3
43
+ argv = a1
44
+ orb_id = (Hash === a2 ? nil : a2)
45
+ prop = (Hash === a2 ? a2 : a3)
46
+ elsif args.size == 1 || Hash === a2
47
+ raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>2
48
+ orb_id = a1
49
+ prop = a2
50
+ else
51
+ argv = args
52
+ end
53
+ raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
54
+ jprop = Java::JavaUtil::Properties.new
55
+ jprop.setProperty('ORBid', orb_id) if orb_id
56
+ prop.each { |k,v| jprop.setProperty(k.to_s, v.to_s) } if prop
57
+ @@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.to_java(:string), jprop)
58
+ end
59
+ @@wrapper_klass.new(n_orb)
60
+ end
61
+
62
+ #str ::String
63
+ #ret ::CORBA::Object
64
+ def string_to_object(str)
65
+ begin
66
+ begin
67
+ Object._wrap_native(self.orb_.string_to_object(str))
68
+ rescue ::NativeException
69
+ CORBA::Exception.native2r($!)
70
+ end
71
+ rescue CORBA::BAD_PARAM ## JacORB throws MARSHAL exception on invalid IORs which is not spec compliant
72
+ return nil
73
+ end
74
+ end
75
+
76
+ # boolean wait_for_completion
77
+ # ret void
78
+ def shutdown(wait_for_completion = false)
79
+ if wait_for_completion
80
+ # need to start this in separate thread otherwise this will lead to deadlock
81
+ # (JacORB problem)
82
+ (Thread.new do
83
+ begin
84
+ self.orb_.shutdown(wait_for_completion)
85
+ rescue ::NativeException
86
+ CORBA::Exception.native2r($!)
87
+ end
88
+ end).join()
89
+ else
90
+ # need to start a shutdown *with* waiting in a thread because JacORB
91
+ # occasionally fails with a comm error when #shutdown(false) is called
92
+ # from within a servant callback
93
+ Thread.new do
94
+ begin
95
+ self.orb_.shutdown(true)
96
+ rescue ::NativeException
97
+ CORBA::Exception.native2r($!)
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ # custom R2CORBA extension : IORMap
104
+
105
+ def ior_map
106
+ @iormap ||= R2CORBA::IORMap.new(self)
107
+ end
108
+
109
+ end
110
+
111
+ end # CORBA
112
+ end # R2CORBA
@@ -1,98 +1,99 @@
1
- #--------------------------------------------------------------------
2
- # Object.rb - Java/JacORB CORBA Object definitions
3
- #
4
- # Author: Martin Corino
5
- #
6
- # This program is free software; you can redistribute it and/or
7
- # modify it under the terms of the R2CORBA LICENSE which is
8
- # included with this program.
9
- #
10
- # Copyright (c) Remedy IT Expertise BV
11
- # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
- #--------------------------------------------------------------------
13
- module R2CORBA
14
- module CORBA
15
-
16
- module Object
17
-
18
- #ret InterfaceDef
19
- def _get_interface()
20
- raise ::CORBA::NO_IMPLEMENT
21
- #ifdef_obj = self.objref_._get_interface_def rescue CORBA::Exception.native2r($!)
22
- #(ifdef_obj = CORBA::Native::InterfaceDefHelper.narrow(ifdef_obj) rescue CORBA::Exception.native2r($!)) unless ifdef_obj.nil?
23
- end
24
-
25
- # ::String logical_type_id
26
- # ret boolean
27
- def _is_a?(logical_type_id)
28
- raise CORBA::INV_OBJREF.new if self._is_nil?()
29
- ## JacORB's LocalObjects throw NO_IMPLEMENT on _is_a?() and _ids() is also not always defined
30
- return true if self.objref_.is_a?(CORBA::Native::LocalObject) &&
31
- (!self.objref_.respond_to?(:_ids) || self.objref_._ids().include?(logical_type_id))
32
- begin
33
- self.objref_._is_a(logical_type_id)
34
- rescue ::NativeException
35
- CORBA::Exception.native2r($!)
36
- end
37
- end
38
-
39
- # ret ::String
40
- def _repository_id()
41
- raise CORBA::INV_OBJREF.new if self._is_nil?()
42
- ## if this object ref has already been narrowed
43
- return self._interface_repository_id if self.respond_to?(:_interface_repository_id)
44
- ## ask the remote side
45
- ## have to do this ourselves since JacORB does not support this method
46
- ## and we can't use #invoke since this should work without narrowing
47
- req = self._request('_repository_id')
48
- req.set_return_type(CORBA._tc_string)
49
- return req.invoke
50
- end
51
-
52
- #ret ::CORBA::Object
53
- def _get_component()
54
- raise CORBA::INV_OBJREF.new if self._is_nil?()
55
- ## ask the remote side
56
- ## have to do this ourselves since JacORB does not support this method
57
- ## and we can't use #invoke since this should work without narrowing
58
- req = self._request('_component')
59
- req.set_return_type(CORBA._tc_Object)
60
- return req.invoke
61
- end
62
-
63
- #def PolicyType policy_type
64
- # ret Policy
65
- def _get_policy(policy_type)
66
- raise ::CORBA::NO_IMPLEMENT
67
- end
68
-
69
- #PolicyList policies
70
- #SetOverrideType set_add
71
- #ret ::CORBA::Object
72
- def _set_policy_overrides(policies, set_add )
73
- raise ::CORBA::NO_IMPLEMENT
74
- end
75
-
76
- #int[] types
77
- #ret PolicyList
78
- def _get_policy_overrides(types)
79
- raise ::CORBA::NO_IMPLEMENT
80
- end
81
-
82
- #PolicyList inconsistent_policies
83
- #ret bool
84
- def _validate_connection(inconsistent_policies)
85
- raise ::CORBA::NO_IMPLEMENT
86
- end
87
-
88
- def _request(operation)
89
- begin
90
- CORBA::Request._wrap_native(self.objref_._request(operation.to_s), self)
91
- rescue ::NativeException
92
- CORBA::Exception.native2r($!)
93
- end
94
- end
95
-
96
- end # Object
97
- end # CORBA
98
- end # R2CORBA
1
+ #--------------------------------------------------------------------
2
+ # Object.rb - Java/JacORB CORBA Object definitions
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ module R2CORBA
14
+ module CORBA
15
+
16
+ module Object
17
+
18
+ #ret InterfaceDef
19
+ def _get_interface()
20
+ raise ::CORBA::NO_IMPLEMENT
21
+ #ifdef_obj = self.objref_._get_interface_def rescue CORBA::Exception.native2r($!)
22
+ #(ifdef_obj = CORBA::Native::InterfaceDefHelper.narrow(ifdef_obj) rescue CORBA::Exception.native2r($!)) unless ifdef_obj.nil?
23
+ end
24
+
25
+ # ::String logical_type_id
26
+ # ret boolean
27
+ def _is_a?(logical_type_id)
28
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
29
+ ## JacORB's LocalObjects throw NO_IMPLEMENT on _is_a?() and _ids() is also not always defined
30
+ return true if self.objref_.is_a?(CORBA::Native::LocalObject) &&
31
+ (!self.objref_.respond_to?(:_ids) || self.objref_._ids().include?(logical_type_id))
32
+ begin
33
+ self.objref_._is_a(logical_type_id)
34
+ rescue ::NativeException
35
+ CORBA::Exception.native2r($!)
36
+ end
37
+ end
38
+
39
+ # ret ::String
40
+ def _repository_id()
41
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
42
+ ## if this object ref has already been narrowed
43
+ return self._interface_repository_id if self.respond_to?(:_interface_repository_id)
44
+ ## ask the remote side
45
+ ## have to do this ourselves since JacORB only resolves this locally (never calling remote)
46
+ req = self._request('_repository_id')
47
+ req.set_return_type(CORBA._tc_string)
48
+ return req.invoke
49
+ end
50
+
51
+ unless CORBA::Native::Portable::ObjectImpl.public_instance_methods.include?(:_get_component)
52
+ #ret ::CORBA::Object
53
+ def _get_component()
54
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
55
+ ## ask the remote side
56
+ ## have to do this ourselves since JacORB does not support this remote method on Object
57
+ ## and we can't use #invoke since this should work without narrowing
58
+ req = self._request('_component')
59
+ req.set_return_type(CORBA._tc_Object)
60
+ return req.invoke
61
+ end
62
+ end
63
+
64
+ #def PolicyType policy_type
65
+ # ret Policy
66
+ def _get_policy(policy_type)
67
+ raise ::CORBA::NO_IMPLEMENT
68
+ end
69
+
70
+ #PolicyList policies
71
+ #SetOverrideType set_add
72
+ #ret ::CORBA::Object
73
+ def _set_policy_overrides(policies, set_add )
74
+ raise ::CORBA::NO_IMPLEMENT
75
+ end
76
+
77
+ #int[] types
78
+ #ret PolicyList
79
+ def _get_policy_overrides(types)
80
+ raise ::CORBA::NO_IMPLEMENT
81
+ end
82
+
83
+ #PolicyList inconsistent_policies
84
+ #ret bool
85
+ def _validate_connection(inconsistent_policies)
86
+ raise ::CORBA::NO_IMPLEMENT
87
+ end
88
+
89
+ def _request(operation)
90
+ begin
91
+ CORBA::Request._wrap_native(self.objref_._request(operation.to_s), self)
92
+ rescue ::NativeException
93
+ CORBA::Exception.native2r($!)
94
+ end
95
+ end
96
+
97
+ end # Object
98
+ end # CORBA
99
+ end # R2CORBA