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 +1 @@
1
- IOR:010000001600000049444c3a53696d706c655f5365727665723a312e30000000010000000000000074000000010102000d0000003137322e31362e372e32343800004a052300000014010f004e53543dfe04523fab010001000000010000000000000001000000010000000002000000000000000800000001032300004f41540100000018000000010000000100010001000000010001050901010000000000
1
+ IOR:010000001600000049444c3a53696d706c655f5365727665723a312e30000000010000000000000074000000010102000d0000003137322e31362e362e313738000095dc2300000014010f004e535456b2d354f8200a000100000001000000000000000100000001000000000200000000000000080000000183c401004f415401000000180000000183c4010100010001000000010001050901010000000000
@@ -1,169 +1,169 @@
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
- :iter_num => 10
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("--d LVL",
32
- "Set ORBDebugLevel value.",
33
- "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
34
- opts.on("--use-implement",
35
- "Load IDL through CORBA.implement() instead of precompiled code.",
36
- "Default: off") { |v| OPTIONS[:use_implement]=v }
37
- opts.on("--i ITERATIONS",
38
- "Set number of iterations.",
39
- "Default: 10", Integer) { |v| OPTIONS[:iter_num]=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.rb'
51
- CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
52
- else
53
- require 'TestS.rb'
54
- end
55
- require 'corba/policies.rb'
56
-
57
- class Simple_Server_i < POA::Simple_Server
58
- def initialize(orb, iter_num)
59
- @orb = orb
60
- @iter_num = iter_num
61
- @flag = false
62
- @callback = nil
63
- end
64
-
65
- def test_method(do_callback)
66
- if do_callback == true
67
- @flag = true
68
- end
69
- 0
70
- end
71
-
72
- def callback_object(cb)
73
- @callback = cb
74
- end
75
-
76
- def shutdown()
77
- @orb.shutdown()
78
- end
79
-
80
- def call_client()
81
- if @flag
82
- @iter_num.times do
83
- @callback.callback_method()
84
- end
85
-
86
- @callback.shutdown()
87
- @flag = false
88
-
89
- return 1
90
- else
91
- sleep(0.05) # don't hog the CPU
92
- end
93
- return 0
94
- end
95
-
96
- end #of servant Simple_Server_i
97
-
98
- if defined?(JRUBY_VERSION)
99
- ## JacORB needs explicit activation of this option
100
- props = {
101
- "org.omg.PortableInterceptor.ORBInitializerClass.bidir_init" =>
102
- "org.jacorb.orb.giop.BiDirConnectionInitializer"
103
- }
104
- else
105
- props = {}
106
- end
107
-
108
- orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB', props)
109
-
110
- obj = orb.resolve_initial_references('RootPOA')
111
-
112
- root_poa = PortableServer::POA._narrow(obj)
113
-
114
- poa_man = root_poa.the_POAManager
115
-
116
- policies = []
117
- policies << orb.create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE,
118
- CORBA::Any.to_any(BiDirPolicy::BOTH, BiDirPolicy::BidirectionalPolicyValue._tc))
119
-
120
- puts 'policies created'
121
-
122
- child_poa = root_poa.create_POA('childPOA', poa_man, policies)
123
-
124
- puts 'child_poa created'
125
-
126
- policies.each { |pol| pol.destroy() }
127
-
128
- puts 'policies destroyed'
129
-
130
- poa_man.activate
131
-
132
- simple_srv = Simple_Server_i.new(orb, OPTIONS[:iter_num])
133
-
134
- id = child_poa.activate_object(simple_srv)
135
-
136
- obj = child_poa.id_to_reference(id)
137
-
138
- ior = orb.object_to_string(obj)
139
-
140
- puts "Activated as <#{ior}>"
141
-
142
- open(OPTIONS[:iorfile], 'w') { |io|
143
- io.write ior
144
- }
145
-
146
- Signal.trap('INT') do
147
- puts "SIGINT - shutting down ORB..."
148
- orb.shutdown()
149
- end
150
-
151
- if Signal.list.has_key?('USR2')
152
- Signal.trap('USR2', 'EXIT')
153
- end
154
-
155
- retval = 0
156
- while retval == 0
157
- pending = orb.work_pending()
158
-
159
- if pending
160
- orb.perform_work()
161
- end
162
-
163
- retval = simple_srv.call_client()
164
- end
165
-
166
- puts 'event loop finished'
167
-
168
- root_poa.destroy(true, true)
169
-
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
+ :iter_num => 10
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("--d LVL",
32
+ "Set ORBDebugLevel value.",
33
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
34
+ opts.on("--use-implement",
35
+ "Load IDL through CORBA.implement() instead of precompiled code.",
36
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
37
+ opts.on("--i ITERATIONS",
38
+ "Set number of iterations.",
39
+ "Default: 10", Integer) { |v| OPTIONS[:iter_num]=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.rb'
51
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
52
+ else
53
+ require 'TestS.rb'
54
+ end
55
+ require 'corba/policies.rb'
56
+
57
+ class Simple_Server_i < POA::Simple_Server
58
+ def initialize(orb, iter_num)
59
+ @orb = orb
60
+ @iter_num = iter_num
61
+ @flag = false
62
+ @callback = nil
63
+ end
64
+
65
+ def test_method(do_callback)
66
+ if do_callback == true
67
+ @flag = true
68
+ end
69
+ 0
70
+ end
71
+
72
+ def callback_object(cb)
73
+ @callback = cb
74
+ end
75
+
76
+ def shutdown()
77
+ @orb.shutdown()
78
+ end
79
+
80
+ def call_client()
81
+ if @flag
82
+ @iter_num.times do
83
+ @callback.callback_method()
84
+ end
85
+
86
+ @callback.shutdown()
87
+ @flag = false
88
+
89
+ return 1
90
+ else
91
+ sleep(0.05) # don't hog the CPU
92
+ end
93
+ return 0
94
+ end
95
+
96
+ end #of servant Simple_Server_i
97
+
98
+ if defined?(JRUBY_VERSION)
99
+ ## JacORB needs explicit activation of this option
100
+ props = {
101
+ "org.omg.PortableInterceptor.ORBInitializerClass.bidir_init" =>
102
+ "org.jacorb.orb.giop.BiDirConnectionInitializer"
103
+ }
104
+ else
105
+ props = {}
106
+ end
107
+
108
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB', props)
109
+
110
+ obj = orb.resolve_initial_references('RootPOA')
111
+
112
+ root_poa = PortableServer::POA._narrow(obj)
113
+
114
+ poa_man = root_poa.the_POAManager
115
+
116
+ policies = []
117
+ policies << orb.create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE,
118
+ CORBA::Any.to_any(BiDirPolicy::BOTH, BiDirPolicy::BidirectionalPolicyValue._tc))
119
+
120
+ puts 'policies created'
121
+
122
+ child_poa = root_poa.create_POA('childPOA', poa_man, policies)
123
+
124
+ puts 'child_poa created'
125
+
126
+ policies.each { |pol| pol.destroy() }
127
+
128
+ puts 'policies destroyed'
129
+
130
+ poa_man.activate
131
+
132
+ simple_srv = Simple_Server_i.new(orb, OPTIONS[:iter_num])
133
+
134
+ id = child_poa.activate_object(simple_srv)
135
+
136
+ obj = child_poa.id_to_reference(id)
137
+
138
+ ior = orb.object_to_string(obj)
139
+
140
+ puts "Activated as <#{ior}>"
141
+
142
+ open(OPTIONS[:iorfile], 'w') { |io|
143
+ io.write ior
144
+ }
145
+
146
+ Signal.trap('INT') do
147
+ puts "SIGINT - shutting down ORB..."
148
+ orb.shutdown()
149
+ end
150
+
151
+ if Signal.list.has_key?('USR2')
152
+ Signal.trap('USR2', 'EXIT')
153
+ end
154
+
155
+ retval = 0
156
+ while retval == 0
157
+ pending = orb.work_pending()
158
+
159
+ if pending
160
+ orb.perform_work()
161
+ end
162
+
163
+ retval = simple_srv.call_client()
164
+ end
165
+
166
+ puts 'event loop finished'
167
+
168
+ root_poa.destroy(true, true)
169
+
@@ -1,27 +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 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
- };
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
+ };
@@ -1,121 +1,121 @@
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://ins.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://ins.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
- if OPTIONS[:use_implement]
48
- require 'corba'
49
- CORBA.implement('Test.idl', OPTIONS)
50
- else
51
- require 'TestC.rb'
52
- end
53
- require 'corba/naming'
54
-
55
- orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
56
-
57
- begin
58
-
59
- # resolve NamingContext
60
- obj = orb.string_to_object(OPTIONS[:iorfile])
61
-
62
- nc = CosNaming::NamingContextExt._narrow(obj)
63
-
64
- assert_not "ERROR: INS IOR resolved to nil object!", CORBA::is_nil(nc)
65
-
66
- # list registered items in context
67
- binding_list, binding_iterator = nc.list(1)
68
-
69
- assert 'ERROR: INS list() does not function', (!CORBA::is_nil(binding_iterator) && binding_list.size==1) &&
70
- binding_list.first.binding_type == CosNaming::Nobject
71
-
72
- n = binding_list.first.binding_name.first
73
- puts "first binding: id=#{n.r_id}, kind=#{n.kind}"
74
-
75
- has_one, binding = binding_iterator.next_one()
76
-
77
- assert 'ERROR: INS BindingIterator#next_one() does not function',
78
- (has_one && binding) &&
79
- binding.binding_type == CosNaming::Nobject
80
-
81
- n = binding.binding_name.first
82
- puts "second binding: id=#{n.r_id}, kind=#{n.kind}"
83
-
84
- has_list, binding_list = binding_iterator.next_n(3)
85
-
86
- assert 'ERROR: INS BindingIterator#next_n() does not function',
87
- (has_list && binding_list.size==3) &&
88
- binding_list.first.binding_type == CosNaming::Nobject &&
89
- binding_list.last.binding_type == CosNaming::Nobject
90
-
91
- counts = ['third', 'fourth', 'fifth']
92
- binding_list.each do |binding|
93
- n = binding.binding_name.first
94
- puts "#{counts.shift} binding: id=#{n.r_id}, kind=#{n.kind}"
95
- end
96
-
97
- has_one, binding = binding_iterator.next_one()
98
-
99
- assert_not 'ERROR: INS BindingIterator#next_one() does not function (2)', has_one
100
-
101
- binding_iterator.destroy()
102
-
103
- # retrieve object reference for servant from Naming service
104
- name = binding_list.last.binding_name
105
-
106
- obj = nc.resolve(name)
107
-
108
- # narrow object ref and call
109
- hello_obj = Test::Hello._narrow(obj)
110
-
111
- the_string = hello_obj.get_string()
112
-
113
- puts "string returned <#{the_string}>"
114
-
115
- hello_obj.shutdown()
116
-
117
- ensure
118
-
119
- orb.destroy()
120
-
121
- end
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://ins.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://ins.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
+ if OPTIONS[:use_implement]
48
+ require 'corba'
49
+ CORBA.implement('Test.idl', OPTIONS)
50
+ else
51
+ require 'TestC.rb'
52
+ end
53
+ require 'corba/naming'
54
+
55
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
56
+
57
+ begin
58
+
59
+ # resolve NamingContext
60
+ obj = orb.string_to_object(OPTIONS[:iorfile])
61
+
62
+ nc = CosNaming::NamingContextExt._narrow(obj)
63
+
64
+ assert_not "ERROR: INS IOR resolved to nil object!", CORBA::is_nil(nc)
65
+
66
+ # list registered items in context
67
+ binding_list, binding_iterator = nc.list(1)
68
+
69
+ assert 'ERROR: INS list() does not function', (!CORBA::is_nil(binding_iterator) && binding_list.size==1) &&
70
+ binding_list.first.binding_type == CosNaming::Nobject
71
+
72
+ n = binding_list.first.binding_name.first
73
+ puts "first binding: id=#{n.r_id}, kind=#{n.kind}"
74
+
75
+ has_one, binding = binding_iterator.next_one()
76
+
77
+ assert 'ERROR: INS BindingIterator#next_one() does not function',
78
+ (has_one && binding) &&
79
+ binding.binding_type == CosNaming::Nobject
80
+
81
+ n = binding.binding_name.first
82
+ puts "second binding: id=#{n.r_id}, kind=#{n.kind}"
83
+
84
+ has_list, binding_list = binding_iterator.next_n(3)
85
+
86
+ assert 'ERROR: INS BindingIterator#next_n() does not function',
87
+ (has_list && binding_list.size==3) &&
88
+ binding_list.first.binding_type == CosNaming::Nobject &&
89
+ binding_list.last.binding_type == CosNaming::Nobject
90
+
91
+ counts = ['third', 'fourth', 'fifth']
92
+ binding_list.each do |binding|
93
+ n = binding.binding_name.first
94
+ puts "#{counts.shift} binding: id=#{n.r_id}, kind=#{n.kind}"
95
+ end
96
+
97
+ has_one, binding = binding_iterator.next_one()
98
+
99
+ assert_not 'ERROR: INS BindingIterator#next_one() does not function (2)', has_one
100
+
101
+ binding_iterator.destroy()
102
+
103
+ # retrieve object reference for servant from Naming service
104
+ name = binding_list.last.binding_name
105
+
106
+ obj = nc.resolve(name)
107
+
108
+ # narrow object ref and call
109
+ hello_obj = Test::Hello._narrow(obj)
110
+
111
+ the_string = hello_obj.get_string()
112
+
113
+ puts "string returned <#{the_string}>"
114
+
115
+ hello_obj.shutdown()
116
+
117
+ ensure
118
+
119
+ orb.destroy()
120
+
121
+ end