r2corba 1.4.1-universal-java-1.7

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 (266) hide show
  1. data/CHANGES +159 -0
  2. data/LICENSE +59 -0
  3. data/LICENSE.jacorb +660 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/r2corba.bat +20 -0
  8. data/bin/ridlc +11 -0
  9. data/bin/ridlc.bat +23 -0
  10. data/bin/rins +7 -0
  11. data/bin/rins.bat +19 -0
  12. data/jacorb/lib/antlr-2.7.2.jar +0 -0
  13. data/jacorb/lib/jacorb-services.jar +0 -0
  14. data/jacorb/lib/jacorb.jar +0 -0
  15. data/jacorb/lib/slf4j-api-1.6.4.jar +0 -0
  16. data/jacorb/lib/slf4j-jdk14-1.6.4.jar +0 -0
  17. data/lib/corba/cbase/IORMap.rb +33 -0
  18. data/lib/corba/cbase/ORB.rb +231 -0
  19. data/lib/corba/cbase/Request.rb +134 -0
  20. data/lib/corba/cbase/Streams.rb +129 -0
  21. data/lib/corba/cbase/Stub.rb +19 -0
  22. data/lib/corba/cbase/Typecode.rb +441 -0
  23. data/lib/corba/cbase/Values.rb +129 -0
  24. data/lib/corba/cbase/exception.rb +66 -0
  25. data/lib/corba/cbase/poa.rb +23 -0
  26. data/lib/corba/cbase/policies.rb +78 -0
  27. data/lib/corba/cbase/post_require.rb +14 -0
  28. data/lib/corba/cbase/require.rb +28 -0
  29. data/lib/corba/cmds/base.rb +85 -0
  30. data/lib/corba/cmds/test.rb +30 -0
  31. data/lib/corba/common/Any.rb +91 -0
  32. data/lib/corba/common/IDL.rb +104 -0
  33. data/lib/corba/common/ORB.rb +368 -0
  34. data/lib/corba/common/Object.rb +208 -0
  35. data/lib/corba/common/Request.rb +20 -0
  36. data/lib/corba/common/Servant.rb +108 -0
  37. data/lib/corba/common/Struct.rb +22 -0
  38. data/lib/corba/common/Stub.rb +79 -0
  39. data/lib/corba/common/Typecode.rb +1121 -0
  40. data/lib/corba/common/Union.rb +56 -0
  41. data/lib/corba/common/Values.rb +92 -0
  42. data/lib/corba/common/const.rb +22 -0
  43. data/lib/corba/common/exception.rb +68 -0
  44. data/lib/corba/common/require.rb +27 -0
  45. data/lib/corba/common/version.rb +22 -0
  46. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  47. data/lib/corba/idl/CosNamingC.rb +461 -0
  48. data/lib/corba/idl/CosNamingS.rb +309 -0
  49. data/lib/corba/idl/IDL.rb +21 -0
  50. data/lib/corba/idl/IORTable.pidl +62 -0
  51. data/lib/corba/idl/MessagingC.rb +904 -0
  52. data/lib/corba/idl/POAC.rb +930 -0
  53. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  54. data/lib/corba/idl/r2c_orb.rb +572 -0
  55. data/lib/corba/idl/require.rb +20 -0
  56. data/lib/corba/jbase/Any.rb +273 -0
  57. data/lib/corba/jbase/IORMap.rb +36 -0
  58. data/lib/corba/jbase/ORB.rb +99 -0
  59. data/lib/corba/jbase/Object.rb +98 -0
  60. data/lib/corba/jbase/Request.rb +226 -0
  61. data/lib/corba/jbase/Servant.rb +247 -0
  62. data/lib/corba/jbase/ServerRequest.rb +128 -0
  63. data/lib/corba/jbase/Streams.rb +671 -0
  64. data/lib/corba/jbase/Stub.rb +38 -0
  65. data/lib/corba/jbase/Typecode.rb +520 -0
  66. data/lib/corba/jbase/Values.rb +173 -0
  67. data/lib/corba/jbase/exception.rb +106 -0
  68. data/lib/corba/jbase/poa.rb +229 -0
  69. data/lib/corba/jbase/policies.rb +300 -0
  70. data/lib/corba/jbase/post_require.rb +14 -0
  71. data/lib/corba/jbase/require.rb +86 -0
  72. data/lib/corba/naming.rb +14 -0
  73. data/lib/corba/naming_service.rb +15 -0
  74. data/lib/corba/poa.rb +15 -0
  75. data/lib/corba/policies.rb +18 -0
  76. data/lib/corba/require.rb +17 -0
  77. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  78. data/lib/corba/svcs/ins/ins.rb +526 -0
  79. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  80. data/lib/corba.rb +16 -0
  81. data/lib/ridlbe/ruby/config.rb +336 -0
  82. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  83. data/lib/ridlbe/ruby/require.rb +16 -0
  84. data/lib/ridlbe/ruby/walker.rb +1582 -0
  85. data/mkrf_conf_bingem.rb +101 -0
  86. data/rakelib/bin.rake +80 -0
  87. data/rakelib/bin.rb +146 -0
  88. data/rakelib/build.rake +87 -0
  89. data/rakelib/config.rake +52 -0
  90. data/rakelib/config.rb +450 -0
  91. data/rakelib/gem.rake +212 -0
  92. data/rakelib/gem.rb +146 -0
  93. data/rakelib/package.rake +26 -0
  94. data/rakelib/test.rake +23 -0
  95. data/test/BiDirectional/Test.idl +34 -0
  96. data/test/BiDirectional/client.rb +132 -0
  97. data/test/BiDirectional/run_test.rb +68 -0
  98. data/test/BiDirectional/server.ior +1 -0
  99. data/test/BiDirectional/server.rb +169 -0
  100. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  101. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  105. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  106. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  107. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  108. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  109. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  110. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  111. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  112. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  113. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  114. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  115. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  116. data/test/Collocation/Diamond.idl +39 -0
  117. data/test/Collocation/run_test.rb +52 -0
  118. data/test/Collocation/test.rb +195 -0
  119. data/test/Connect_Timeout/Test.idl +27 -0
  120. data/test/Connect_Timeout/client.rb +111 -0
  121. data/test/Connect_Timeout/run_test.rb +52 -0
  122. data/test/DII/Test.idl +27 -0
  123. data/test/DII/client.rb +115 -0
  124. data/test/DII/run_test.rb +69 -0
  125. data/test/DII/server.ior +1 -0
  126. data/test/DII/server.rb +95 -0
  127. data/test/DSI/Test.idl +27 -0
  128. data/test/DSI/client.rb +66 -0
  129. data/test/DSI/run_test.rb +69 -0
  130. data/test/DSI/server.ior +1 -0
  131. data/test/DSI/server.rb +106 -0
  132. data/test/Exceptions/Test.idl +48 -0
  133. data/test/Exceptions/client.rb +118 -0
  134. data/test/Exceptions/run_test.rb +69 -0
  135. data/test/Exceptions/server.ior +1 -0
  136. data/test/Exceptions/server.rb +131 -0
  137. data/test/Hello/Test.idl +27 -0
  138. data/test/Hello/client.rb +78 -0
  139. data/test/Hello/run_test.rb +71 -0
  140. data/test/Hello/server.rb +95 -0
  141. data/test/IDL_Test/Test.idl +113 -0
  142. data/test/IDL_Test/Test_inc.idl +17 -0
  143. data/test/IDL_Test/client.rb +102 -0
  144. data/test/IDL_Test/run_test.rb +69 -0
  145. data/test/IDL_Test/server.ior +1 -0
  146. data/test/IDL_Test/server.rb +99 -0
  147. data/test/IORMap/Test.idl +27 -0
  148. data/test/IORMap/client.rb +73 -0
  149. data/test/IORMap/run_test.rb +69 -0
  150. data/test/IORMap/server.ior +1 -0
  151. data/test/IORMap/server.rb +114 -0
  152. data/test/IORTable/Test.idl +27 -0
  153. data/test/IORTable/client.rb +75 -0
  154. data/test/IORTable/run_test.rb +69 -0
  155. data/test/IORTable/server.ior +0 -0
  156. data/test/IORTable/server.rb +130 -0
  157. data/test/Implicit_Conversion/Test.idl +31 -0
  158. data/test/Implicit_Conversion/client.rb +110 -0
  159. data/test/Implicit_Conversion/run_test.rb +69 -0
  160. data/test/Implicit_Conversion/server.ior +1 -0
  161. data/test/Implicit_Conversion/server.rb +99 -0
  162. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  163. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  164. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  165. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  166. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  167. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  168. data/test/Multi_Threading/Simple/Test.idl +27 -0
  169. data/test/Multi_Threading/Simple/client.rb +88 -0
  170. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  171. data/test/Multi_Threading/Simple/server.ior +1 -0
  172. data/test/Multi_Threading/Simple/server.rb +118 -0
  173. data/test/Multi_Threading/Threads/Test.idl +31 -0
  174. data/test/Multi_Threading/Threads/client.rb +80 -0
  175. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  176. data/test/Multi_Threading/Threads/server.ior +1 -0
  177. data/test/Multi_Threading/Threads/server.rb +119 -0
  178. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  179. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  180. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  181. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  182. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  183. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  184. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  185. data/test/Nil/Test.idl +27 -0
  186. data/test/Nil/run_test.rb +52 -0
  187. data/test/Nil/test.rb +78 -0
  188. data/test/OBV/AbstractInterface/client.rb +179 -0
  189. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  190. data/test/OBV/AbstractInterface/server.ior +1 -0
  191. data/test/OBV/AbstractInterface/server.rb +149 -0
  192. data/test/OBV/AbstractInterface/test.idl +53 -0
  193. data/test/OBV/Custom/OBV.idl +18 -0
  194. data/test/OBV/Custom/OBV_impl.rb +40 -0
  195. data/test/OBV/Custom/client.rb +86 -0
  196. data/test/OBV/Custom/run_test.rb +69 -0
  197. data/test/OBV/Custom/server.ior +1 -0
  198. data/test/OBV/Custom/server.rb +100 -0
  199. data/test/OBV/Simple/OBV.idl +15 -0
  200. data/test/OBV/Simple/OBV_impl.rb +26 -0
  201. data/test/OBV/Simple/client.rb +86 -0
  202. data/test/OBV/Simple/run_test.rb +69 -0
  203. data/test/OBV/Simple/server.ior +1 -0
  204. data/test/OBV/Simple/server.rb +100 -0
  205. data/test/OBV/Simple_Event/Event.idl +15 -0
  206. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  207. data/test/OBV/Simple_Event/client.rb +86 -0
  208. data/test/OBV/Simple_Event/run_test.rb +69 -0
  209. data/test/OBV/Simple_Event/server.ior +1 -0
  210. data/test/OBV/Simple_Event/server.rb +100 -0
  211. data/test/OBV/Supports/client.rb +116 -0
  212. data/test/OBV/Supports/run_test.rb +69 -0
  213. data/test/OBV/Supports/server.ior +1 -0
  214. data/test/OBV/Supports/server.rb +103 -0
  215. data/test/OBV/Supports/supports.idl +33 -0
  216. data/test/OBV/Supports/supports_impl.rb +57 -0
  217. data/test/OBV/Tree/client.rb +116 -0
  218. data/test/OBV/Tree/run_test.rb +69 -0
  219. data/test/OBV/Tree/server.ior +1 -0
  220. data/test/OBV/Tree/server.rb +117 -0
  221. data/test/OBV/Tree/test.idl +32 -0
  222. data/test/OBV/Truncatable/Extra.idl +27 -0
  223. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  224. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  225. data/test/OBV/Truncatable/client.rb +279 -0
  226. data/test/OBV/Truncatable/run_test.rb +69 -0
  227. data/test/OBV/Truncatable/server.ior +1 -0
  228. data/test/OBV/Truncatable/server.rb +89 -0
  229. data/test/OBV/ValueBox/client.rb +497 -0
  230. data/test/OBV/ValueBox/run_test.rb +69 -0
  231. data/test/OBV/ValueBox/server.ior +1 -0
  232. data/test/OBV/ValueBox/server.rb +271 -0
  233. data/test/OBV/ValueBox/valuebox.idl +101 -0
  234. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  235. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  236. data/test/OBV/ValueBox/vb_union.idl +21 -0
  237. data/test/Object/Test.idl +27 -0
  238. data/test/Object/client.rb +103 -0
  239. data/test/Object/run_test.rb +69 -0
  240. data/test/Object/server.ior +1 -0
  241. data/test/Object/server.rb +126 -0
  242. data/test/POA/Test.idl +27 -0
  243. data/test/POA/run_test.rb +52 -0
  244. data/test/POA/test.rb +112 -0
  245. data/test/Param_Test/Test.idl +182 -0
  246. data/test/Param_Test/client.rb +277 -0
  247. data/test/Param_Test/run_test.rb +69 -0
  248. data/test/Param_Test/server.ior +1 -0
  249. data/test/Param_Test/server.rb +296 -0
  250. data/test/Performance/Simple/Test.idl +27 -0
  251. data/test/Performance/Simple/client.rb +90 -0
  252. data/test/Performance/Simple/run_test.rb +69 -0
  253. data/test/Performance/Simple/server.ior +1 -0
  254. data/test/Performance/Simple/server.rb +95 -0
  255. data/test/Policies/Test.idl +27 -0
  256. data/test/Policies/run_test.rb +52 -0
  257. data/test/Policies/test.rb +144 -0
  258. data/test/Timeout/client.rb +207 -0
  259. data/test/Timeout/run_test.rb +69 -0
  260. data/test/Timeout/server.ior +1 -0
  261. data/test/Timeout/server.rb +109 -0
  262. data/test/Timeout/test.idl +19 -0
  263. data/test/lib/assert.rb +43 -0
  264. data/test/lib/test.rb +542 -0
  265. data/test/test_runner.rb +193 -0
  266. metadata +352 -0
@@ -0,0 +1,52 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ OPTIONS = {
14
+ :debug_opt => '',
15
+ :use_implement => '--use-implement'
16
+ }
17
+
18
+ require 'optparse'
19
+
20
+ ARGV.options do |opts|
21
+ script_name = File.basename($0)
22
+ opts.banner = "Usage: ruby #{script_name} [options]"
23
+
24
+ opts.separator ""
25
+
26
+ opts.on("-d",
27
+ "Run with debugging output.",
28
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
29
+ opts.on("--use-stubs",
30
+ "Use stubs generated by RIDL.",
31
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
32
+
33
+ opts.separator ""
34
+
35
+ opts.on("-h", "--help",
36
+ "Show this help message.") { puts opts; exit }
37
+
38
+ opts.parse!
39
+ end
40
+
41
+ require 'lib/test.rb'
42
+ include TestUtil
43
+
44
+ clt = Test.new
45
+
46
+ if !clt.run('client.rb', "#{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
47
+ exit(255)
48
+ end
49
+
50
+ exrc = clt.wait(400)
51
+
52
+ exit(exrc)
data/test/DII/Test.idl ADDED
@@ -0,0 +1,27 @@
1
+ /*--------------------------------------------------------------------
2
+ * Author: Martin Corino
3
+ *
4
+ * This program is free software; you can redistribute it and/or
5
+ * modify it under the terms of the R2CORBA LICENSE which is
6
+ * included with this program.
7
+ *
8
+ * Copyright (c) Remedy IT Expertise BV
9
+ * Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ *--------------------------------------------------------------------*/
11
+
12
+ /// Put the interfaces in a module, to avoid global namespace pollution
13
+ module Test
14
+ {
15
+ /// A very simple interface
16
+ interface Hello
17
+ {
18
+ /// Return a simple string
19
+ string echo (in string method, in string message);
20
+
21
+ /// A method to shutdown the ORB
22
+ /**
23
+ * This method is used to simplify the test shutdown process
24
+ */
25
+ oneway void shutdown ();
26
+ };
27
+ };
@@ -0,0 +1,115 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ require 'optparse'
14
+ require 'lib/assert.rb'
15
+ include TestUtil::Assertions
16
+
17
+ OPTIONS = {
18
+ :use_implement => false,
19
+ :orb_debuglevel => 0,
20
+ :iorfile => 'file://server.ior'
21
+ }
22
+
23
+ ARGV.options do |opts|
24
+ script_name = File.basename($0)
25
+ opts.banner = "Usage: ruby #{script_name} [options]"
26
+
27
+ opts.separator ""
28
+
29
+ opts.on("--k IORFILE",
30
+ "Set IOR.",
31
+ "Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
32
+ opts.on("--d LVL",
33
+ "Set ORBDebugLevel value.",
34
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
35
+ opts.on("--use-implement",
36
+ "Load IDL through CORBA.implement() instead of precompiled code.",
37
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
38
+
39
+ opts.separator ""
40
+
41
+ opts.on("-h", "--help",
42
+ "Show this help message.") { puts opts; exit }
43
+
44
+ opts.parse!
45
+ end
46
+
47
+ require 'corba'
48
+
49
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
50
+
51
+ begin
52
+
53
+ obj = orb.string_to_object(OPTIONS[:iorfile])
54
+
55
+ puts "***** Synchronous twoway DII"
56
+ req = obj._request("echo")
57
+ req.arguments = [
58
+ ['method', CORBA::ARG_IN, CORBA::_tc_string, "sync twoway"],
59
+ ['message', CORBA::ARG_IN, CORBA::_tc_string, "Hello world!"]
60
+ ]
61
+ req.set_return_type(CORBA::_tc_string)
62
+
63
+ the_string = req.invoke()
64
+
65
+ puts "string returned <#{the_string}>"
66
+ puts
67
+
68
+ puts "***** Deferred twoway DII (using get_response())"
69
+ req = obj._request("echo")
70
+ req.arguments = [
71
+ ['method', CORBA::ARG_IN, CORBA::_tc_string, "deferred twoway (1)"],
72
+ ['message', CORBA::ARG_IN, CORBA::_tc_string, "Hello world!"]
73
+ ]
74
+ req.set_return_type(CORBA::_tc_string)
75
+
76
+ req.send_deferred()
77
+ puts 'getting response...'
78
+ req.get_response()
79
+
80
+ puts "string returned <#{req.return_value}>"
81
+ puts
82
+
83
+ ### DOESN'T WORK WITH TAO <= 1.5.9 BECAUSE OF BUG IN TAO
84
+ if !defined?(TAO) || TAO::MAJOR_VERSION>1 ||
85
+ (TAO::MAJOR_VERSION == 1 &&
86
+ (TAO::MINOR_VERSION > 5 ||
87
+ (TAO::MINOR_VERSION == 5 && TAO::BETA_VERSION>9)))
88
+ puts "***** Deferred twoway DII (using poll_response())"
89
+ req = obj._request("echo")
90
+ req.arguments = [
91
+ ['method', CORBA::ARG_IN, CORBA::_tc_string, "deferred twoway (2)"],
92
+ ['message', CORBA::ARG_IN, CORBA::_tc_string, "Hello world!"]
93
+ ]
94
+ req.set_return_type(CORBA::_tc_string)
95
+
96
+ req.send_deferred()
97
+ begin
98
+ puts 'sleeping...'
99
+ sleep(0.01)
100
+ puts 'polling for response...'
101
+ end while !req.poll_response()
102
+
103
+ puts "string returned <#{req.return_value}>"
104
+ puts
105
+ end
106
+
107
+ puts "***** Oneway shutdown"
108
+ req = obj._request("shutdown")
109
+ req.send_oneway()
110
+
111
+ ensure
112
+
113
+ orb.destroy()
114
+
115
+ end
@@ -0,0 +1,69 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ OPTIONS = {
14
+ :debug_opt => '',
15
+ :use_implement => '--use-implement'
16
+ }
17
+
18
+ require 'optparse'
19
+
20
+ ARGV.options do |opts|
21
+ script_name = File.basename($0)
22
+ opts.banner = "Usage: ruby #{script_name} [options]"
23
+
24
+ opts.separator ""
25
+
26
+ opts.on("-d",
27
+ "Run with debugging output.",
28
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
29
+ opts.on("--use-stubs",
30
+ "Use stubs generated by RIDL.",
31
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
32
+
33
+ opts.separator ""
34
+
35
+ opts.on("-h", "--help",
36
+ "Show this help message.") { puts opts; exit }
37
+
38
+ opts.parse!
39
+ end
40
+
41
+ require 'lib/test.rb'
42
+ include TestUtil
43
+
44
+ ior_file = 'server.ior'
45
+
46
+ TestUtil.remove_file(ior_file)
47
+
48
+ srv = Test.new
49
+
50
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
51
+
52
+ TestUtil.wait_for_file(ior_file, 400)
53
+
54
+ clt = Test.new
55
+
56
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
57
+ srv.kill(100)
58
+ exit(255)
59
+ end
60
+
61
+ exrc = clt.wait(400)
62
+
63
+ if exrc ==0
64
+ srv.wait(400)
65
+ else
66
+ srv.wait_term(400)
67
+ end
68
+
69
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E300000000000010000000000000050000102000000000D3137322E31362E352E323030000095D30000001F323439363236323834372F0034142B41210B0C0C100630463814141B484C1B00000000010000000000000008000000004A414300
@@ -0,0 +1,95 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ require 'optparse'
14
+
15
+ OPTIONS = {
16
+ :use_implement => false,
17
+ :orb_debuglevel => 0,
18
+ :iorfile => 'server.ior'
19
+ }
20
+
21
+ ARGV.options do |opts|
22
+ script_name = File.basename($0)
23
+ opts.banner = "Usage: ruby #{script_name} [options]"
24
+
25
+ opts.separator ""
26
+
27
+ opts.on("--o IORFILE",
28
+ "Set IOR filename.",
29
+ "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
30
+ opts.on("--d LVL",
31
+ "Set ORBDebugLevel value.",
32
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ if OPTIONS[:use_implement]
46
+ require 'corba/poa'
47
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
48
+ else
49
+ require 'TestS.rb'
50
+ end
51
+
52
+ class MyHello < POA::Test::Hello
53
+ def initialize(orb)
54
+ @orb = orb
55
+ end
56
+
57
+ def echo(method, message)
58
+ "#{method}: #{message}"
59
+ end
60
+
61
+ def shutdown()
62
+ @orb.shutdown()
63
+ end
64
+ end #of servant MyHello
65
+
66
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
67
+
68
+ obj = orb.resolve_initial_references('RootPOA')
69
+
70
+ root_poa = PortableServer::POA._narrow(obj)
71
+
72
+ poa_man = root_poa.the_POAManager
73
+
74
+ poa_man.activate
75
+
76
+ hello_srv = MyHello.new(orb)
77
+
78
+ hello_obj = hello_srv._this()
79
+
80
+ hello_ior = orb.object_to_string(hello_obj)
81
+
82
+ open(OPTIONS[:iorfile], 'w') { |io|
83
+ io.write hello_ior
84
+ }
85
+
86
+ Signal.trap('INT') do
87
+ puts "SIGINT - shutting down ORB..."
88
+ orb.shutdown()
89
+ end
90
+
91
+ if Signal.list.has_key?('USR2')
92
+ Signal.trap('USR2', 'EXIT')
93
+ end
94
+
95
+ orb.run
data/test/DSI/Test.idl ADDED
@@ -0,0 +1,27 @@
1
+ /*--------------------------------------------------------------------
2
+ * Author: Martin Corino
3
+ *
4
+ * This program is free software; you can redistribute it and/or
5
+ * modify it under the terms of the R2CORBA LICENSE which is
6
+ * included with this program.
7
+ *
8
+ * Copyright (c) Remedy IT Expertise BV
9
+ * Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ *--------------------------------------------------------------------*/
11
+
12
+ /// Put the interfaces in a module, to avoid global namespace pollution
13
+ module Test
14
+ {
15
+ /// A very simple interface
16
+ interface Hello
17
+ {
18
+ /// Return a simple string
19
+ string echo (in string message, out long msglen);
20
+
21
+ /// A method to shutdown the ORB
22
+ /**
23
+ * This method is used to simplify the test shutdown process
24
+ */
25
+ oneway void shutdown ();
26
+ };
27
+ };
@@ -0,0 +1,66 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ require 'optparse'
14
+
15
+ OPTIONS = {
16
+ :use_implement => false,
17
+ :orb_debuglevel => 0,
18
+ :iorfile => 'file://server.ior'
19
+ }
20
+
21
+ ARGV.options do |opts|
22
+ script_name = File.basename($0)
23
+ opts.banner = "Usage: ruby #{script_name} [options]"
24
+
25
+ opts.separator ""
26
+
27
+ opts.on("--k IORFILE",
28
+ "Set IOR.",
29
+ "Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
30
+ opts.on("--d LVL",
31
+ "Set ORBDebugLevel value.",
32
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ if OPTIONS[:use_implement]
46
+ require 'corba'
47
+ CORBA.implement('Test.idl', OPTIONS)
48
+ else
49
+ require 'TestC.rb'
50
+ end
51
+
52
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
53
+
54
+ ##s = open(OPTIONS[:iorfile], 'r').read
55
+
56
+ obj = orb.string_to_object(OPTIONS[:iorfile])
57
+
58
+ hello_obj = Test::Hello._narrow(obj)
59
+
60
+ the_string, the_length = hello_obj.echo("Hello world!")
61
+
62
+ puts "string returned <#{the_string}>; length = #{the_length}"
63
+
64
+ hello_obj.shutdown()
65
+
66
+ orb.destroy()
@@ -0,0 +1,69 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ OPTIONS = {
14
+ :debug_opt => '',
15
+ :use_implement => '--use-implement'
16
+ }
17
+
18
+ require 'optparse'
19
+
20
+ ARGV.options do |opts|
21
+ script_name = File.basename($0)
22
+ opts.banner = "Usage: ruby #{script_name} [options]"
23
+
24
+ opts.separator ""
25
+
26
+ opts.on("-d",
27
+ "Run with debugging output.",
28
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
29
+ opts.on("--use-stubs",
30
+ "Use stubs generated by RIDL.",
31
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
32
+
33
+ opts.separator ""
34
+
35
+ opts.on("-h", "--help",
36
+ "Show this help message.") { puts opts; exit }
37
+
38
+ opts.parse!
39
+ end
40
+
41
+ require 'lib/test.rb'
42
+ include TestUtil
43
+
44
+ ior_file = 'server.ior'
45
+
46
+ TestUtil.remove_file(ior_file)
47
+
48
+ srv = Test.new
49
+
50
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
51
+
52
+ TestUtil.wait_for_file(ior_file, 400)
53
+
54
+ clt = Test.new
55
+
56
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
57
+ srv.kill(100)
58
+ exit(255)
59
+ end
60
+
61
+ exrc = clt.wait(400)
62
+
63
+ if exrc ==0
64
+ srv.wait(400)
65
+ else
66
+ srv.wait_term(400)
67
+ end
68
+
69
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E300000000000010000000000000050000102000000000D3137322E31362E352E3230300000BD9F0000001F343131303730383234352F00341438294B014A2A100630463814141B484C1B00000000010000000000000008000000004A414300
@@ -0,0 +1,106 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ require 'optparse'
14
+
15
+ OPTIONS = {
16
+ :use_implement => false,
17
+ :orb_debuglevel => 0,
18
+ :iorfile => 'server.ior'
19
+ }
20
+
21
+ ARGV.options do |opts|
22
+ script_name = File.basename($0)
23
+ opts.banner = "Usage: ruby #{script_name} [options]"
24
+
25
+ opts.separator ""
26
+
27
+ opts.on("--o IORFILE",
28
+ "Set IOR filename.",
29
+ "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
30
+ opts.on("--d LVL",
31
+ "Set ORBDebugLevel value.",
32
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ require 'corba'
46
+ require 'corba/poa'
47
+
48
+ class MyHello < PortableServer::DynamicImplementation
49
+ def initialize(orb)
50
+ @orb = orb
51
+ end
52
+
53
+ OPTABLE = {
54
+ 'echo' => {
55
+ :result_type => CORBA._tc_string,
56
+ :arg_list => [
57
+ ['message', CORBA::ARG_IN, CORBA._tc_string],
58
+ ['msglen', CORBA::ARG_OUT, CORBA._tc_long] ] }
59
+ }
60
+
61
+ Id = 'IDL:Test/Hello:1.0'
62
+
63
+ def _primary_interface(oid, poa)
64
+ puts "Server: repo_id requested for OID: #{oid.inspect}"
65
+ Id
66
+ end
67
+
68
+ def echo(message)
69
+ [message.to_s, message.to_s.size]
70
+ end
71
+
72
+ def shutdown()
73
+ @orb.shutdown()
74
+ end
75
+ end #of servant MyHello
76
+
77
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
78
+
79
+ obj = orb.resolve_initial_references('RootPOA')
80
+
81
+ root_poa = PortableServer::POA._narrow(obj)
82
+
83
+ poa_man = root_poa.the_POAManager
84
+
85
+ poa_man.activate
86
+
87
+ hello_srv = MyHello.new(orb)
88
+
89
+ hello_obj = hello_srv._this()
90
+
91
+ hello_ior = orb.object_to_string(hello_obj)
92
+
93
+ open(OPTIONS[:iorfile], 'w') { |io|
94
+ io.write hello_ior
95
+ }
96
+
97
+ Signal.trap('INT') do
98
+ puts "SIGINT - shutting down ORB..."
99
+ orb.shutdown()
100
+ end
101
+
102
+ if Signal.list.has_key?('USR2')
103
+ Signal.trap('USR2', 'EXIT')
104
+ end
105
+
106
+ orb.run
@@ -0,0 +1,48 @@
1
+ /*--------------------------------------------------------------------
2
+ * Author: Martin Corino
3
+ *
4
+ * This program is free software; you can redistribute it and/or
5
+ * modify it under the terms of the R2CORBA LICENSE which is
6
+ * included with this program.
7
+ *
8
+ * Copyright (c) Remedy IT Expertise BV
9
+ * Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ *--------------------------------------------------------------------*/
11
+
12
+ /// Put the interfaces in a module, to avoid global namespace pollution
13
+ module Test
14
+ {
15
+ exception ExOne
16
+ {
17
+ string why;
18
+ long code;
19
+ };
20
+
21
+ exception ExBoo
22
+ {
23
+ enum TBoo
24
+ {
25
+ LOUD,
26
+ SOFT
27
+ } type;
28
+ };
29
+
30
+ /// A very simple interface
31
+ interface Hello
32
+ {
33
+ /// Raises exceptions
34
+ void test_exception () raises (ExOne);
35
+
36
+ attribute string myString getraises (ExOne);
37
+
38
+ attribute long myCount setraises (ExOne);
39
+
40
+ readonly attribute long myResult raises (ExOne);
41
+
42
+ /// A method to shutdown the ORB
43
+ /**
44
+ * This method is used to simplify the test shutdown process
45
+ */
46
+ oneway void shutdown ();
47
+ };
48
+ };