r2corba 1.4.1-x86-mingw32

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 (267) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +159 -0
  3. data/LICENSE +59 -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/ext/.keep +0 -0
  13. data/lib/corba/cbase/IORMap.rb +33 -0
  14. data/lib/corba/cbase/ORB.rb +231 -0
  15. data/lib/corba/cbase/Request.rb +134 -0
  16. data/lib/corba/cbase/Streams.rb +129 -0
  17. data/lib/corba/cbase/Stub.rb +19 -0
  18. data/lib/corba/cbase/Typecode.rb +441 -0
  19. data/lib/corba/cbase/Values.rb +129 -0
  20. data/lib/corba/cbase/exception.rb +66 -0
  21. data/lib/corba/cbase/poa.rb +23 -0
  22. data/lib/corba/cbase/policies.rb +78 -0
  23. data/lib/corba/cbase/post_require.rb +14 -0
  24. data/lib/corba/cbase/require.rb +28 -0
  25. data/lib/corba/cmds/base.rb +85 -0
  26. data/lib/corba/cmds/test.rb +30 -0
  27. data/lib/corba/common/Any.rb +91 -0
  28. data/lib/corba/common/IDL.rb +104 -0
  29. data/lib/corba/common/ORB.rb +368 -0
  30. data/lib/corba/common/Object.rb +208 -0
  31. data/lib/corba/common/Request.rb +20 -0
  32. data/lib/corba/common/Servant.rb +108 -0
  33. data/lib/corba/common/Struct.rb +22 -0
  34. data/lib/corba/common/Stub.rb +79 -0
  35. data/lib/corba/common/Typecode.rb +1121 -0
  36. data/lib/corba/common/Union.rb +56 -0
  37. data/lib/corba/common/Values.rb +92 -0
  38. data/lib/corba/common/const.rb +22 -0
  39. data/lib/corba/common/exception.rb +68 -0
  40. data/lib/corba/common/require.rb +27 -0
  41. data/lib/corba/common/version.rb +22 -0
  42. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  43. data/lib/corba/idl/CosNamingC.rb +461 -0
  44. data/lib/corba/idl/CosNamingS.rb +309 -0
  45. data/lib/corba/idl/IDL.rb +21 -0
  46. data/lib/corba/idl/IORTable.pidl +62 -0
  47. data/lib/corba/idl/IORTableC.rb +117 -0
  48. data/lib/corba/idl/MessagingC.rb +904 -0
  49. data/lib/corba/idl/POAC.rb +930 -0
  50. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  51. data/lib/corba/idl/TAO_ExtC.rb +179 -0
  52. data/lib/corba/idl/r2c_orb.rb +572 -0
  53. data/lib/corba/idl/require.rb +20 -0
  54. data/lib/corba/jbase/Any.rb +273 -0
  55. data/lib/corba/jbase/IORMap.rb +36 -0
  56. data/lib/corba/jbase/ORB.rb +99 -0
  57. data/lib/corba/jbase/Object.rb +98 -0
  58. data/lib/corba/jbase/Request.rb +226 -0
  59. data/lib/corba/jbase/Servant.rb +247 -0
  60. data/lib/corba/jbase/ServerRequest.rb +128 -0
  61. data/lib/corba/jbase/Streams.rb +671 -0
  62. data/lib/corba/jbase/Stub.rb +38 -0
  63. data/lib/corba/jbase/Typecode.rb +520 -0
  64. data/lib/corba/jbase/Values.rb +173 -0
  65. data/lib/corba/jbase/exception.rb +106 -0
  66. data/lib/corba/jbase/poa.rb +229 -0
  67. data/lib/corba/jbase/policies.rb +300 -0
  68. data/lib/corba/jbase/post_require.rb +14 -0
  69. data/lib/corba/jbase/require.rb +86 -0
  70. data/lib/corba/naming.rb +14 -0
  71. data/lib/corba/naming_service.rb +15 -0
  72. data/lib/corba/poa.rb +15 -0
  73. data/lib/corba/policies.rb +18 -0
  74. data/lib/corba/require.rb +17 -0
  75. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  76. data/lib/corba/svcs/ins/ins.rb +526 -0
  77. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  78. data/lib/corba.rb +16 -0
  79. data/lib/ridlbe/ruby/config.rb +336 -0
  80. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  81. data/lib/ridlbe/ruby/require.rb +16 -0
  82. data/lib/ridlbe/ruby/walker.rb +1582 -0
  83. data/mkrf_conf_bingem.rb +101 -0
  84. data/rakelib/bin.rake +80 -0
  85. data/rakelib/bin.rb +146 -0
  86. data/rakelib/build.rake +87 -0
  87. data/rakelib/config.rake +52 -0
  88. data/rakelib/config.rb +450 -0
  89. data/rakelib/ext.rake +242 -0
  90. data/rakelib/ext.rb +308 -0
  91. data/rakelib/ext_r2tao.rb +232 -0
  92. data/rakelib/gem.rake +212 -0
  93. data/rakelib/gem.rb +146 -0
  94. data/rakelib/package.rake +26 -0
  95. data/rakelib/test.rake +23 -0
  96. data/test/BiDirectional/Test.idl +34 -0
  97. data/test/BiDirectional/client.rb +132 -0
  98. data/test/BiDirectional/run_test.rb +68 -0
  99. data/test/BiDirectional/server.ior +1 -0
  100. data/test/BiDirectional/server.rb +169 -0
  101. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  105. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  106. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  107. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  108. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  109. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  110. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  111. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  112. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  113. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  114. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  115. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  116. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  117. data/test/Collocation/Diamond.idl +39 -0
  118. data/test/Collocation/run_test.rb +52 -0
  119. data/test/Collocation/test.rb +195 -0
  120. data/test/Connect_Timeout/Test.idl +27 -0
  121. data/test/Connect_Timeout/client.rb +111 -0
  122. data/test/Connect_Timeout/run_test.rb +52 -0
  123. data/test/DII/Test.idl +27 -0
  124. data/test/DII/client.rb +115 -0
  125. data/test/DII/run_test.rb +69 -0
  126. data/test/DII/server.ior +1 -0
  127. data/test/DII/server.rb +95 -0
  128. data/test/DSI/Test.idl +27 -0
  129. data/test/DSI/client.rb +66 -0
  130. data/test/DSI/run_test.rb +69 -0
  131. data/test/DSI/server.ior +1 -0
  132. data/test/DSI/server.rb +106 -0
  133. data/test/Exceptions/Test.idl +48 -0
  134. data/test/Exceptions/client.rb +118 -0
  135. data/test/Exceptions/run_test.rb +69 -0
  136. data/test/Exceptions/server.ior +1 -0
  137. data/test/Exceptions/server.rb +131 -0
  138. data/test/Hello/Test.idl +27 -0
  139. data/test/Hello/client.rb +78 -0
  140. data/test/Hello/run_test.rb +71 -0
  141. data/test/Hello/server.rb +95 -0
  142. data/test/IDL_Test/Test.idl +113 -0
  143. data/test/IDL_Test/Test_inc.idl +17 -0
  144. data/test/IDL_Test/client.rb +102 -0
  145. data/test/IDL_Test/run_test.rb +69 -0
  146. data/test/IDL_Test/server.ior +1 -0
  147. data/test/IDL_Test/server.rb +99 -0
  148. data/test/IORMap/Test.idl +27 -0
  149. data/test/IORMap/client.rb +73 -0
  150. data/test/IORMap/run_test.rb +69 -0
  151. data/test/IORMap/server.ior +1 -0
  152. data/test/IORMap/server.rb +114 -0
  153. data/test/IORTable/Test.idl +27 -0
  154. data/test/IORTable/client.rb +75 -0
  155. data/test/IORTable/run_test.rb +69 -0
  156. data/test/IORTable/server.ior +1 -0
  157. data/test/IORTable/server.rb +130 -0
  158. data/test/Implicit_Conversion/Test.idl +31 -0
  159. data/test/Implicit_Conversion/client.rb +110 -0
  160. data/test/Implicit_Conversion/run_test.rb +69 -0
  161. data/test/Implicit_Conversion/server.ior +1 -0
  162. data/test/Implicit_Conversion/server.rb +99 -0
  163. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  164. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  165. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  166. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  167. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  168. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  169. data/test/Multi_Threading/Simple/Test.idl +27 -0
  170. data/test/Multi_Threading/Simple/client.rb +88 -0
  171. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  172. data/test/Multi_Threading/Simple/server.ior +1 -0
  173. data/test/Multi_Threading/Simple/server.rb +118 -0
  174. data/test/Multi_Threading/Threads/Test.idl +31 -0
  175. data/test/Multi_Threading/Threads/client.rb +80 -0
  176. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  177. data/test/Multi_Threading/Threads/server.ior +1 -0
  178. data/test/Multi_Threading/Threads/server.rb +119 -0
  179. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  180. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  181. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  182. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  183. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  184. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  185. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  186. data/test/Nil/Test.idl +27 -0
  187. data/test/Nil/run_test.rb +52 -0
  188. data/test/Nil/test.rb +78 -0
  189. data/test/OBV/AbstractInterface/client.rb +179 -0
  190. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  191. data/test/OBV/AbstractInterface/server.ior +1 -0
  192. data/test/OBV/AbstractInterface/server.rb +149 -0
  193. data/test/OBV/AbstractInterface/test.idl +53 -0
  194. data/test/OBV/Custom/OBV.idl +18 -0
  195. data/test/OBV/Custom/OBV_impl.rb +40 -0
  196. data/test/OBV/Custom/client.rb +86 -0
  197. data/test/OBV/Custom/run_test.rb +69 -0
  198. data/test/OBV/Custom/server.ior +1 -0
  199. data/test/OBV/Custom/server.rb +100 -0
  200. data/test/OBV/Simple/OBV.idl +15 -0
  201. data/test/OBV/Simple/OBV_impl.rb +26 -0
  202. data/test/OBV/Simple/client.rb +86 -0
  203. data/test/OBV/Simple/run_test.rb +69 -0
  204. data/test/OBV/Simple/server.ior +1 -0
  205. data/test/OBV/Simple/server.rb +100 -0
  206. data/test/OBV/Simple_Event/Event.idl +15 -0
  207. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  208. data/test/OBV/Simple_Event/client.rb +86 -0
  209. data/test/OBV/Simple_Event/run_test.rb +69 -0
  210. data/test/OBV/Simple_Event/server.ior +1 -0
  211. data/test/OBV/Simple_Event/server.rb +100 -0
  212. data/test/OBV/Supports/client.rb +116 -0
  213. data/test/OBV/Supports/run_test.rb +69 -0
  214. data/test/OBV/Supports/server.ior +1 -0
  215. data/test/OBV/Supports/server.rb +103 -0
  216. data/test/OBV/Supports/supports.idl +33 -0
  217. data/test/OBV/Supports/supports_impl.rb +57 -0
  218. data/test/OBV/Tree/client.rb +116 -0
  219. data/test/OBV/Tree/run_test.rb +69 -0
  220. data/test/OBV/Tree/server.ior +1 -0
  221. data/test/OBV/Tree/server.rb +117 -0
  222. data/test/OBV/Tree/test.idl +32 -0
  223. data/test/OBV/Truncatable/Extra.idl +27 -0
  224. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  225. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  226. data/test/OBV/Truncatable/client.rb +279 -0
  227. data/test/OBV/Truncatable/run_test.rb +69 -0
  228. data/test/OBV/Truncatable/server.ior +1 -0
  229. data/test/OBV/Truncatable/server.rb +89 -0
  230. data/test/OBV/ValueBox/client.rb +497 -0
  231. data/test/OBV/ValueBox/run_test.rb +69 -0
  232. data/test/OBV/ValueBox/server.ior +1 -0
  233. data/test/OBV/ValueBox/server.rb +271 -0
  234. data/test/OBV/ValueBox/valuebox.idl +101 -0
  235. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  236. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  237. data/test/OBV/ValueBox/vb_union.idl +21 -0
  238. data/test/Object/Test.idl +27 -0
  239. data/test/Object/client.rb +103 -0
  240. data/test/Object/run_test.rb +69 -0
  241. data/test/Object/server.ior +1 -0
  242. data/test/Object/server.rb +126 -0
  243. data/test/POA/Test.idl +27 -0
  244. data/test/POA/run_test.rb +52 -0
  245. data/test/POA/test.rb +112 -0
  246. data/test/Param_Test/Test.idl +182 -0
  247. data/test/Param_Test/client.rb +277 -0
  248. data/test/Param_Test/run_test.rb +69 -0
  249. data/test/Param_Test/server.ior +1 -0
  250. data/test/Param_Test/server.rb +296 -0
  251. data/test/Performance/Simple/Test.idl +27 -0
  252. data/test/Performance/Simple/client.rb +90 -0
  253. data/test/Performance/Simple/run_test.rb +69 -0
  254. data/test/Performance/Simple/server.ior +1 -0
  255. data/test/Performance/Simple/server.rb +95 -0
  256. data/test/Policies/Test.idl +27 -0
  257. data/test/Policies/run_test.rb +52 -0
  258. data/test/Policies/test.rb +144 -0
  259. data/test/Timeout/client.rb +207 -0
  260. data/test/Timeout/run_test.rb +69 -0
  261. data/test/Timeout/server.ior +1 -0
  262. data/test/Timeout/server.rb +109 -0
  263. data/test/Timeout/test.idl +19 -0
  264. data/test/lib/assert.rb +43 -0
  265. data/test/lib/test.rb +542 -0
  266. data/test/test_runner.rb +193 -0
  267. metadata +342 -0
@@ -0,0 +1,78 @@
1
+ #--------------------------------------------------------------------
2
+ # policies.rb - C++/TAO R2CORBA Policy support loader
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ require 'corba/idl/TAO_ExtC'
14
+
15
+ begin
16
+ require RUBY_PLATFORM =~ /mingw32/ ? "librpolw" : "librpol"
17
+ rescue LoadError
18
+ $stderr.puts $!.to_s if $VERBOSE
19
+ raise
20
+ end
21
+
22
+ module R2CORBA
23
+
24
+ module CORBA
25
+
26
+ module ORB
27
+ def create_policy(type, val)
28
+ raise CORBA::BAD_PARAM.new('Any expected',0,CORBA::COMPLETED_NO) unless CORBA::Any === val
29
+ begin
30
+ self.orb_.create_policy(type.to_i, val)
31
+ rescue ::NativeException
32
+ CORBA::Exception.native2r($!)
33
+ end
34
+ end
35
+ end # ORB
36
+
37
+ module Object
38
+ def _get_policy(policy_type)
39
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
40
+ begin
41
+ pol = self.objref_._get_policy(policy_type)
42
+ rescue ::NativeException
43
+ CORBA::Exception.native2r($!)
44
+ end
45
+ raise CORBA::INV_POLICY if CORBA.is_nil(pol) # provide spec compliance
46
+ end
47
+
48
+ def _set_policy_overrides(policies, set_add)
49
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
50
+ begin
51
+ CORBA::Object._wrap_native(self.objref_._set_policy_overrides(policies, set_add))
52
+ rescue ::NativeException
53
+ CORBA::Exception.native2r($!)
54
+ end
55
+ end
56
+
57
+ def _get_policy_overrides(types)
58
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
59
+ begin
60
+ self.objref_._get_policy_overrides(types)
61
+ rescue ::NativeException
62
+ CORBA::Exception.native2r($!)
63
+ end
64
+ end
65
+
66
+ def _validate_connection(inconsistent_policies)
67
+ raise CORBA::INV_OBJREF.new if self._is_nil?()
68
+ begin
69
+ self.objref_._validate_connection(inconsistent_policies)
70
+ rescue ::NativeException
71
+ CORBA::Exception.native2r($!)
72
+ end
73
+ end
74
+ end # Object
75
+
76
+ end # CORBA
77
+
78
+ end # R2CORBA
@@ -0,0 +1,14 @@
1
+ #--------------------------------------------------------------------
2
+ # require.rb - C++/TAO R2CORBA loader finalizer
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require 'corba/cbase/IORMap'
@@ -0,0 +1,28 @@
1
+ #--------------------------------------------------------------------
2
+ # require.rb - C++/TAO R2CORBA loader
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ begin
15
+ require RUBY_PLATFORM =~ /mingw32/ ? "libr2taow" : "libr2tao"
16
+ rescue LoadError
17
+ $stderr.puts $!.to_s if $VERBOSE
18
+ raise
19
+ end
20
+
21
+ [ 'exception',
22
+ 'ORB',
23
+ 'Request',
24
+ 'Typecode',
25
+ 'Stub',
26
+ 'Values',
27
+ 'Streams'
28
+ ].each { |f| require "corba/cbase/#{f}.rb" }
@@ -0,0 +1,85 @@
1
+ #--------------------------------------------------------------------
2
+ # base.rb - R2CORBA base command handler
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require 'optparse'
15
+
16
+ module R2CORBA
17
+ module Commands
18
+
19
+ @@commands = Hash.new do |hash, key|
20
+ $stderr.puts "Unknown command #{key} specified."
21
+ exit(1)
22
+ end
23
+
24
+ @@options = {
25
+ :verbose => false
26
+ }
27
+
28
+ def self.register(cmdid, cmdhandler)
29
+ @@commands[cmdid.to_s] = cmdhandler
30
+ end
31
+
32
+ def self.describe_all
33
+ puts 'R2CORBA commands:'
34
+ puts "\tlist\t\tlist all r2corba commands"
35
+ @@commands.each do |id, cmd|
36
+ desc = cmd.description.split('\n')
37
+ puts "\t#{id}\t\t#{desc.join('\t\t\t')}"
38
+ end
39
+ end
40
+
41
+ def self.run(cmdid)
42
+ @@commands[cmdid.to_s].run
43
+ end
44
+
45
+ def self.options
46
+ @@options
47
+ end
48
+
49
+ def self.parse_args(args)
50
+ opts = OptionParser.new
51
+ opts.banner = "Usage: r2corba [global options] command [command options]\n\n" +
52
+ " command\t\tSpecifies R2CORBA command to execute.\n"+
53
+ " \t\tDefault = list :== list commands\n"
54
+ opts.separator ''
55
+ opts.on('-v', '--verbose',
56
+ 'Show verbose output') { |v| ::R2CORBA::Commands.options[:verbose] = true }
57
+ opts.on('-h', '--help',
58
+ 'Show this message.') { |v| puts opts; exit(0) }
59
+ opts.parse!(args)
60
+ end
61
+ end
62
+ end
63
+
64
+ Dir[File.join(File.dirname(__FILE__), '*.rb')].each do |file|
65
+ require file unless File.basename(file) == File.basename(__FILE__)
66
+ end
67
+
68
+ # extract global options and command
69
+ args = []
70
+ while cmd = ARGV.shift
71
+ if cmd.start_with? '-'
72
+ args << cmd
73
+ cmd = nil
74
+ else
75
+ break
76
+ end
77
+ end
78
+
79
+ R2CORBA::Commands.parse_args(args)
80
+
81
+ if cmd && cmd.downcase != 'list'
82
+ R2CORBA::Commands.run(cmd)
83
+ else
84
+ R2CORBA::Commands.describe_all
85
+ end
@@ -0,0 +1,30 @@
1
+ #--------------------------------------------------------------------
2
+ # test.rb - R2CORBA unit tester command
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'test_runner.rb')
15
+
16
+ module R2CORBA
17
+ module Commands
18
+ class Test
19
+ def description
20
+ 'Run R2CORBA regression tests.'
21
+ end
22
+
23
+ def run
24
+ TestFinder.run ARGV
25
+ end
26
+ end
27
+
28
+ self.register('test', Test.new)
29
+ end
30
+ end
@@ -0,0 +1,91 @@
1
+ #--------------------------------------------------------------------
2
+ # Any.rb - Common definitions for CORBA Any support
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+ module R2CORBA
14
+ module CORBA
15
+ class Any
16
+
17
+ def Any.typecode_for_value(val)
18
+ case val
19
+ when CORBA::Any
20
+ return val._tc
21
+ when ::NilClass
22
+ return CORBA._tc_null
23
+ when ::Bignum
24
+ return CORBA._tc_longlong
25
+ when ::Integer
26
+ return CORBA._tc_long
27
+ when ::Float
28
+ return CORBA._tc_double
29
+ when ::TrueClass, ::FalseClass
30
+ return CORBA._tc_boolean
31
+ when ::String
32
+ return CORBA._tc_string
33
+ else
34
+ if val.class.respond_to?(:_tc)
35
+ begin
36
+ tc = val.class._tc
37
+ if tc.is_a? CORBA::TypeCode
38
+ return tc
39
+ end
40
+ rescue
41
+ end
42
+ else
43
+ if val.is_a? CORBA::Object
44
+ return CORBA._tc_Object
45
+ elsif val.is_a? CORBA::TypeCode
46
+ return CORBA._tc_TypeCode
47
+ end
48
+ end
49
+ end
50
+ return nil
51
+ end
52
+
53
+ def Any.value_for_any(any)
54
+ case any
55
+ when CORBA::Any
56
+ return any._value
57
+ else
58
+ return any
59
+ end
60
+ end
61
+
62
+ def Any.to_any(o, tc=nil)
63
+ if tc.nil?
64
+ tc = self.typecode_for_value(o)
65
+ if tc.is_a?(CORBA::TypeCode)
66
+ return new(o, tc)
67
+ end
68
+ raise CORBA::MARSHAL.new('missing TypeCode',0,CORBA::COMPLETED_NO)
69
+ end
70
+ return new(o, tc)
71
+ end
72
+
73
+ def _tc
74
+ @__tc
75
+ end
76
+ def _value
77
+ @__value
78
+ end
79
+
80
+ private_class_method :new
81
+
82
+ protected
83
+
84
+ def initialize(o, tc)
85
+ @__tc = tc
86
+ @__value = o
87
+ end
88
+
89
+ end # Any
90
+ end # CORBA
91
+ end # R2CORBA
@@ -0,0 +1,104 @@
1
+ #--------------------------------------------------------------------
2
+ # IDL.rb - inline IDL loading support
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ # hardwire RIDL to embedded state for Ruby language mapping
15
+ module IDL
16
+ @@embedded = true
17
+ @@be_name = :ruby
18
+ end
19
+
20
+ begin
21
+ require 'rubygems'
22
+ rescue LoadError
23
+ # ignore error, RIDL may be installed locally not as gem
24
+ end
25
+ require 'ridl/ridl'
26
+
27
+ module R2CORBA
28
+
29
+ module CORBA
30
+
31
+ module IDL
32
+ CLIENT_STUB = 1.freeze
33
+ SERVANT_INTF = 2.freeze
34
+
35
+ @@loaded_idls = {}
36
+
37
+ def IDL.implement(idlfile, params = {}, genbits = CLIENT_STUB)
38
+ idlreg = @@loaded_idls[idlfile]
39
+ if idlreg.nil? || ((idlreg & genbits) != genbits)
40
+ idlreg ||= 0
41
+ if block_given?
42
+ @@loaded_idls[idlfile] = idlreg | genbits
43
+ yield
44
+ else
45
+ params[:includepaths] ||= $:
46
+ fp = find_include(idlfile, params[:includepaths])
47
+ begin
48
+ f = File.open(fp, 'r')
49
+ params.store(:stubs_only, !gen_servant_intf?(idlreg, genbits))
50
+ params.store(:client_stubs, gen_client_stubs?(idlreg, genbits))
51
+ ## check for forced stub generation
52
+ genbits |= CLIENT_STUB if params[:client_stubs]
53
+ @@loaded_idls[idlfile] = (idlreg | genbits)
54
+ ::IDL::RIDL.eval(f, params)
55
+ ensure
56
+ f.close
57
+ end
58
+ end
59
+ end
60
+ end
61
+ private
62
+ def IDL.find_include(fname, paths)
63
+ fpath = if File.file?(fname) && File.readable?(fname)
64
+ fname
65
+ else
66
+ fp = paths.find do |p|
67
+ f = p + "/" + fname
68
+ File.file?(f) && File.readable?(f)
69
+ end
70
+ fp += '/' + fname if !fp.nil?
71
+ fp
72
+ end
73
+ if not fpath.nil?
74
+ return fpath
75
+ end
76
+ raise "Cannot open IDL file '#{fname}'"
77
+ end
78
+
79
+ def IDL.gen_servant_intf?(idlreg, genbits)
80
+ if (genbits & SERVANT_INTF) == SERVANT_INTF
81
+ (idlreg & SERVANT_INTF) != SERVANT_INTF
82
+ else
83
+ false
84
+ end
85
+ end
86
+
87
+ def IDL.gen_client_stubs?(idlreg, genbits)
88
+ if (idlreg & CLIENT_STUB) == CLIENT_STUB
89
+ false
90
+ else
91
+ if (genbits & CLIENT_STUB) == CLIENT_STUB
92
+ true
93
+ else
94
+ ## if servant intf need to be generated we *require* client stubs too
95
+ gen_servant_intf?(idlreg, genbits)
96
+ end
97
+ end
98
+ end
99
+
100
+ end
101
+
102
+ end
103
+
104
+ end