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
data/README CHANGED
@@ -1,62 +1,62 @@
1
-
2
- * What is Ruby2CORBA
3
-
4
- Ruby2CORBA (R2CORBA) is a CORBA mapping implementation for the Ruby
5
- programming language (see http://www.ruby-lang.org).
6
- Instead of going for a complete native Ruby mapping implementing a native
7
- Ruby ORB, R2CORBA aims at providing CORBA functionality through a Ruby
8
- extension using the DII and DSI interfaces of an existing CORBA ORB
9
- implementation.
10
- There are currently two flavors of this extension available:
11
- o an MRI Ruby extension written in Ruby and C/C++ using TAO
12
- (The ACE ORB; see http://www.cs.wustl.edu/~schmidt/TAO.html).
13
- o a JRuby extension written in Ruby and Java using JacORB
14
- (http://www.jacorb.org/index.html).
15
- A native Ruby implementation of an OMG IDL compiler supplements this
16
- extension and provides powerful features like direct inclusion of IDL
17
- language modules into your Ruby programs without the need of explicit,
18
- separate stub generation.
19
-
20
- Both flavors of R2CORBA fully implement the official OMG Ruby CORBA
21
- Language Mapping (RCLM) specification which can be downloaded here:
22
- http://www.omg.org/spec/RCLM.
23
-
24
- * How to get R2CORBA
25
-
26
- Execute
27
-
28
- gem install r2corba
29
-
30
- to install R2CORBA as a gem.
31
-
32
- or
33
-
34
- Go to https://osportal.remedy.nl/projects/r2corba/files to
35
- download the latest source package and build your own.
36
-
37
- or
38
-
39
- Go to https://osportal.remedy.nl/projects/r2corba/wiki and read how
40
- to checkout the latest source code from the version repository.
41
-
42
- * How to compile and install
43
-
44
- See the file INSTALL
45
-
46
- * Copying/License
47
-
48
- See the file LICENSE
49
-
50
- * Acknowledgments
51
-
52
- See the file THANKS
53
-
54
- * The author(s)
55
-
56
- R2CORBA has been created by staff of Remedy IT.
57
- (http://www.remedy.nl | http://www.theaceorb.nl)
58
-
59
- Feel free to send comments and bug reports to:
60
-
61
- r2corba@remedy.nl
62
-
1
+
2
+ * What is Ruby2CORBA
3
+
4
+ Ruby2CORBA (R2CORBA) is a CORBA mapping implementation for the Ruby
5
+ programming language (see http://www.ruby-lang.org).
6
+ Instead of going for a complete native Ruby mapping implementing a native
7
+ Ruby ORB, R2CORBA aims at providing CORBA functionality through a Ruby
8
+ extension using the DII and DSI interfaces of an existing CORBA ORB
9
+ implementation.
10
+ There are currently two flavors of this extension available:
11
+ o an MRI Ruby extension written in Ruby and C/C++ using TAO
12
+ (The ACE ORB; see http://www.cs.wustl.edu/~schmidt/TAO.html).
13
+ o a JRuby extension written in Ruby and Java using JacORB
14
+ (http://www.jacorb.org/index.html).
15
+ A native Ruby implementation of an OMG IDL compiler supplements this
16
+ extension and provides powerful features like direct inclusion of IDL
17
+ language modules into your Ruby programs without the need of explicit,
18
+ separate stub generation.
19
+
20
+ Both flavors of R2CORBA fully implement the official OMG Ruby CORBA
21
+ Language Mapping (RCLM) specification which can be downloaded here:
22
+ http://www.omg.org/spec/RCLM.
23
+
24
+ * How to get R2CORBA
25
+
26
+ Execute
27
+
28
+ gem install r2corba
29
+
30
+ to install R2CORBA as a gem.
31
+
32
+ or
33
+
34
+ Go to https://osportal.remedy.nl/projects/r2corba/files to
35
+ download the latest source package and build your own.
36
+
37
+ or
38
+
39
+ Go to https://osportal.remedy.nl/projects/r2corba/wiki and read how
40
+ to checkout the latest source code from the version repository.
41
+
42
+ * How to compile and install
43
+
44
+ See the file INSTALL
45
+
46
+ * Copying/License
47
+
48
+ See the file LICENSE
49
+
50
+ * Acknowledgments
51
+
52
+ See the file THANKS
53
+
54
+ * The author(s)
55
+
56
+ R2CORBA has been created by staff of Remedy IT.
57
+ (http://www.remedy.nl | http://www.theaceorb.nl)
58
+
59
+ Feel free to send comments and bug reports to:
60
+
61
+ r2corba@remedy.nl
62
+
data/THANKS CHANGED
@@ -1,52 +1,54 @@
1
-
2
- Our thanks go to:
3
-
4
- * Yukihiro Matsumoto, aka “Matz”, for creating the wonderfully
5
- powerful and elegant programming language named Ruby.
6
- With him we also thank all those who have contributed to the
7
- Ruby programming tool and have made Ruby what it is today.
8
-
9
- * Charles Oliver Nutter, aka "headius", and the other people of
10
- the JRuby core development team for bringing that wonderful
11
- programming language that Matz created to Java.
12
-
13
- * Prof. Douglas Schmidt for (and all his collaborators) for creating
14
- a high-quality OpenSource CORBA compliant ORB. The high level of
15
- OS abstraction and multiplatform compatibility of this software
16
- make it an ideal ingredient for a Ruby CORBA implementation.
17
-
18
- * The people of the JacORB development team (a.o. Gerald Brose and
19
- Andre Spiegel) and all their collaborators for creating a high-
20
- performance, multi threaded and spec compliant ORB for the
21
- Java environment.
22
-
23
- * Minero Aoki for creating the original 'setup.rb' install script.
24
-
25
- * Daisuke Kanda for his initial work on CORBA bindings for Ruby from
26
- 2001 (incl. RINN and Ruby-Orbit) which has helped us in many ways
27
- to create R2CORBA.
28
-
29
- * Paul Brannan of Automated Trading Desk, LLC for his insightfull
30
- comments on the first release of the Ruby CORBA language mapping.
31
-
32
- * Renato Lucindo and Eider Oliveira for their remarks and fixes for
33
- the IDL compiler.
34
-
35
- * Ragnar Dahlen for his tests and comments.
36
-
37
- * William Otte for his patches for the Mac OSX port.
38
-
39
- * David MacMahon for his comments and tests, especially with regard to
40
- omniORBpy interoperability.
41
-
42
- * David MacMahon for his Multi_Threading/Threads test.
43
-
44
- * Joel Hahn for reporting the union implicit default bug and
45
- providing partial patches.
46
-
47
- * Karsten Richter for reporting a bug in union implicit default
48
- handling and providing a partial patch and regression test.
49
-
50
- * Grant Birchmeier for reporting the RIDL logger bug (triggered
51
- by an unknown pragma)
52
-
1
+
2
+ Our thanks go to:
3
+
4
+ * Yukihiro Matsumoto, aka “Matz”, for creating the wonderfully
5
+ powerful and elegant programming language named Ruby.
6
+ With him we also thank all those who have contributed to the
7
+ Ruby programming tool and have made Ruby what it is today.
8
+
9
+ * Charles Oliver Nutter, aka "headius", and the other people of
10
+ the JRuby core development team for bringing that wonderful
11
+ programming language that Matz created to Java.
12
+
13
+ * Prof. Douglas Schmidt for (and all his collaborators) for creating
14
+ a high-quality OpenSource CORBA compliant ORB. The high level of
15
+ OS abstraction and multiplatform compatibility of this software
16
+ make it an ideal ingredient for a Ruby CORBA implementation.
17
+
18
+ * The people of the JacORB development team (a.o. Gerald Brose and
19
+ Andre Spiegel) and all their collaborators for creating a high-
20
+ performance, multi threaded and spec compliant ORB for the
21
+ Java environment.
22
+
23
+ * Minero Aoki for creating the original 'setup.rb' install script.
24
+
25
+ * Daisuke Kanda for his initial work on CORBA bindings for Ruby from
26
+ 2001 (incl. RINN and Ruby-Orbit) which has helped us in many ways
27
+ to create R2CORBA.
28
+
29
+ * Paul Brannan of Automated Trading Desk, LLC for his insightfull
30
+ comments on the first release of the Ruby CORBA language mapping.
31
+
32
+ * Renato Lucindo and Eider Oliveira for their remarks and fixes for
33
+ the IDL compiler.
34
+
35
+ * Ragnar Dahlen for his tests and comments.
36
+
37
+ * William Otte for his patches for the Mac OSX port.
38
+
39
+ * David MacMahon for his comments and tests, especially with regard to
40
+ omniORBpy interoperability.
41
+
42
+ * David MacMahon for his Multi_Threading/Threads test.
43
+
44
+ * Joel Hahn for reporting the union implicit default bug and
45
+ providing partial patches.
46
+
47
+ * Karsten Richter for reporting a bug in union implicit default
48
+ handling and providing a partial patch and regression test.
49
+
50
+ * Grant Birchmeier for reporting the RIDL logger bug (triggered
51
+ by an unknown pragma)
52
+
53
+ * Andrey Mramornov for reporting and testing the R2CORBA build
54
+ problems on Ubuntu.
data/bin/r2corba CHANGED
@@ -1,4 +1,4 @@
1
- #!/bin/env ruby
1
+ #!/bin/ruby
2
2
  #---------------------------------
3
3
  # This file is generated
4
4
  #---------------------------------
data/bin/ridlc CHANGED
@@ -1,4 +1,4 @@
1
- #!/bin/env ruby
1
+ #!/bin/ruby
2
2
  #---------------------------------
3
3
  # This file is generated
4
4
  #---------------------------------
data/bin/rins CHANGED
@@ -1,4 +1,4 @@
1
- #!/bin/env ruby
1
+ #!/bin/ruby
2
2
  #---------------------------------
3
3
  # This file is generated
4
4
  #---------------------------------
data/lib/corba.rb CHANGED
@@ -1,16 +1,16 @@
1
- #--------------------------------------------------------------------
2
- # corba.rb -
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
- require "corba/require.rb"
15
-
16
- include R2CORBA
1
+ #--------------------------------------------------------------------
2
+ # corba.rb -
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
+ require "corba/require.rb"
15
+
16
+ include R2CORBA
@@ -1,33 +1,33 @@
1
- #--------------------------------------------------------------------
2
- # iormap.rb - C++/TAO 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
- require 'corba/idl/IORTableC'
14
-
15
- module R2CORBA
16
- class IORMap
17
- def initialize(orb)
18
- obj = orb.resolve_initial_references('IORTable')
19
- @iortbl = IORTable::Table._narrow(obj)
20
- end
21
-
22
- def map_ior(object_key, ior)
23
- @iortbl.rebind(object_key, ior)
24
- end
25
-
26
- def unmap_ior(object_key)
27
- begin
28
- @iortbl.unbind(object_key)
29
- rescue IORTable::NotFound
30
- end
31
- end
32
- end
33
- end
1
+ #--------------------------------------------------------------------
2
+ # iormap.rb - C++/TAO 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
+ require 'corba/idl/IORTableC'
14
+
15
+ module R2CORBA
16
+ class IORMap
17
+ def initialize(orb)
18
+ obj = orb.resolve_initial_references('IORTable')
19
+ @iortbl = IORTable::Table._narrow(obj)
20
+ end
21
+
22
+ def map_ior(object_key, ior)
23
+ @iortbl.rebind(object_key, ior)
24
+ end
25
+
26
+ def unmap_ior(object_key)
27
+ begin
28
+ @iortbl.unbind(object_key)
29
+ rescue IORTable::NotFound
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,231 +1,237 @@
1
- #--------------------------------------------------------------------
2
- # ORB.rb - C++/TAO 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
- require 'monitor'
14
-
15
- module R2CORBA
16
- module CORBA
17
-
18
- module ORB
19
-
20
- @@_default_args = []
21
- unless R2CORBA::TAO::RUBY_THREAD_SUPPORT
22
- # to prevent problems with "green threads" model of Ruby <=1.8.x run TAO
23
- # without nested upcalls; preventing thread reuse and re-entrancy
24
- @@_default_args << '-ORBSvcConfDirective'
25
- @@_default_args << 'static Client_Strategy_Factory "-ORBClientConnectionHandler MT_NOUPCALL"'
26
- end
27
-
28
- ## init() or init(arg1, arg2, arg3[, ...]) or init(orb_id, prop = {}) or init(argv, orb_id, prop={}) or init(argv, prop={})
29
- def self.init(*args)
30
- n_orb = if args.empty? && @@_default_args.empty?
31
- @@cached_orb = CORBA::Native::ORB.init
32
- else
33
- argv = []
34
- orb_id = nil
35
- prop = nil
36
- a1, a2, a3 = args
37
- if Array === a1
38
- raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>3
39
- argv = a1
40
- orb_id = (Hash === a2 ? nil : a2)
41
- prop = (Hash === a2 ? a2 : a3)
42
- elsif args.size == 1 || Hash === a2
43
- raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>2
44
- orb_id = a1
45
- prop = a2
46
- else
47
- argv = args
48
- end
49
- raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
50
- unless prop.nil?()
51
- prop.inject(argv) {|a,(k,v)| a << k; a << v; a}
52
- end
53
- @@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.concat(@@_default_args), orb_id.nil?() ? nil : orb_id.to_s)
54
- end
55
- unless n_orb.nil?() || @@vf_queue.empty?()
56
- @@vf_queue.process_all { |vfklass| vfklass._check_factory }
57
- end
58
- @@wrapper_klass.new(n_orb)
59
- end
60
-
61
- =begin
62
- // Thread related operations
63
- =end
64
-
65
- # ret [boolean, <time left>] if !timeout.nil? else boolean
66
- def work_pending(timeout = nil)
67
- begin
68
- self.orb_.work_pending(timeout)
69
- rescue ::NativeException
70
- CORBA::Exception.native2r($!)
71
- end
72
- end
73
-
74
- # ret <time left> if !timeout.nil? else void
75
- def perform_work(timeout = nil)
76
- begin
77
- self.orb_.perform_work(timeout)
78
- rescue ::NativeException
79
- CORBA::Exception.native2r($!)
80
- end
81
- end
82
-
83
- # safe to run in thread; even in pre-1.9 MRI Ruby
84
- # ret <time left> if !timeout.nil? else void
85
- def run(timeout = nil)
86
- if R2CORBA::TAO::RUBY_THREAD_SUPPORT
87
- begin
88
- self.orb_.run(timeout)
89
- rescue ::NativeException
90
- CORBA::Exception.native2r($!)
91
- end
92
- else
93
- @running ||= true
94
- raise CORBA::BAD_INV_ORDER.new('ORB has been shutdown', 0, CORBA::COMPLETED_NO) if @shutdown
95
- while (timeout.nil? or timeout>0) and !@shutdown
96
- to = timeout || 0.05
97
- f, to = self.work_pending(to)
98
- timeout = to unless timeout.nil?
99
- if f and !@shutdown and (timeout.nil? or timeout>0)
100
- to = timeout || 0.05
101
- to = self.perform_work(to)
102
- timeout = to unless timeout.nil?
103
- end
104
- Thread.pass unless @shutdown
105
- end
106
- end
107
- end
108
-
109
- unless R2CORBA::TAO::RUBY_THREAD_SUPPORT
110
- # starts blocking ORB event loop in MRI Ruby 1.8, i.e. no thread support
111
- # ret <time left> if !timeout.nil? else void
112
- def run_blocked(timeout = nil)
113
- begin
114
- self.orb_.run(timeout)
115
- rescue ::NativeException
116
- CORBA::Exception.native2r($!)
117
- end
118
- end
119
- end
120
-
121
- # boolean wait_for_completion
122
- # ret void
123
- def shutdown(wait_for_completion = false)
124
- if R2CORBA::TAO::RUBY_THREAD_SUPPORT or !@running
125
- begin
126
- self.orb_.shutdown(wait_for_completion)
127
- rescue ::NativeException
128
- CORBA::Exception.native2r($!)
129
- end
130
- else
131
- @shutdown = true
132
- end
133
- end
134
-
135
- ## custom
136
- @@vf_queue = (Class.new(Monitor) do
137
- def initialize
138
- @q_ = []
139
- super
140
- end
141
- def push(vfklass)
142
- synchronize do
143
- @q_ << vfklass
144
- end
145
- end
146
- def process_all(&block)
147
- synchronize do
148
- @q_.each { |vf| block.call(vf) }
149
- @q_.clear
150
- end
151
- end
152
- def empty?()
153
- f = false
154
- synchronize do
155
- f = @q_.empty?
156
- end
157
- f
158
- end
159
- end).new
160
-
161
- def self._check_value_factory(vfklass)
162
- if @@cached_orb.nil?
163
- @@vf_queue.push(vfklass)
164
- else
165
- vfklass._check_factory
166
- end
167
- end
168
-
169
- # custom R2CORBA extension : IORMap
170
-
171
- def ior_map
172
- @iormap ||= R2CORBA::IORMap.new(self)
173
- end
174
-
175
- end # ORB
176
-
177
- =begin
178
- Signal trapping
179
- =end
180
- private
181
- @@sigreg = {}
182
- def CORBA.signal_numbers
183
- ( [1, # HUP
184
- 2, # INT
185
- 3, # QUIT
186
- 5, # TRAP
187
- 6, # ABRT
188
- 10, # USR1
189
- 12, # USR2
190
- 13, # SIGPIPE
191
- 14, # ALRM
192
- 15, # TERM
193
- 17, # CHLD
194
- 18, # CONT
195
- 19, # STOP
196
- 23, # URG
197
- 30, # PWR
198
- 31 # SYS
199
- ]) & Signal.list.values
200
- end
201
-
202
- def CORBA.handled_signals
203
- @@sigreg.clear
204
- sigs = self.signal_numbers.collect do |signum|
205
- sigcmd = Signal.trap(signum, 'DEFAULT')
206
- Signal.trap(signum, sigcmd)
207
- @@sigreg[signum] = sigcmd
208
- if sigcmd.respond_to?(:call) or ['IGNORE','SIG_IGN','EXIT'].include?(sigcmd.to_s)
209
- signum
210
- else
211
- nil
212
- end
213
- end.compact
214
- sigs
215
- end
216
-
217
- def CORBA.handle_signal(signum)
218
- if @@sigreg.has_key?(signum)
219
- if @@sigreg[signum].respond_to?(:call)
220
- if @@sigreg[signum].respond_to?(:parameters) && @@sigreg[signum].parameters.size>0
221
- @@sigreg[signum].call(signum)
222
- else
223
- @@sigreg[signum].call
224
- end
225
- elsif @@sigreg[signum].to_s == 'EXIT'
226
- Kernel.exit!(signum)
227
- end
228
- end
229
- end
230
- end # CORBA
231
- end # R2CORBA
1
+ #--------------------------------------------------------------------
2
+ # ORB.rb - C++/TAO 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
+ require 'monitor'
14
+
15
+ module R2CORBA
16
+ module CORBA
17
+
18
+ module ORB
19
+
20
+ class << self
21
+ protected
22
+ def _singleton_orb_init
23
+ CORBA::Native::ORB.init
24
+ end
25
+ end
26
+
27
+ @@_default_args = []
28
+ unless R2CORBA::TAO::RUBY_THREAD_SUPPORT
29
+ # to prevent problems with "green threads" model of Ruby <=1.8.x run TAO
30
+ # without nested upcalls; preventing thread reuse and re-entrancy
31
+ @@_default_args << '-ORBSvcConfDirective'
32
+ @@_default_args << 'static Client_Strategy_Factory "-ORBClientConnectionHandler MT_NOUPCALL"'
33
+ end
34
+
35
+ ## init() or init(arg1, arg2, arg3[, ...]) or init(orb_id, prop = {}) or init(argv, orb_id, prop={}) or init(argv, prop={})
36
+ def self.init(*args)
37
+ n_orb = if args.empty? && @@_default_args.empty?
38
+ _singleton_orb_init
39
+ else
40
+ argv = []
41
+ orb_id = nil
42
+ prop = nil
43
+ a1, a2, a3 = args
44
+ if Array === a1
45
+ raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>3
46
+ argv = a1
47
+ orb_id = (Hash === a2 ? nil : a2)
48
+ prop = (Hash === a2 ? a2 : a3)
49
+ elsif args.size == 1 || Hash === a2
50
+ raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>2
51
+ orb_id = a1
52
+ prop = a2
53
+ else
54
+ argv = args
55
+ end
56
+ raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
57
+ unless prop.nil?()
58
+ prop.inject(argv) {|a,(k,v)| a << k; a << v; a}
59
+ end
60
+ @@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.concat(@@_default_args), orb_id.nil?() ? nil : orb_id.to_s)
61
+ end
62
+ unless n_orb.nil?() || @@vf_queue.empty?()
63
+ @@vf_queue.process_all { |vfklass| vfklass._check_factory }
64
+ end
65
+ @@wrapper_klass.new(n_orb)
66
+ end
67
+
68
+ =begin
69
+ // Thread related operations
70
+ =end
71
+
72
+ # ret [boolean, <time left>] if !timeout.nil? else boolean
73
+ def work_pending(timeout = nil)
74
+ begin
75
+ self.orb_.work_pending(timeout)
76
+ rescue ::NativeException
77
+ CORBA::Exception.native2r($!)
78
+ end
79
+ end
80
+
81
+ # ret <time left> if !timeout.nil? else void
82
+ def perform_work(timeout = nil)
83
+ begin
84
+ self.orb_.perform_work(timeout)
85
+ rescue ::NativeException
86
+ CORBA::Exception.native2r($!)
87
+ end
88
+ end
89
+
90
+ # safe to run in thread; even in pre-1.9 MRI Ruby
91
+ # ret <time left> if !timeout.nil? else void
92
+ def run(timeout = nil)
93
+ if R2CORBA::TAO::RUBY_THREAD_SUPPORT
94
+ begin
95
+ self.orb_.run(timeout)
96
+ rescue ::NativeException
97
+ CORBA::Exception.native2r($!)
98
+ end
99
+ else
100
+ @running ||= true
101
+ raise CORBA::BAD_INV_ORDER.new('ORB has been shutdown', 0, CORBA::COMPLETED_NO) if @shutdown
102
+ while (timeout.nil? or timeout>0) and !@shutdown
103
+ to = timeout || 0.05
104
+ f, to = self.work_pending(to)
105
+ timeout = to unless timeout.nil?
106
+ if f and !@shutdown and (timeout.nil? or timeout>0)
107
+ to = timeout || 0.05
108
+ to = self.perform_work(to)
109
+ timeout = to unless timeout.nil?
110
+ end
111
+ Thread.pass unless @shutdown
112
+ end
113
+ end
114
+ end
115
+
116
+ unless R2CORBA::TAO::RUBY_THREAD_SUPPORT
117
+ # starts blocking ORB event loop in MRI Ruby 1.8, i.e. no thread support
118
+ # ret <time left> if !timeout.nil? else void
119
+ def run_blocked(timeout = nil)
120
+ begin
121
+ self.orb_.run(timeout)
122
+ rescue ::NativeException
123
+ CORBA::Exception.native2r($!)
124
+ end
125
+ end
126
+ end
127
+
128
+ # boolean wait_for_completion
129
+ # ret void
130
+ def shutdown(wait_for_completion = false)
131
+ if R2CORBA::TAO::RUBY_THREAD_SUPPORT or !@running
132
+ begin
133
+ self.orb_.shutdown(wait_for_completion)
134
+ rescue ::NativeException
135
+ CORBA::Exception.native2r($!)
136
+ end
137
+ else
138
+ @shutdown = true
139
+ end
140
+ end
141
+
142
+ ## custom
143
+ @@vf_queue = (Class.new(Monitor) do
144
+ def initialize
145
+ @q_ = []
146
+ super
147
+ end
148
+ def push(vfklass)
149
+ synchronize do
150
+ @q_ << vfklass
151
+ end
152
+ end
153
+ def process_all(&block)
154
+ synchronize do
155
+ @q_.each { |vf| block.call(vf) }
156
+ @q_.clear
157
+ end
158
+ end
159
+ def empty?()
160
+ f = false
161
+ synchronize do
162
+ f = @q_.empty?
163
+ end
164
+ f
165
+ end
166
+ end).new
167
+
168
+ def self._check_value_factory(vfklass)
169
+ if @@cached_orb.nil?
170
+ @@vf_queue.push(vfklass)
171
+ else
172
+ vfklass._check_factory
173
+ end
174
+ end
175
+
176
+ # custom R2CORBA extension : IORMap
177
+
178
+ def ior_map
179
+ @iormap ||= R2CORBA::IORMap.new(self)
180
+ end
181
+
182
+ end # ORB
183
+
184
+ =begin
185
+ Signal trapping
186
+ =end
187
+ private
188
+ @@sigreg = {}
189
+ def CORBA.signal_numbers
190
+ ( [1, # HUP
191
+ 2, # INT
192
+ 3, # QUIT
193
+ 5, # TRAP
194
+ 6, # ABRT
195
+ 10, # USR1
196
+ 12, # USR2
197
+ 13, # SIGPIPE
198
+ 14, # ALRM
199
+ 15, # TERM
200
+ 17, # CHLD
201
+ 18, # CONT
202
+ 23, # URG
203
+ 30, # PWR
204
+ 31 # SYS
205
+ ]) & Signal.list.values
206
+ end
207
+
208
+ def CORBA.handled_signals
209
+ @@sigreg.clear
210
+ sigs = self.signal_numbers.collect do |signum|
211
+ sigcmd = Signal.trap(signum, 'DEFAULT')
212
+ Signal.trap(signum, sigcmd)
213
+ @@sigreg[signum] = sigcmd
214
+ if sigcmd.respond_to?(:call) or ['IGNORE','SIG_IGN','EXIT'].include?(sigcmd.to_s)
215
+ signum
216
+ else
217
+ nil
218
+ end
219
+ end.compact
220
+ sigs
221
+ end
222
+
223
+ def CORBA.handle_signal(signum)
224
+ if @@sigreg.has_key?(signum)
225
+ if @@sigreg[signum].respond_to?(:call)
226
+ if @@sigreg[signum].respond_to?(:parameters) && @@sigreg[signum].parameters.size>0
227
+ @@sigreg[signum].call(signum)
228
+ else
229
+ @@sigreg[signum].call
230
+ end
231
+ elsif @@sigreg[signum].to_s == 'EXIT'
232
+ Kernel.exit!(signum)
233
+ end
234
+ end
235
+ end
236
+ end # CORBA
237
+ end # R2CORBA