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
@@ -0,0 +1,80 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # $Id: client.rb 279 2011-02-08 09:53:28Z martin $
6
+ #
7
+ # This program is free software; you can redistribute it and/or
8
+ # modify it under the terms of the R2CORBA LICENSE which is
9
+ # included with this program.
10
+ #
11
+ # Copyright (c) Remedy IT Expertise BV
12
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
13
+ #--------------------------------------------------------------------
14
+
15
+ require 'optparse'
16
+ require 'lib/assert.rb'
17
+ include TestUtil::Assertions
18
+
19
+ OPTIONS = {
20
+ :use_implement => false,
21
+ :orb_debuglevel => 0,
22
+ :iorfile => 'file://server.ior'
23
+ }
24
+
25
+ ARGV.options do |opts|
26
+ script_name = File.basename($0)
27
+ opts.banner = "Usage: ruby #{script_name} [options]"
28
+
29
+ opts.separator ""
30
+
31
+ opts.on("--k IORFILE",
32
+ "Set IOR.",
33
+ "Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
34
+ opts.on("--d LVL",
35
+ "Set ORBDebugLevel value.",
36
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
37
+ opts.on("--use-implement",
38
+ "Load IDL through CORBA.implement() instead of precompiled code.",
39
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
40
+
41
+ opts.separator ""
42
+
43
+ opts.on("-h", "--help",
44
+ "Show this help message.") { puts opts; exit }
45
+
46
+ opts.parse!
47
+ end
48
+
49
+ if OPTIONS[:use_implement]
50
+ require 'corba'
51
+ CORBA.implement('Test.idl', OPTIONS)
52
+ else
53
+ require 'TestC.rb'
54
+ end
55
+
56
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
57
+
58
+ begin
59
+
60
+ obj = orb.string_to_object(OPTIONS[:iorfile])
61
+
62
+ hello_obj = Test::Hello._narrow(obj)
63
+
64
+ hello_strings = (1..10000).map {hello_obj.get_string}
65
+
66
+ puts "Client - got #{hello_strings.length} strings."
67
+
68
+ hello_obj.shutdown()
69
+
70
+ assert_not "ERROR: Object is reported nil!", CORBA::is_nil(hello_obj)
71
+
72
+ hello_obj._free_ref()
73
+
74
+ assert "ERROR: Object is reported non-nil!", CORBA::is_nil(hello_obj)
75
+
76
+ ensure
77
+
78
+ orb.destroy()
79
+
80
+ end
@@ -0,0 +1,76 @@
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
+ watchdog_ior_file = 'watchdog.ior'
46
+
47
+ TestUtil.remove_file(ior_file)
48
+ TestUtil.remove_file(watchdog_ior_file)
49
+
50
+ wdog = Test.new
51
+ srv = Test.new
52
+
53
+ exit(255) if !wdog.run('watchdog.rb', "--o #{watchdog_ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
54
+
55
+ TestUtil.wait_for_file(watchdog_ior_file, 400)
56
+
57
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
58
+
59
+ TestUtil.wait_for_file(ior_file, 400)
60
+
61
+ clt = Test.new
62
+
63
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
64
+ srv.kill(100)
65
+ exit(255)
66
+ end
67
+
68
+ exrc = clt.wait(400)
69
+
70
+ if exrc ==0
71
+ srv.wait(400)
72
+ else
73
+ srv.wait_term(400)
74
+ end
75
+
76
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000D5FE00000000001E3434383337333531342F00153E1811160D2041100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400D5FE0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000D5FE00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1,119 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # $Id: server.rb 279 2011-02-08 09:53:28Z martin $
6
+ #
7
+ # This program is free software; you can redistribute it and/or
8
+ # modify it under the terms of the R2CORBA LICENSE which is
9
+ # included with this program.
10
+ #
11
+ # Copyright (c) Remedy IT Expertise BV
12
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
13
+ #--------------------------------------------------------------------
14
+
15
+ require 'optparse'
16
+
17
+ OPTIONS = {
18
+ :use_implement => false,
19
+ :orb_debuglevel => 0,
20
+ :iorfile => 'server.ior',
21
+ :watchdog_iorfile => 'file://watchdog.ior'
22
+ }
23
+
24
+ ARGV.options do |opts|
25
+ script_name = File.basename($0)
26
+ opts.banner = "Usage: ruby #{script_name} [options]"
27
+
28
+ opts.separator ""
29
+
30
+ opts.on("--o IORFILE",
31
+ "Set IOR filename.",
32
+ "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
33
+ opts.on("--w IORFILE",
34
+ "Set Watchdog IOR filename.",
35
+ "Default: 'file://watchdog.ior'") { |v| OPTIONS[:watchdog_iorfile]=v }
36
+ opts.on("--d LVL",
37
+ "Set ORBDebugLevel value.",
38
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
39
+ opts.on("--use-implement",
40
+ "Load IDL through CORBA.implement() instead of precompiled code.",
41
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
42
+
43
+ opts.separator ""
44
+
45
+ opts.on("-h", "--help",
46
+ "Show this help message.") { puts opts; exit }
47
+
48
+ opts.parse!
49
+ end
50
+
51
+ if OPTIONS[:use_implement]
52
+ require 'corba/poa'
53
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
54
+ else
55
+ require 'TestS.rb'
56
+ end
57
+
58
+ class MyHello < POA::Test::Hello
59
+ def initialize(orb, watchdog)
60
+ @orb = orb
61
+ @watchdog = watchdog
62
+ @count = 0
63
+ @stop = false
64
+ @wdt = Thread.new do
65
+ while !@stop
66
+ @watchdog.ping(self.object_id.to_s)
67
+ @count += 1
68
+ sleep 0.001
69
+ end
70
+ end
71
+ end
72
+
73
+ def get_string()
74
+ return 'Hello, world!'
75
+ end
76
+
77
+ def shutdown()
78
+ @stop = true
79
+ @wdt.join
80
+ @watchdog.shutdown()
81
+ puts %Q{Server - pinged watchdog #{@count} times.}
82
+ @orb.shutdown()
83
+ end
84
+ end #of servant MyHello
85
+
86
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
87
+
88
+ obj = orb.resolve_initial_references('RootPOA')
89
+
90
+ root_poa = PortableServer::POA._narrow(obj)
91
+
92
+ poa_man = root_poa.the_POAManager
93
+
94
+ poa_man.activate
95
+
96
+ obj = orb.string_to_object(OPTIONS[:watchdog_iorfile])
97
+
98
+ watchdog_obj = Test::Watchdog._narrow(obj)
99
+
100
+ hello_srv = MyHello.new(orb, watchdog_obj)
101
+
102
+ hello_obj = hello_srv._this()
103
+
104
+ hello_ior = orb.object_to_string(hello_obj)
105
+
106
+ open(OPTIONS[:iorfile], 'w') { |io|
107
+ io.write hello_ior
108
+ }
109
+
110
+ Signal.trap('INT') do
111
+ puts "SIGINT - shutting down ORB..."
112
+ orb.shutdown()
113
+ end
114
+
115
+ if Signal.list.has_key?('USR2')
116
+ Signal.trap('USR2', 'EXIT')
117
+ end
118
+
119
+ orb.run
@@ -0,0 +1 @@
1
+ IOR:000000000000001649444C3A546573742F5761746368646F673A312E300000000000000100000000000000EC000102000000000B31302E342E302E3132300000B1F200000000001F393432353932373831382F00153E16060B280A25100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400B1F20000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000B1F200000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1,87 @@
1
+ # Runs a do-nothing Watchdog instance
2
+
3
+ require 'optparse'
4
+
5
+ OPTIONS = {
6
+ :use_implement => false,
7
+ :orb_debuglevel => 0,
8
+ :iorfile => 'watchdog.ior'
9
+ }
10
+
11
+ ARGV.options do |opts|
12
+ script_name = File.basename($0)
13
+ opts.banner = "Usage: ruby #{script_name} [options]"
14
+
15
+ opts.separator ""
16
+
17
+ opts.on("--o IORFILE",
18
+ "Set IOR filename.",
19
+ "Default: 'watchdog.ior'") { |v| OPTIONS[:iorfile]=v }
20
+ opts.on("--d LVL",
21
+ "Set ORBDebugLevel value.",
22
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
23
+ opts.on("--use-implement",
24
+ "Load IDL through CORBA.implement() instead of precompiled code.",
25
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
26
+
27
+ opts.separator ""
28
+
29
+ opts.on("-h", "--help",
30
+ "Show this help message.") { puts opts; exit }
31
+
32
+ opts.parse!
33
+ end
34
+
35
+ if OPTIONS[:use_implement]
36
+ require 'corba/poa'
37
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
38
+ else
39
+ require 'TestS.rb'
40
+ end
41
+
42
+ class MyWatchdog < POA::Test::Watchdog
43
+ def initialize(orb)
44
+ @orb = orb
45
+ @count = 0
46
+ end
47
+
48
+ def ping(name)
49
+ @count += 1
50
+ end
51
+
52
+ def shutdown()
53
+ puts %Q{Watchdog - received #{@count} pings}
54
+ @orb.shutdown()
55
+ end
56
+ end #of servant MyWatchdog
57
+
58
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
59
+
60
+ obj = orb.resolve_initial_references('RootPOA')
61
+
62
+ root_poa = PortableServer::POA._narrow(obj)
63
+
64
+ poa_man = root_poa.the_POAManager
65
+
66
+ poa_man.activate
67
+
68
+ srv = MyWatchdog.new(orb)
69
+
70
+ obj = srv._this()
71
+
72
+ ior = orb.object_to_string(obj)
73
+
74
+ open(OPTIONS[:iorfile], 'w') { |io|
75
+ io.write ior
76
+ }
77
+
78
+ Signal.trap('INT') do
79
+ puts "SIGINT - shutting down ORB..."
80
+ orb.shutdown()
81
+ end
82
+
83
+ if Signal.list.has_key?('USR2')
84
+ Signal.trap('USR2', 'EXIT')
85
+ end
86
+
87
+ orb.run
@@ -0,0 +1,34 @@
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 get_string ();
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
+
28
+ /// A very simple interface
29
+ interface Hello_2
30
+ {
31
+ /// Return a simple string
32
+ string get_string_2 ();
33
+ };
34
+ };
@@ -0,0 +1,70 @@
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
+ obj = orb.string_to_object(OPTIONS[:iorfile])
55
+
56
+ hello_obj = Test::Hello._narrow(obj)
57
+
58
+ hello_2_obj = Test::Hello_2._narrow(obj)
59
+
60
+ the_string = hello_obj.get_string()
61
+
62
+ puts "string returned from Test::Hello <#{the_string}>"
63
+
64
+ the_string = hello_2_obj.get_string_2()
65
+
66
+ puts "string returned from Test::Hello_2 <#{the_string}>"
67
+
68
+ hello_obj.shutdown()
69
+
70
+ orb.destroy()