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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +7 -7
  2. data/CHANGES +173 -159
  3. data/LICENSE +59 -59
  4. data/README +62 -62
  5. data/THANKS +54 -52
  6. data/bin/r2corba +1 -1
  7. data/bin/ridlc +1 -1
  8. data/bin/rins +1 -1
  9. data/lib/corba.rb +16 -16
  10. data/lib/corba/cbase/IORMap.rb +33 -33
  11. data/lib/corba/cbase/ORB.rb +237 -231
  12. data/lib/corba/cbase/Request.rb +133 -133
  13. data/lib/corba/cbase/Streams.rb +129 -129
  14. data/lib/corba/cbase/Stub.rb +19 -19
  15. data/lib/corba/cbase/Typecode.rb +441 -441
  16. data/lib/corba/cbase/Values.rb +129 -129
  17. data/lib/corba/cbase/exception.rb +66 -66
  18. data/lib/corba/cbase/poa.rb +23 -23
  19. data/lib/corba/cbase/policies.rb +77 -77
  20. data/lib/corba/cbase/post_require.rb +13 -13
  21. data/lib/corba/cbase/require.rb +28 -28
  22. data/lib/corba/cmds/base.rb +85 -85
  23. data/lib/corba/cmds/test.rb +30 -30
  24. data/lib/corba/common/Any.rb +91 -91
  25. data/lib/corba/common/IDL.rb +104 -104
  26. data/lib/corba/common/ORB.rb +368 -368
  27. data/lib/corba/common/Object.rb +208 -208
  28. data/lib/corba/common/Request.rb +19 -19
  29. data/lib/corba/common/Servant.rb +108 -108
  30. data/lib/corba/common/Struct.rb +21 -21
  31. data/lib/corba/common/Stub.rb +79 -79
  32. data/lib/corba/common/Typecode.rb +1121 -1121
  33. data/lib/corba/common/Union.rb +55 -55
  34. data/lib/corba/common/Values.rb +91 -91
  35. data/lib/corba/common/const.rb +22 -22
  36. data/lib/corba/common/exception.rb +68 -68
  37. data/lib/corba/common/require.rb +27 -27
  38. data/lib/corba/common/version.rb +22 -22
  39. data/lib/corba/idl/IDL.rb +21 -21
  40. data/lib/corba/idl/IORTable.pidl +62 -62
  41. data/lib/corba/idl/TAO_Ext.pidl +46 -46
  42. data/lib/corba/idl/require.rb +20 -20
  43. data/lib/corba/jbase/Any.rb +273 -273
  44. data/lib/corba/jbase/IORMap.rb +35 -35
  45. data/lib/corba/jbase/ORB.rb +112 -99
  46. data/lib/corba/jbase/Object.rb +99 -98
  47. data/lib/corba/jbase/Request.rb +225 -225
  48. data/lib/corba/jbase/Servant.rb +247 -246
  49. data/lib/corba/jbase/ServerRequest.rb +127 -127
  50. data/lib/corba/jbase/Streams.rb +670 -670
  51. data/lib/corba/jbase/Stub.rb +38 -38
  52. data/lib/corba/jbase/Typecode.rb +520 -520
  53. data/lib/corba/jbase/Values.rb +173 -173
  54. data/lib/corba/jbase/exception.rb +106 -106
  55. data/lib/corba/jbase/poa.rb +228 -228
  56. data/lib/corba/jbase/policies.rb +299 -299
  57. data/lib/corba/jbase/post_require.rb +14 -14
  58. data/lib/corba/jbase/require.rb +89 -86
  59. data/lib/corba/naming.rb +14 -14
  60. data/lib/corba/naming_service.rb +15 -15
  61. data/lib/corba/poa.rb +15 -15
  62. data/lib/corba/policies.rb +18 -18
  63. data/lib/corba/require.rb +17 -17
  64. data/lib/corba/svcs/ins/cos_naming.rb +426 -426
  65. data/lib/corba/svcs/ins/ins.rb +526 -526
  66. data/lib/corba/svcs/ins/naming_service.rb +119 -119
  67. data/lib/ridlbe/ruby/config.rb +336 -336
  68. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  69. data/lib/ridlbe/ruby/require.rb +16 -16
  70. data/lib/ridlbe/ruby/walker.rb +1582 -1582
  71. data/mkrf_conf_bingem.rb +151 -101
  72. data/rakelib/bin.rake +80 -80
  73. data/rakelib/bin.rb +145 -145
  74. data/rakelib/build.rake +87 -87
  75. data/rakelib/config.rake +51 -51
  76. data/rakelib/config.rb +543 -449
  77. data/rakelib/ext.rake +242 -242
  78. data/rakelib/ext.rb +316 -308
  79. data/rakelib/ext_r2tao.rb +235 -232
  80. data/rakelib/gem.rake +235 -211
  81. data/rakelib/gem.rb +145 -145
  82. data/rakelib/package.rake +26 -26
  83. data/rakelib/test.rake +23 -23
  84. data/test/BiDirectional/Test.idl +34 -34
  85. data/test/BiDirectional/client.rb +131 -131
  86. data/test/BiDirectional/run_test.rb +68 -68
  87. data/test/BiDirectional/server.ior +1 -1
  88. data/test/BiDirectional/server.rb +169 -169
  89. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -27
  90. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -121
  91. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -1
  92. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -82
  93. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -109
  94. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -27
  95. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -85
  96. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -1
  97. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -88
  98. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -135
  99. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -27
  100. data/test/CORBA_Services/Naming/Simple/client.rb +84 -84
  101. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -1
  102. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -82
  103. data/test/CORBA_Services/Naming/Simple/server.rb +109 -109
  104. data/test/Collocation/Diamond.idl +39 -39
  105. data/test/Collocation/run_test.rb +52 -52
  106. data/test/Collocation/test.rb +195 -195
  107. data/test/Connect_Timeout/Test.idl +27 -27
  108. data/test/Connect_Timeout/client.rb +111 -111
  109. data/test/Connect_Timeout/run_test.rb +52 -52
  110. data/test/DII/Test.idl +27 -27
  111. data/test/DII/client.rb +115 -115
  112. data/test/DII/run_test.rb +69 -69
  113. data/test/DII/server.ior +1 -1
  114. data/test/DII/server.rb +95 -95
  115. data/test/DSI/Test.idl +27 -27
  116. data/test/DSI/client.rb +66 -66
  117. data/test/DSI/run_test.rb +69 -69
  118. data/test/DSI/server.ior +1 -1
  119. data/test/DSI/server.rb +106 -106
  120. data/test/Exceptions/Test.idl +48 -48
  121. data/test/Exceptions/client.rb +117 -117
  122. data/test/Exceptions/run_test.rb +69 -69
  123. data/test/Exceptions/server.ior +1 -1
  124. data/test/Exceptions/server.rb +131 -131
  125. data/test/Hello/Test.idl +27 -27
  126. data/test/Hello/client.rb +78 -78
  127. data/test/Hello/run_test.rb +71 -71
  128. data/test/Hello/server.rb +95 -95
  129. data/test/IDL_Test/Test.idl +113 -113
  130. data/test/IDL_Test/Test_inc.idl +17 -17
  131. data/test/IDL_Test/client.rb +102 -102
  132. data/test/IDL_Test/run_test.rb +69 -69
  133. data/test/IDL_Test/server.ior +1 -1
  134. data/test/IDL_Test/server.rb +99 -99
  135. data/test/IORMap/Test.idl +27 -27
  136. data/test/IORMap/client.rb +73 -73
  137. data/test/IORMap/run_test.rb +69 -69
  138. data/test/IORMap/server.ior +1 -1
  139. data/test/IORMap/server.rb +114 -114
  140. data/test/IORTable/Test.idl +27 -27
  141. data/test/IORTable/client.rb +75 -75
  142. data/test/IORTable/run_test.rb +69 -69
  143. data/test/IORTable/server.ior +1 -1
  144. data/test/IORTable/server.rb +130 -130
  145. data/test/Implicit_Conversion/Test.idl +31 -31
  146. data/test/Implicit_Conversion/client.rb +110 -110
  147. data/test/Implicit_Conversion/run_test.rb +69 -69
  148. data/test/Implicit_Conversion/server.ior +1 -1
  149. data/test/Implicit_Conversion/server.rb +99 -99
  150. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -27
  151. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -82
  152. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -71
  153. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -108
  154. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -1
  155. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -1
  156. data/test/Multi_Threading/Simple/Test.idl +27 -27
  157. data/test/Multi_Threading/Simple/client.rb +93 -88
  158. data/test/Multi_Threading/Simple/run_test.rb +69 -69
  159. data/test/Multi_Threading/Simple/server.ior +1 -1
  160. data/test/Multi_Threading/Simple/server.rb +117 -117
  161. data/test/Multi_Threading/Threads/Test.idl +31 -31
  162. data/test/Multi_Threading/Threads/client.rb +80 -80
  163. data/test/Multi_Threading/Threads/run_test.rb +76 -76
  164. data/test/Multi_Threading/Threads/server.ior +1 -1
  165. data/test/Multi_Threading/Threads/server.rb +119 -119
  166. data/test/Multi_Threading/Threads/watchdog.ior +1 -1
  167. data/test/Multi_Threading/Threads/watchdog.rb +87 -87
  168. data/test/Multiple_Servant_Interfaces/Test.idl +34 -34
  169. data/test/Multiple_Servant_Interfaces/client.rb +70 -70
  170. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -69
  171. data/test/Multiple_Servant_Interfaces/server.ior +1 -1
  172. data/test/Multiple_Servant_Interfaces/server.rb +102 -102
  173. data/test/Nil/Test.idl +27 -27
  174. data/test/Nil/run_test.rb +52 -52
  175. data/test/Nil/test.rb +78 -78
  176. data/test/OBV/AbstractInterface/client.rb +179 -179
  177. data/test/OBV/AbstractInterface/run_test.rb +69 -69
  178. data/test/OBV/AbstractInterface/server.ior +1 -1
  179. data/test/OBV/AbstractInterface/server.rb +149 -149
  180. data/test/OBV/AbstractInterface/test.idl +53 -53
  181. data/test/OBV/Custom/OBV.idl +18 -18
  182. data/test/OBV/Custom/OBV_impl.rb +40 -40
  183. data/test/OBV/Custom/client.rb +86 -86
  184. data/test/OBV/Custom/run_test.rb +69 -69
  185. data/test/OBV/Custom/server.ior +1 -1
  186. data/test/OBV/Custom/server.rb +100 -100
  187. data/test/OBV/Simple/OBV.idl +15 -15
  188. data/test/OBV/Simple/OBV_impl.rb +26 -26
  189. data/test/OBV/Simple/client.rb +86 -86
  190. data/test/OBV/Simple/run_test.rb +69 -69
  191. data/test/OBV/Simple/server.ior +1 -1
  192. data/test/OBV/Simple/server.rb +100 -100
  193. data/test/OBV/Simple_Event/Event.idl +15 -15
  194. data/test/OBV/Simple_Event/Event_impl.rb +26 -26
  195. data/test/OBV/Simple_Event/client.rb +86 -86
  196. data/test/OBV/Simple_Event/run_test.rb +69 -69
  197. data/test/OBV/Simple_Event/server.ior +1 -1
  198. data/test/OBV/Simple_Event/server.rb +100 -100
  199. data/test/OBV/Supports/client.rb +116 -116
  200. data/test/OBV/Supports/run_test.rb +69 -69
  201. data/test/OBV/Supports/server.ior +1 -1
  202. data/test/OBV/Supports/server.rb +103 -103
  203. data/test/OBV/Supports/supports.idl +33 -33
  204. data/test/OBV/Supports/supports_impl.rb +57 -57
  205. data/test/OBV/Tree/client.rb +116 -116
  206. data/test/OBV/Tree/run_test.rb +69 -69
  207. data/test/OBV/Tree/server.ior +1 -1
  208. data/test/OBV/Tree/server.rb +117 -117
  209. data/test/OBV/Tree/test.idl +32 -32
  210. data/test/OBV/Truncatable/Extra.idl +27 -27
  211. data/test/OBV/Truncatable/Truncatable.idl +105 -105
  212. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -86
  213. data/test/OBV/Truncatable/client.rb +279 -279
  214. data/test/OBV/Truncatable/run_test.rb +69 -69
  215. data/test/OBV/Truncatable/server.ior +1 -1
  216. data/test/OBV/Truncatable/server.rb +89 -89
  217. data/test/OBV/ValueBox/client.rb +497 -497
  218. data/test/OBV/ValueBox/run_test.rb +69 -69
  219. data/test/OBV/ValueBox/server.ior +1 -1
  220. data/test/OBV/ValueBox/server.rb +271 -271
  221. data/test/OBV/ValueBox/valuebox.idl +101 -101
  222. data/test/OBV/ValueBox/vb_basic.idl +75 -75
  223. data/test/OBV/ValueBox/vb_struct.idl +68 -68
  224. data/test/OBV/ValueBox/vb_union.idl +21 -21
  225. data/test/Object/Test.idl +27 -27
  226. data/test/Object/client.rb +112 -103
  227. data/test/Object/run_test.rb +69 -69
  228. data/test/Object/server.ior +1 -1
  229. data/test/Object/server.rb +126 -126
  230. data/test/POA/Test.idl +27 -27
  231. data/test/POA/run_test.rb +52 -52
  232. data/test/POA/test.rb +111 -111
  233. data/test/Param_Test/Test.idl +182 -182
  234. data/test/Param_Test/client.rb +277 -277
  235. data/test/Param_Test/run_test.rb +69 -69
  236. data/test/Param_Test/server.ior +1 -1
  237. data/test/Param_Test/server.rb +296 -296
  238. data/test/Performance/Simple/Test.idl +27 -27
  239. data/test/Performance/Simple/client.rb +90 -90
  240. data/test/Performance/Simple/run_test.rb +69 -69
  241. data/test/Performance/Simple/server.ior +1 -1
  242. data/test/Performance/Simple/server.rb +95 -95
  243. data/test/Policies/Test.idl +27 -27
  244. data/test/Policies/run_test.rb +52 -52
  245. data/test/Policies/test.rb +144 -144
  246. data/test/Timeout/client.rb +207 -207
  247. data/test/Timeout/run_test.rb +69 -69
  248. data/test/Timeout/server.ior +1 -1
  249. data/test/Timeout/server.rb +109 -109
  250. data/test/Timeout/test.idl +19 -19
  251. data/test/lib/assert.rb +43 -43
  252. data/test/lib/test.rb +542 -542
  253. data/test/test_runner.rb +193 -193
  254. metadata +141 -137
@@ -1,69 +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', "#{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)
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', "#{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)
@@ -1 +1 @@
1
- IOR:010000001300000049444c3a546573742f48656c6c6f3a312e300000010000000000000068000000010102000a0000003132372e302e302e31000f271b00000014010f0052535467fe0452321b08000100000001000000020000000002000000000000000800000001000000004f41540100000018000000010000000100010001000000010001050901010000000000
1
+ IOR:010000001300000049444c3a546573742f48656c6c6f3a312e300000010000000000000068000000010102000a0000003132372e302e302e31000f271b00000014010f0052535467b2d354685006000100000001000000020000000002000000000000000800000001ddca01004f4154010000001800000001ddca010100010001000000010001050901010000000000
@@ -1,130 +1,130 @@
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
- :listenport => 9999,
19
- :iorfile => 'server.ior'
20
- }
21
-
22
- ARGV.options do |opts|
23
- script_name = File.basename($0)
24
- opts.banner = "Usage: ruby #{script_name} [options]"
25
-
26
- opts.separator ""
27
-
28
- opts.on("--o IORFILE",
29
- "Set IOR filename.",
30
- "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
31
- opts.on("--p PORT",
32
- "Set endpoint port.",
33
- "Default: 3456") { |v| OPTIONS[:listenport]=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/poa'
51
- CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
52
- else
53
- require 'TestS.rb'
54
- end
55
-
56
- begin STDERR.puts 'Not supported on this platform'; open(OPTIONS[:iorfile], 'w') {|io|io.write ''}; exit(0); end unless defined?(IORTable)
57
-
58
- class MyHello < POA::Test::Hello
59
- def initialize(orb, id)
60
- @orb = orb
61
- @id = id
62
- end
63
-
64
- def get_string()
65
- "#{@id}: Hello there!"
66
- end
67
-
68
- def shutdown()
69
- @orb.shutdown()
70
- end
71
- end #of servant MyHello
72
-
73
- class MyLocator
74
- include IORTable::Locator
75
-
76
- def initialize(object_key, ior)
77
- @map = {object_key => ior}
78
- end
79
-
80
- def locate(object_key)
81
- puts "server: MyLocator.locate('#{object_key}') called"
82
- return @map[object_key] if @map.has_key?(object_key)
83
- raise IORTable::NotFound
84
- end
85
- end
86
-
87
- orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel], "-ORBListenEndpoints", "iiop://localhost:#{OPTIONS[:listenport]}"], 'myORB')
88
-
89
- obj = orb.resolve_initial_references('RootPOA')
90
-
91
- root_poa = PortableServer::POA._narrow(obj)
92
-
93
- poa_man = root_poa.the_POAManager
94
-
95
- poa_man.activate
96
-
97
- obj = orb.resolve_initial_references('IORTable')
98
-
99
- iortbl = IORTable::Table._narrow(obj)
100
-
101
- hello_srv = MyHello.new(orb, "Hello")
102
-
103
- hello_obj = hello_srv._this()
104
-
105
- hello_ior = orb.object_to_string(hello_obj)
106
-
107
- iortbl.bind("Hello", hello_ior)
108
-
109
- hello_srv = MyHello.new(orb, "Hello2")
110
-
111
- hello_obj = hello_srv._this()
112
-
113
- hello_ior = orb.object_to_string(hello_obj)
114
-
115
- iortbl.set_locator(MyLocator.new("Hello2", hello_ior))
116
-
117
- open(OPTIONS[:iorfile], 'w') { |io|
118
- io.write hello_ior
119
- }
120
-
121
- Signal.trap('INT') do
122
- puts "SIGINT - shutting down ORB..."
123
- orb.shutdown()
124
- end
125
-
126
- if Signal.list.has_key?('USR2')
127
- Signal.trap('USR2', 'EXIT')
128
- end
129
-
130
- orb.run
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
+ :listenport => 9999,
19
+ :iorfile => 'server.ior'
20
+ }
21
+
22
+ ARGV.options do |opts|
23
+ script_name = File.basename($0)
24
+ opts.banner = "Usage: ruby #{script_name} [options]"
25
+
26
+ opts.separator ""
27
+
28
+ opts.on("--o IORFILE",
29
+ "Set IOR filename.",
30
+ "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
31
+ opts.on("--p PORT",
32
+ "Set endpoint port.",
33
+ "Default: 3456") { |v| OPTIONS[:listenport]=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/poa'
51
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
52
+ else
53
+ require 'TestS.rb'
54
+ end
55
+
56
+ begin STDERR.puts 'Not supported on this platform'; open(OPTIONS[:iorfile], 'w') {|io|io.write ''}; exit(0); end unless defined?(IORTable)
57
+
58
+ class MyHello < POA::Test::Hello
59
+ def initialize(orb, id)
60
+ @orb = orb
61
+ @id = id
62
+ end
63
+
64
+ def get_string()
65
+ "#{@id}: Hello there!"
66
+ end
67
+
68
+ def shutdown()
69
+ @orb.shutdown()
70
+ end
71
+ end #of servant MyHello
72
+
73
+ class MyLocator
74
+ include IORTable::Locator
75
+
76
+ def initialize(object_key, ior)
77
+ @map = {object_key => ior}
78
+ end
79
+
80
+ def locate(object_key)
81
+ puts "server: MyLocator.locate('#{object_key}') called"
82
+ return @map[object_key] if @map.has_key?(object_key)
83
+ raise IORTable::NotFound
84
+ end
85
+ end
86
+
87
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel], "-ORBListenEndpoints", "iiop://localhost:#{OPTIONS[:listenport]}"], 'myORB')
88
+
89
+ obj = orb.resolve_initial_references('RootPOA')
90
+
91
+ root_poa = PortableServer::POA._narrow(obj)
92
+
93
+ poa_man = root_poa.the_POAManager
94
+
95
+ poa_man.activate
96
+
97
+ obj = orb.resolve_initial_references('IORTable')
98
+
99
+ iortbl = IORTable::Table._narrow(obj)
100
+
101
+ hello_srv = MyHello.new(orb, "Hello")
102
+
103
+ hello_obj = hello_srv._this()
104
+
105
+ hello_ior = orb.object_to_string(hello_obj)
106
+
107
+ iortbl.bind("Hello", hello_ior)
108
+
109
+ hello_srv = MyHello.new(orb, "Hello2")
110
+
111
+ hello_obj = hello_srv._this()
112
+
113
+ hello_ior = orb.object_to_string(hello_obj)
114
+
115
+ iortbl.set_locator(MyLocator.new("Hello2", hello_ior))
116
+
117
+ open(OPTIONS[:iorfile], 'w') { |io|
118
+ io.write hello_ior
119
+ }
120
+
121
+ Signal.trap('INT') do
122
+ puts "SIGINT - shutting down ORB..."
123
+ orb.shutdown()
124
+ end
125
+
126
+ if Signal.list.has_key?('USR2')
127
+ Signal.trap('USR2', 'EXIT')
128
+ end
129
+
130
+ orb.run
@@ -1,31 +1,31 @@
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
- typedef sequence<long> TLongSeq;
16
-
17
- /// A very simple interface
18
- interface Hello
19
- {
20
- /// Return a simple string
21
- string echo (in string txt);
22
-
23
- TLongSeq echo_seq (in TLongSeq lseq);
24
-
25
- /// A method to shutdown the ORB
26
- /**
27
- * This method is used to simplify the test shutdown process
28
- */
29
- oneway void shutdown ();
30
- };
31
- };
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
+ typedef sequence<long> TLongSeq;
16
+
17
+ /// A very simple interface
18
+ interface Hello
19
+ {
20
+ /// Return a simple string
21
+ string echo (in string txt);
22
+
23
+ TLongSeq echo_seq (in TLongSeq lseq);
24
+
25
+ /// A method to shutdown the ORB
26
+ /**
27
+ * This method is used to simplify the test shutdown process
28
+ */
29
+ oneway void shutdown ();
30
+ };
31
+ };