r2corba 1.5.1-universal-java

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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +173 -0
  3. data/LICENSE +59 -0
  4. data/LICENSE.jacorb +660 -0
  5. data/README +62 -0
  6. data/THANKS +54 -0
  7. data/bin/r2corba +8 -0
  8. data/bin/r2corba.bat +20 -0
  9. data/bin/ridlc +11 -0
  10. data/bin/ridlc.bat +23 -0
  11. data/bin/rins +7 -0
  12. data/bin/rins.bat +19 -0
  13. data/jacorb/lib/antlr-2.7.2.jar +0 -0
  14. data/jacorb/lib/jacorb-3.5.jar +0 -0
  15. data/jacorb/lib/jacorb-omgapi-3.5.jar +0 -0
  16. data/jacorb/lib/jacorb-services-3.5.jar +0 -0
  17. data/jacorb/lib/slf4j-api-1.7.6.jar +0 -0
  18. data/jacorb/lib/slf4j-jdk14-1.7.6.jar +0 -0
  19. data/lib/corba.rb +16 -0
  20. data/lib/corba/cbase/IORMap.rb +33 -0
  21. data/lib/corba/cbase/ORB.rb +237 -0
  22. data/lib/corba/cbase/Request.rb +134 -0
  23. data/lib/corba/cbase/Streams.rb +129 -0
  24. data/lib/corba/cbase/Stub.rb +19 -0
  25. data/lib/corba/cbase/Typecode.rb +441 -0
  26. data/lib/corba/cbase/Values.rb +129 -0
  27. data/lib/corba/cbase/exception.rb +66 -0
  28. data/lib/corba/cbase/poa.rb +23 -0
  29. data/lib/corba/cbase/policies.rb +78 -0
  30. data/lib/corba/cbase/post_require.rb +14 -0
  31. data/lib/corba/cbase/require.rb +28 -0
  32. data/lib/corba/cmds/base.rb +85 -0
  33. data/lib/corba/cmds/test.rb +30 -0
  34. data/lib/corba/common/Any.rb +91 -0
  35. data/lib/corba/common/IDL.rb +104 -0
  36. data/lib/corba/common/ORB.rb +368 -0
  37. data/lib/corba/common/Object.rb +208 -0
  38. data/lib/corba/common/Request.rb +20 -0
  39. data/lib/corba/common/Servant.rb +108 -0
  40. data/lib/corba/common/Struct.rb +22 -0
  41. data/lib/corba/common/Stub.rb +79 -0
  42. data/lib/corba/common/Typecode.rb +1121 -0
  43. data/lib/corba/common/Union.rb +56 -0
  44. data/lib/corba/common/Values.rb +92 -0
  45. data/lib/corba/common/const.rb +22 -0
  46. data/lib/corba/common/exception.rb +68 -0
  47. data/lib/corba/common/require.rb +27 -0
  48. data/lib/corba/common/version.rb +22 -0
  49. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  50. data/lib/corba/idl/CosNamingC.rb +461 -0
  51. data/lib/corba/idl/CosNamingS.rb +309 -0
  52. data/lib/corba/idl/IDL.rb +21 -0
  53. data/lib/corba/idl/IORTable.pidl +62 -0
  54. data/lib/corba/idl/MessagingC.rb +904 -0
  55. data/lib/corba/idl/POAC.rb +930 -0
  56. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  57. data/lib/corba/idl/r2c_orb.rb +572 -0
  58. data/lib/corba/idl/require.rb +20 -0
  59. data/lib/corba/jbase/Any.rb +273 -0
  60. data/lib/corba/jbase/IORMap.rb +36 -0
  61. data/lib/corba/jbase/ORB.rb +112 -0
  62. data/lib/corba/jbase/Object.rb +99 -0
  63. data/lib/corba/jbase/Request.rb +226 -0
  64. data/lib/corba/jbase/Servant.rb +248 -0
  65. data/lib/corba/jbase/ServerRequest.rb +128 -0
  66. data/lib/corba/jbase/Streams.rb +671 -0
  67. data/lib/corba/jbase/Stub.rb +38 -0
  68. data/lib/corba/jbase/Typecode.rb +520 -0
  69. data/lib/corba/jbase/Values.rb +173 -0
  70. data/lib/corba/jbase/exception.rb +106 -0
  71. data/lib/corba/jbase/poa.rb +229 -0
  72. data/lib/corba/jbase/policies.rb +300 -0
  73. data/lib/corba/jbase/post_require.rb +14 -0
  74. data/lib/corba/jbase/require.rb +89 -0
  75. data/lib/corba/naming.rb +14 -0
  76. data/lib/corba/naming_service.rb +15 -0
  77. data/lib/corba/poa.rb +15 -0
  78. data/lib/corba/policies.rb +18 -0
  79. data/lib/corba/require.rb +17 -0
  80. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  81. data/lib/corba/svcs/ins/ins.rb +526 -0
  82. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  83. data/lib/ridlbe/ruby/config.rb +336 -0
  84. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  85. data/lib/ridlbe/ruby/require.rb +16 -0
  86. data/lib/ridlbe/ruby/walker.rb +1582 -0
  87. data/mkrf_conf_bingem.rb +151 -0
  88. data/rakelib/bin.rake +80 -0
  89. data/rakelib/bin.rb +146 -0
  90. data/rakelib/build.rake +87 -0
  91. data/rakelib/config.rake +52 -0
  92. data/rakelib/config.rb +544 -0
  93. data/rakelib/gem.rake +236 -0
  94. data/rakelib/gem.rb +146 -0
  95. data/rakelib/package.rake +26 -0
  96. data/rakelib/test.rake +23 -0
  97. data/test/BiDirectional/Test.idl +34 -0
  98. data/test/BiDirectional/client.rb +132 -0
  99. data/test/BiDirectional/run_test.rb +68 -0
  100. data/test/BiDirectional/server.ior +1 -0
  101. data/test/BiDirectional/server.rb +169 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  105. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  106. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  107. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  108. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  109. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  110. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  111. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  112. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  113. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  114. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  115. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  116. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  117. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  118. data/test/Collocation/Diamond.idl +39 -0
  119. data/test/Collocation/run_test.rb +52 -0
  120. data/test/Collocation/test.rb +195 -0
  121. data/test/Connect_Timeout/Test.idl +27 -0
  122. data/test/Connect_Timeout/client.rb +111 -0
  123. data/test/Connect_Timeout/run_test.rb +52 -0
  124. data/test/DII/Test.idl +27 -0
  125. data/test/DII/client.rb +115 -0
  126. data/test/DII/run_test.rb +69 -0
  127. data/test/DII/server.ior +1 -0
  128. data/test/DII/server.rb +95 -0
  129. data/test/DSI/Test.idl +27 -0
  130. data/test/DSI/client.rb +66 -0
  131. data/test/DSI/run_test.rb +69 -0
  132. data/test/DSI/server.ior +1 -0
  133. data/test/DSI/server.rb +106 -0
  134. data/test/Exceptions/Test.idl +48 -0
  135. data/test/Exceptions/client.rb +118 -0
  136. data/test/Exceptions/run_test.rb +69 -0
  137. data/test/Exceptions/server.ior +1 -0
  138. data/test/Exceptions/server.rb +131 -0
  139. data/test/Hello/Test.idl +27 -0
  140. data/test/Hello/client.rb +78 -0
  141. data/test/Hello/gateway.ior +1 -0
  142. data/test/Hello/run_test.rb +71 -0
  143. data/test/Hello/server.rb +95 -0
  144. data/test/IDL_Test/Test.idl +113 -0
  145. data/test/IDL_Test/Test_inc.idl +17 -0
  146. data/test/IDL_Test/client.rb +102 -0
  147. data/test/IDL_Test/run_test.rb +69 -0
  148. data/test/IDL_Test/server.ior +1 -0
  149. data/test/IDL_Test/server.rb +99 -0
  150. data/test/IORMap/Test.idl +27 -0
  151. data/test/IORMap/client.rb +73 -0
  152. data/test/IORMap/run_test.rb +69 -0
  153. data/test/IORMap/server.ior +1 -0
  154. data/test/IORMap/server.rb +114 -0
  155. data/test/IORTable/Test.idl +27 -0
  156. data/test/IORTable/client.rb +75 -0
  157. data/test/IORTable/run_test.rb +69 -0
  158. data/test/IORTable/server.ior +0 -0
  159. data/test/IORTable/server.rb +130 -0
  160. data/test/Implicit_Conversion/Test.idl +31 -0
  161. data/test/Implicit_Conversion/client.rb +110 -0
  162. data/test/Implicit_Conversion/run_test.rb +69 -0
  163. data/test/Implicit_Conversion/server.ior +1 -0
  164. data/test/Implicit_Conversion/server.rb +99 -0
  165. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  166. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  167. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  168. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  169. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  170. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  171. data/test/Multi_Threading/Simple/Test.idl +27 -0
  172. data/test/Multi_Threading/Simple/client.rb +93 -0
  173. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  174. data/test/Multi_Threading/Simple/server.ior +1 -0
  175. data/test/Multi_Threading/Simple/server.rb +118 -0
  176. data/test/Multi_Threading/Threads/Test.idl +31 -0
  177. data/test/Multi_Threading/Threads/client.rb +80 -0
  178. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  179. data/test/Multi_Threading/Threads/server.ior +1 -0
  180. data/test/Multi_Threading/Threads/server.rb +119 -0
  181. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  182. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  183. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  184. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  185. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  186. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  187. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  188. data/test/Nil/Test.idl +27 -0
  189. data/test/Nil/run_test.rb +52 -0
  190. data/test/Nil/test.rb +78 -0
  191. data/test/OBV/AbstractInterface/client.rb +179 -0
  192. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  193. data/test/OBV/AbstractInterface/server.ior +1 -0
  194. data/test/OBV/AbstractInterface/server.rb +149 -0
  195. data/test/OBV/AbstractInterface/test.idl +53 -0
  196. data/test/OBV/Custom/OBV.idl +18 -0
  197. data/test/OBV/Custom/OBV_impl.rb +40 -0
  198. data/test/OBV/Custom/client.rb +86 -0
  199. data/test/OBV/Custom/run_test.rb +69 -0
  200. data/test/OBV/Custom/server.ior +1 -0
  201. data/test/OBV/Custom/server.rb +100 -0
  202. data/test/OBV/Simple/OBV.idl +15 -0
  203. data/test/OBV/Simple/OBV_impl.rb +26 -0
  204. data/test/OBV/Simple/client.rb +86 -0
  205. data/test/OBV/Simple/run_test.rb +69 -0
  206. data/test/OBV/Simple/server.ior +1 -0
  207. data/test/OBV/Simple/server.rb +100 -0
  208. data/test/OBV/Simple_Event/Event.idl +15 -0
  209. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  210. data/test/OBV/Simple_Event/client.rb +86 -0
  211. data/test/OBV/Simple_Event/run_test.rb +69 -0
  212. data/test/OBV/Simple_Event/server.ior +1 -0
  213. data/test/OBV/Simple_Event/server.rb +100 -0
  214. data/test/OBV/Supports/client.rb +116 -0
  215. data/test/OBV/Supports/run_test.rb +69 -0
  216. data/test/OBV/Supports/server.ior +1 -0
  217. data/test/OBV/Supports/server.rb +103 -0
  218. data/test/OBV/Supports/supports.idl +33 -0
  219. data/test/OBV/Supports/supports_impl.rb +57 -0
  220. data/test/OBV/Tree/client.rb +116 -0
  221. data/test/OBV/Tree/run_test.rb +69 -0
  222. data/test/OBV/Tree/server.ior +1 -0
  223. data/test/OBV/Tree/server.rb +117 -0
  224. data/test/OBV/Tree/test.idl +32 -0
  225. data/test/OBV/Truncatable/Extra.idl +27 -0
  226. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  227. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  228. data/test/OBV/Truncatable/client.rb +279 -0
  229. data/test/OBV/Truncatable/run_test.rb +69 -0
  230. data/test/OBV/Truncatable/server.ior +1 -0
  231. data/test/OBV/Truncatable/server.rb +89 -0
  232. data/test/OBV/ValueBox/client.rb +497 -0
  233. data/test/OBV/ValueBox/run_test.rb +69 -0
  234. data/test/OBV/ValueBox/server.ior +1 -0
  235. data/test/OBV/ValueBox/server.rb +271 -0
  236. data/test/OBV/ValueBox/valuebox.idl +101 -0
  237. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  238. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  239. data/test/OBV/ValueBox/vb_union.idl +21 -0
  240. data/test/Object/Test.idl +27 -0
  241. data/test/Object/client.rb +112 -0
  242. data/test/Object/run_test.rb +69 -0
  243. data/test/Object/server.ior +1 -0
  244. data/test/Object/server.rb +126 -0
  245. data/test/POA/Test.idl +27 -0
  246. data/test/POA/run_test.rb +52 -0
  247. data/test/POA/test.rb +112 -0
  248. data/test/Param_Test/Test.idl +182 -0
  249. data/test/Param_Test/client.rb +277 -0
  250. data/test/Param_Test/run_test.rb +69 -0
  251. data/test/Param_Test/server.ior +1 -0
  252. data/test/Param_Test/server.rb +296 -0
  253. data/test/Performance/Simple/Test.idl +27 -0
  254. data/test/Performance/Simple/client.rb +90 -0
  255. data/test/Performance/Simple/run_test.rb +69 -0
  256. data/test/Performance/Simple/server.ior +1 -0
  257. data/test/Performance/Simple/server.rb +95 -0
  258. data/test/Policies/Test.idl +27 -0
  259. data/test/Policies/run_test.rb +52 -0
  260. data/test/Policies/test.rb +144 -0
  261. data/test/Timeout/client.rb +207 -0
  262. data/test/Timeout/run_test.rb +69 -0
  263. data/test/Timeout/server.ior +1 -0
  264. data/test/Timeout/server.rb +109 -0
  265. data/test/Timeout/test.idl +19 -0
  266. data/test/lib/assert.rb +43 -0
  267. data/test/lib/test.rb +542 -0
  268. data/test/test.log +20 -0
  269. data/test/test2.log +5000 -0
  270. data/test/test_runner.rb +193 -0
  271. metadata +349 -0
data/README ADDED
@@ -0,0 +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
+
data/THANKS ADDED
@@ -0,0 +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
+
53
+ * Andrey Mramornov for reporting and testing the R2CORBA build
54
+ problems on Ubuntu.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env jruby
2
+ #---------------------------------
3
+ # This file is generated
4
+ #---------------------------------
5
+ unless defined? Gem
6
+ require 'rubygems' rescue nil
7
+ end
8
+ require 'corba/cmds/base'
@@ -0,0 +1,20 @@
1
+ @echo off
2
+ if not "%~f0" == "~f0" goto WinNT
3
+ jruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
4
+ goto endofruby
5
+ :WinNT
6
+ if not exist "%~d0%~p0jruby" goto rubyfrompath
7
+ if exist "%~d0%~p0jruby" "%~d0%~p0jruby" -x "%~f0" %*
8
+ goto endofruby
9
+ :rubyfrompath
10
+ jruby -x "%~f0" %*
11
+ goto endofruby
12
+ #!/bin/jruby
13
+ #
14
+ unless defined? Gem
15
+ require 'rubygems' rescue nil
16
+ end
17
+ require 'corba/cmds/base'
18
+
19
+ __END__
20
+ :endofruby
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env jruby
2
+ #---------------------------------
3
+ # This file is generated
4
+ #---------------------------------
5
+ ENV['RIDL_BE_SELECT'] = 'ruby'
6
+ unless defined? Gem
7
+ require 'rubygems' rescue nil
8
+ end
9
+ require 'ridl/ridl'
10
+
11
+ IDL.run
@@ -0,0 +1,23 @@
1
+ @echo off
2
+ if not "%~f0" == "~f0" goto WinNT
3
+ jruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
4
+ goto endofruby
5
+ :WinNT
6
+ if not exist "%~d0%~p0jruby" goto rubyfrompath
7
+ if exist "%~d0%~p0jruby" "%~d0%~p0jruby" -x "%~f0" %*
8
+ goto endofruby
9
+ :rubyfrompath
10
+ jruby -x "%~f0" %*
11
+ goto endofruby
12
+ #!/bin/jruby
13
+ #
14
+ ENV['RIDL_BE_SELECT'] = 'ruby'
15
+ unless defined? Gem
16
+ require 'rubygems' rescue nil
17
+ end
18
+ require 'ridl/ridl'
19
+
20
+ IDL.run
21
+
22
+ __END__
23
+ :endofruby
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env jruby
2
+ #---------------------------------
3
+ # This file is generated
4
+ #---------------------------------
5
+ require 'corba/svcs/ins/ins'
6
+
7
+ INS.run
@@ -0,0 +1,19 @@
1
+ @echo off
2
+ if not "%~f0" == "~f0" goto WinNT
3
+ jruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
4
+ goto endofruby
5
+ :WinNT
6
+ if not exist "%~d0%~p0jruby" goto rubyfrompath
7
+ if exist "%~d0%~p0jruby" "%~d0%~p0jruby" -x "%~f0" %*
8
+ goto endofruby
9
+ :rubyfrompath
10
+ jruby -x "%~f0" %*
11
+ goto endofruby
12
+ #!/bin/jruby
13
+ #
14
+ require 'corba/svcs/ins/ins'
15
+
16
+ INS.run
17
+
18
+ __END__
19
+ :endofruby
Binary file
@@ -0,0 +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
@@ -0,0 +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
@@ -0,0 +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
+ 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