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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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