r2corba 1.4.1-universal-java-1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. data/CHANGES +159 -0
  2. data/LICENSE +59 -0
  3. data/LICENSE.jacorb +660 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/r2corba.bat +20 -0
  8. data/bin/ridlc +11 -0
  9. data/bin/ridlc.bat +23 -0
  10. data/bin/rins +7 -0
  11. data/bin/rins.bat +19 -0
  12. data/jacorb/lib/antlr-2.7.2.jar +0 -0
  13. data/jacorb/lib/jacorb-services.jar +0 -0
  14. data/jacorb/lib/jacorb.jar +0 -0
  15. data/jacorb/lib/slf4j-api-1.6.4.jar +0 -0
  16. data/jacorb/lib/slf4j-jdk14-1.6.4.jar +0 -0
  17. data/lib/corba/cbase/IORMap.rb +33 -0
  18. data/lib/corba/cbase/ORB.rb +231 -0
  19. data/lib/corba/cbase/Request.rb +134 -0
  20. data/lib/corba/cbase/Streams.rb +129 -0
  21. data/lib/corba/cbase/Stub.rb +19 -0
  22. data/lib/corba/cbase/Typecode.rb +441 -0
  23. data/lib/corba/cbase/Values.rb +129 -0
  24. data/lib/corba/cbase/exception.rb +66 -0
  25. data/lib/corba/cbase/poa.rb +23 -0
  26. data/lib/corba/cbase/policies.rb +78 -0
  27. data/lib/corba/cbase/post_require.rb +14 -0
  28. data/lib/corba/cbase/require.rb +28 -0
  29. data/lib/corba/cmds/base.rb +85 -0
  30. data/lib/corba/cmds/test.rb +30 -0
  31. data/lib/corba/common/Any.rb +91 -0
  32. data/lib/corba/common/IDL.rb +104 -0
  33. data/lib/corba/common/ORB.rb +368 -0
  34. data/lib/corba/common/Object.rb +208 -0
  35. data/lib/corba/common/Request.rb +20 -0
  36. data/lib/corba/common/Servant.rb +108 -0
  37. data/lib/corba/common/Struct.rb +22 -0
  38. data/lib/corba/common/Stub.rb +79 -0
  39. data/lib/corba/common/Typecode.rb +1121 -0
  40. data/lib/corba/common/Union.rb +56 -0
  41. data/lib/corba/common/Values.rb +92 -0
  42. data/lib/corba/common/const.rb +22 -0
  43. data/lib/corba/common/exception.rb +68 -0
  44. data/lib/corba/common/require.rb +27 -0
  45. data/lib/corba/common/version.rb +22 -0
  46. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  47. data/lib/corba/idl/CosNamingC.rb +461 -0
  48. data/lib/corba/idl/CosNamingS.rb +309 -0
  49. data/lib/corba/idl/IDL.rb +21 -0
  50. data/lib/corba/idl/IORTable.pidl +62 -0
  51. data/lib/corba/idl/MessagingC.rb +904 -0
  52. data/lib/corba/idl/POAC.rb +930 -0
  53. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  54. data/lib/corba/idl/r2c_orb.rb +572 -0
  55. data/lib/corba/idl/require.rb +20 -0
  56. data/lib/corba/jbase/Any.rb +273 -0
  57. data/lib/corba/jbase/IORMap.rb +36 -0
  58. data/lib/corba/jbase/ORB.rb +99 -0
  59. data/lib/corba/jbase/Object.rb +98 -0
  60. data/lib/corba/jbase/Request.rb +226 -0
  61. data/lib/corba/jbase/Servant.rb +247 -0
  62. data/lib/corba/jbase/ServerRequest.rb +128 -0
  63. data/lib/corba/jbase/Streams.rb +671 -0
  64. data/lib/corba/jbase/Stub.rb +38 -0
  65. data/lib/corba/jbase/Typecode.rb +520 -0
  66. data/lib/corba/jbase/Values.rb +173 -0
  67. data/lib/corba/jbase/exception.rb +106 -0
  68. data/lib/corba/jbase/poa.rb +229 -0
  69. data/lib/corba/jbase/policies.rb +300 -0
  70. data/lib/corba/jbase/post_require.rb +14 -0
  71. data/lib/corba/jbase/require.rb +86 -0
  72. data/lib/corba/naming.rb +14 -0
  73. data/lib/corba/naming_service.rb +15 -0
  74. data/lib/corba/poa.rb +15 -0
  75. data/lib/corba/policies.rb +18 -0
  76. data/lib/corba/require.rb +17 -0
  77. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  78. data/lib/corba/svcs/ins/ins.rb +526 -0
  79. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  80. data/lib/corba.rb +16 -0
  81. data/lib/ridlbe/ruby/config.rb +336 -0
  82. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  83. data/lib/ridlbe/ruby/require.rb +16 -0
  84. data/lib/ridlbe/ruby/walker.rb +1582 -0
  85. data/mkrf_conf_bingem.rb +101 -0
  86. data/rakelib/bin.rake +80 -0
  87. data/rakelib/bin.rb +146 -0
  88. data/rakelib/build.rake +87 -0
  89. data/rakelib/config.rake +52 -0
  90. data/rakelib/config.rb +450 -0
  91. data/rakelib/gem.rake +212 -0
  92. data/rakelib/gem.rb +146 -0
  93. data/rakelib/package.rake +26 -0
  94. data/rakelib/test.rake +23 -0
  95. data/test/BiDirectional/Test.idl +34 -0
  96. data/test/BiDirectional/client.rb +132 -0
  97. data/test/BiDirectional/run_test.rb +68 -0
  98. data/test/BiDirectional/server.ior +1 -0
  99. data/test/BiDirectional/server.rb +169 -0
  100. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  101. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  105. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  106. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  107. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  108. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  109. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  110. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  111. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  112. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  113. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  114. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  115. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  116. data/test/Collocation/Diamond.idl +39 -0
  117. data/test/Collocation/run_test.rb +52 -0
  118. data/test/Collocation/test.rb +195 -0
  119. data/test/Connect_Timeout/Test.idl +27 -0
  120. data/test/Connect_Timeout/client.rb +111 -0
  121. data/test/Connect_Timeout/run_test.rb +52 -0
  122. data/test/DII/Test.idl +27 -0
  123. data/test/DII/client.rb +115 -0
  124. data/test/DII/run_test.rb +69 -0
  125. data/test/DII/server.ior +1 -0
  126. data/test/DII/server.rb +95 -0
  127. data/test/DSI/Test.idl +27 -0
  128. data/test/DSI/client.rb +66 -0
  129. data/test/DSI/run_test.rb +69 -0
  130. data/test/DSI/server.ior +1 -0
  131. data/test/DSI/server.rb +106 -0
  132. data/test/Exceptions/Test.idl +48 -0
  133. data/test/Exceptions/client.rb +118 -0
  134. data/test/Exceptions/run_test.rb +69 -0
  135. data/test/Exceptions/server.ior +1 -0
  136. data/test/Exceptions/server.rb +131 -0
  137. data/test/Hello/Test.idl +27 -0
  138. data/test/Hello/client.rb +78 -0
  139. data/test/Hello/run_test.rb +71 -0
  140. data/test/Hello/server.rb +95 -0
  141. data/test/IDL_Test/Test.idl +113 -0
  142. data/test/IDL_Test/Test_inc.idl +17 -0
  143. data/test/IDL_Test/client.rb +102 -0
  144. data/test/IDL_Test/run_test.rb +69 -0
  145. data/test/IDL_Test/server.ior +1 -0
  146. data/test/IDL_Test/server.rb +99 -0
  147. data/test/IORMap/Test.idl +27 -0
  148. data/test/IORMap/client.rb +73 -0
  149. data/test/IORMap/run_test.rb +69 -0
  150. data/test/IORMap/server.ior +1 -0
  151. data/test/IORMap/server.rb +114 -0
  152. data/test/IORTable/Test.idl +27 -0
  153. data/test/IORTable/client.rb +75 -0
  154. data/test/IORTable/run_test.rb +69 -0
  155. data/test/IORTable/server.ior +0 -0
  156. data/test/IORTable/server.rb +130 -0
  157. data/test/Implicit_Conversion/Test.idl +31 -0
  158. data/test/Implicit_Conversion/client.rb +110 -0
  159. data/test/Implicit_Conversion/run_test.rb +69 -0
  160. data/test/Implicit_Conversion/server.ior +1 -0
  161. data/test/Implicit_Conversion/server.rb +99 -0
  162. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  163. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  164. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  165. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  166. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  167. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  168. data/test/Multi_Threading/Simple/Test.idl +27 -0
  169. data/test/Multi_Threading/Simple/client.rb +88 -0
  170. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  171. data/test/Multi_Threading/Simple/server.ior +1 -0
  172. data/test/Multi_Threading/Simple/server.rb +118 -0
  173. data/test/Multi_Threading/Threads/Test.idl +31 -0
  174. data/test/Multi_Threading/Threads/client.rb +80 -0
  175. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  176. data/test/Multi_Threading/Threads/server.ior +1 -0
  177. data/test/Multi_Threading/Threads/server.rb +119 -0
  178. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  179. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  180. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  181. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  182. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  183. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  184. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  185. data/test/Nil/Test.idl +27 -0
  186. data/test/Nil/run_test.rb +52 -0
  187. data/test/Nil/test.rb +78 -0
  188. data/test/OBV/AbstractInterface/client.rb +179 -0
  189. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  190. data/test/OBV/AbstractInterface/server.ior +1 -0
  191. data/test/OBV/AbstractInterface/server.rb +149 -0
  192. data/test/OBV/AbstractInterface/test.idl +53 -0
  193. data/test/OBV/Custom/OBV.idl +18 -0
  194. data/test/OBV/Custom/OBV_impl.rb +40 -0
  195. data/test/OBV/Custom/client.rb +86 -0
  196. data/test/OBV/Custom/run_test.rb +69 -0
  197. data/test/OBV/Custom/server.ior +1 -0
  198. data/test/OBV/Custom/server.rb +100 -0
  199. data/test/OBV/Simple/OBV.idl +15 -0
  200. data/test/OBV/Simple/OBV_impl.rb +26 -0
  201. data/test/OBV/Simple/client.rb +86 -0
  202. data/test/OBV/Simple/run_test.rb +69 -0
  203. data/test/OBV/Simple/server.ior +1 -0
  204. data/test/OBV/Simple/server.rb +100 -0
  205. data/test/OBV/Simple_Event/Event.idl +15 -0
  206. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  207. data/test/OBV/Simple_Event/client.rb +86 -0
  208. data/test/OBV/Simple_Event/run_test.rb +69 -0
  209. data/test/OBV/Simple_Event/server.ior +1 -0
  210. data/test/OBV/Simple_Event/server.rb +100 -0
  211. data/test/OBV/Supports/client.rb +116 -0
  212. data/test/OBV/Supports/run_test.rb +69 -0
  213. data/test/OBV/Supports/server.ior +1 -0
  214. data/test/OBV/Supports/server.rb +103 -0
  215. data/test/OBV/Supports/supports.idl +33 -0
  216. data/test/OBV/Supports/supports_impl.rb +57 -0
  217. data/test/OBV/Tree/client.rb +116 -0
  218. data/test/OBV/Tree/run_test.rb +69 -0
  219. data/test/OBV/Tree/server.ior +1 -0
  220. data/test/OBV/Tree/server.rb +117 -0
  221. data/test/OBV/Tree/test.idl +32 -0
  222. data/test/OBV/Truncatable/Extra.idl +27 -0
  223. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  224. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  225. data/test/OBV/Truncatable/client.rb +279 -0
  226. data/test/OBV/Truncatable/run_test.rb +69 -0
  227. data/test/OBV/Truncatable/server.ior +1 -0
  228. data/test/OBV/Truncatable/server.rb +89 -0
  229. data/test/OBV/ValueBox/client.rb +497 -0
  230. data/test/OBV/ValueBox/run_test.rb +69 -0
  231. data/test/OBV/ValueBox/server.ior +1 -0
  232. data/test/OBV/ValueBox/server.rb +271 -0
  233. data/test/OBV/ValueBox/valuebox.idl +101 -0
  234. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  235. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  236. data/test/OBV/ValueBox/vb_union.idl +21 -0
  237. data/test/Object/Test.idl +27 -0
  238. data/test/Object/client.rb +103 -0
  239. data/test/Object/run_test.rb +69 -0
  240. data/test/Object/server.ior +1 -0
  241. data/test/Object/server.rb +126 -0
  242. data/test/POA/Test.idl +27 -0
  243. data/test/POA/run_test.rb +52 -0
  244. data/test/POA/test.rb +112 -0
  245. data/test/Param_Test/Test.idl +182 -0
  246. data/test/Param_Test/client.rb +277 -0
  247. data/test/Param_Test/run_test.rb +69 -0
  248. data/test/Param_Test/server.ior +1 -0
  249. data/test/Param_Test/server.rb +296 -0
  250. data/test/Performance/Simple/Test.idl +27 -0
  251. data/test/Performance/Simple/client.rb +90 -0
  252. data/test/Performance/Simple/run_test.rb +69 -0
  253. data/test/Performance/Simple/server.ior +1 -0
  254. data/test/Performance/Simple/server.rb +95 -0
  255. data/test/Policies/Test.idl +27 -0
  256. data/test/Policies/run_test.rb +52 -0
  257. data/test/Policies/test.rb +144 -0
  258. data/test/Timeout/client.rb +207 -0
  259. data/test/Timeout/run_test.rb +69 -0
  260. data/test/Timeout/server.ior +1 -0
  261. data/test/Timeout/server.rb +109 -0
  262. data/test/Timeout/test.idl +19 -0
  263. data/test/lib/assert.rb +43 -0
  264. data/test/lib/test.rb +542 -0
  265. data/test/test_runner.rb +193 -0
  266. metadata +352 -0
data/rakelib/gem.rb ADDED
@@ -0,0 +1,146 @@
1
+ #--------------------------------------------------------------------
2
+ # gem.rb - build file
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 'rubygems'
15
+ begin
16
+ require 'rubygems/builder'
17
+ rescue LoadError
18
+ require 'rubygems/package'
19
+ end
20
+
21
+ require File.join(File.dirname(__FILE__), 'config.rb')
22
+ unless defined?(JRUBY_VERSION)
23
+ require File.join(File.dirname(__FILE__), 'ext.rb')
24
+ end
25
+
26
+ module R2CORBA
27
+
28
+ module Gem
29
+
30
+ unless defined?(JRUBY_VERSION)
31
+
32
+ @@ace_dlls = nil
33
+
34
+ def self.ace_dlls
35
+ unless @@ace_dlls
36
+ @@ace_dlls = []
37
+ # collect required dll paths
38
+ if R2CORBA::Config.is_win32
39
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs(R2CORBA::Ext.so_ext, 'ext'))
40
+ @@ace_dlls.concat(R2CORBA::Ext.sys_dlls.collect {|sysdll| File.join('ext', File.basename(sysdll))})
41
+ elsif R2CORBA::Config.is_linux
42
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| File.join('ext', File.basename(Dir.glob(acelib).first)) })
43
+ else
44
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs(R2CORBA::Ext.so_ext, 'ext'))
45
+ end
46
+ end
47
+ @@ace_dlls
48
+ end
49
+ end
50
+
51
+ def self.manifest(gemtype = :src, exclude_ace_dll = false)
52
+ # create MANIFEST list with included files
53
+ manifest = []
54
+ if gemtype == :bin
55
+ manifest.concat %w{bin/ridlc bin/rins bin/r2corba}
56
+ manifest.concat %w{bin/ridlc.bat bin/rins.bat bin/r2corba.bat} if R2CORBA::Config.is_win32 || defined?(JRUBY_VERSION)
57
+ if defined?(JRUBY_VERSION)
58
+ manifest.concat(Dir['jacorb/lib/*.jar'].select do |fnm|
59
+ !%w{idl jacorb-sources picocontainer wrapper}.any? {|nm| /^#{nm}/ =~ File.basename(fnm) }
60
+ end)
61
+ elsif ENV['FULL_BINGEM']
62
+ manifest.concat(R2CORBA::Gem.ace_dlls) unless exclude_ace_dll
63
+ manifest.concat(Dir['ext/*.so'])
64
+ end
65
+ manifest.concat Dir['lib/corba/**/*']
66
+ manifest.concat Dir['lib/ridlbe/**/*']
67
+ manifest << 'lib/corba.rb'
68
+ manifest.concat Dir['test/**/*']
69
+ manifest.concat %w{LICENSE README THANKS CHANGES mkrf_conf_bingem.rb}
70
+ manifest << 'LICENSE.jacorb' if defined?(JRUBY_VERSION)
71
+ elsif gemtype == :extbin
72
+ unless defined?(JRUBY_VERSION)
73
+ manifest.concat(R2CORBA::Gem.ace_dlls) unless exclude_ace_dll
74
+ manifest.concat(Dir['ext/*.so'])
75
+ end
76
+ else
77
+ manifest.concat %w{bin/ridlc bin/rins bin/r2corba}
78
+ manifest.concat Dir['ext/**/*.{rb,c,cpp,h,mwc}']
79
+ manifest.concat Dir['lib/corba/**/*[^CS].*'].select {|path| File.basename(path) != 'r2c_orb.rb'}
80
+ manifest.concat Dir['lib/ridlbe/**/*.[^p]*']
81
+ manifest << 'lib/corba.rb'
82
+ manifest.concat Dir['test/**/*']
83
+ manifest.concat %w{LICENSE README THANKS CHANGES mkrf_conf_srcgem.rb}
84
+ end
85
+ unless gemtype == :extbin
86
+ if defined?(JRUBY_VERSION)
87
+ manifest.concat(Dir['rakelib/**/*'].select {|fnm| /install|help|ext/ =~ fnm ? false : true })
88
+ else
89
+ manifest.concat(Dir['rakelib/**/*'].select {|fnm| /install|help/ =~ fnm ? false : true })
90
+ end
91
+ end
92
+ manifest
93
+ end
94
+
95
+ def self.define_spec(name, version, gemtype = :src, &block)
96
+ name += '_ext' if gemtype == :extbin && !defined?(JRUBY_VERSION)
97
+ name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
98
+ gemspec = ::Gem::Specification.new(name,version.dup)
99
+ if gemtype == :bin || gemtype == :extbin
100
+ gemspec.platform = ::Gem::Platform::CURRENT
101
+ end
102
+ gemspec.required_rubygems_version = ::Gem::Requirement.new(">= 0") if gemspec.respond_to? :required_rubygems_version=
103
+ block.call(gemspec) if block_given?
104
+ gemspec
105
+ end
106
+
107
+ def self.gem_name(name, version, gemtype = :src)
108
+ name += '_ext' if gemtype == :extbin && !defined?(JRUBY_VERSION)
109
+ name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
110
+ gemspec = ::Gem::Specification.new(name,version.dup)
111
+ if gemtype == :bin || gemtype == :extbin
112
+ gemspec.platform = ::Gem::Platform::CURRENT
113
+ end
114
+ gemspec.full_name
115
+ end
116
+
117
+ def self.build_gem(gemspec)
118
+ if defined?(::Gem::Builder)
119
+ gem_file_name = ::Gem::Builder.new(gemspec).build
120
+ else
121
+ gem_file_name = ::Gem::Package.build(gemspec)
122
+ end
123
+
124
+ FileUtils.mkdir_p('pkg')
125
+
126
+ FileUtils.mv(gem_file_name, 'pkg')
127
+ end
128
+
129
+ unless defined?(JRUBY_VERSION) || R2CORBA::Config.is_win32
130
+ def self.patch_extlib_rpath
131
+ if R2CORBA::Config.is_osx
132
+ # TODO
133
+ else
134
+ rpath = "#{File.expand_path('ext')}:#{get_config('libdir')}"
135
+ Dir['ext/*.so'].each do |extlib|
136
+ unless Rake.sh("#{R2CORBA::Config.rpath_patch} '#{rpath}' #{extlib}")
137
+ raise 'Failed to patch RPATH for #{extlib}'
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+
144
+ end
145
+
146
+ end
@@ -0,0 +1,26 @@
1
+ #--------------------------------------------------------------------
2
+ # package.rake - build file
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 'rake/packagetask'
15
+
16
+ require File.join(File.dirname(__FILE__), 'config.rb')
17
+
18
+ Rake::PackageTask.new("r2corba", R2CORBA::R2CORBA_VERSION) do |p|
19
+ p.need_tar_gz = true
20
+ p.need_zip = true
21
+ p.package_files.include(%w{ext/**/*.{mwc,cpp,c,h}})
22
+ p.package_files.include(%w{example/**/* lib/**/*[^C].* test/**/* rpmbuild/**/* rakelib/**/*})
23
+ p.package_files.exclude(/GNUmakefile/)
24
+ p.package_files.include(%w{CHANGES INSTALL* LICENSE* Gemfile Rakefile README* THANKS mkrf_conf*.rb})
25
+ p.package_files.include(%w{ridl/lib/**/*}) if ENV['R2CORBA_PKG_RIDL']
26
+ end
data/rakelib/test.rake ADDED
@@ -0,0 +1,23 @@
1
+ #--------------------------------------------------------------------
2
+ # test.rake - build file
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__), 'config.rb')
15
+
16
+ namespace :r2corba do
17
+ task :test => [R2CORBA::BUILD_CFG, 'r2corba:build'] do
18
+ ruby(File.join('test', 'test_runner.rb'))
19
+ end
20
+ end
21
+
22
+ desc 'Run R2CORBA tests'
23
+ task :test => 'r2corba:test'
@@ -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
+ interface Callback
13
+ {
14
+ oneway void shutdown ();
15
+ // A safe way to shutdown the client, using either clean shutdowns
16
+ // or "catastrophic failures".
17
+
18
+ void callback_method ();
19
+ // A simple remote call
20
+
21
+ };
22
+
23
+ interface Simple_Server
24
+ {
25
+ long test_method (in boolean do_callback);
26
+ // Just call a method on the server,
27
+
28
+ void callback_object (in Callback cb);
29
+ // send the callback object to the server
30
+
31
+ oneway void shutdown ();
32
+ // A safe way to shutdown the server, it is a oneway function so we
33
+ // will never get a COMM_FAILURE error
34
+ };
@@ -0,0 +1,132 @@
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
+ require 'optparse'
12
+ require 'lib/assert.rb'
13
+ include TestUtil::Assertions
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", Integer) { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ if OPTIONS[:use_implement]
46
+ require 'corba/poa.rb'
47
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
48
+ else
49
+ require 'TestS.rb'
50
+ end
51
+ require 'corba/policies.rb'
52
+
53
+ class MyCallback < POA::Callback
54
+ def initialize(orb)
55
+ @orb = orb
56
+ end
57
+
58
+ def shutdown() # oneway
59
+ @orb.shutdown(false)
60
+ end
61
+
62
+ def callback_method()
63
+ if OPTIONS[:orb_debuglevel] > 0
64
+ puts 'Callback method called.'
65
+ end
66
+ end
67
+
68
+ end #of servant Callback
69
+
70
+ if defined?(JRUBY_VERSION)
71
+ ## JacORB needs explicit activation of this option
72
+ props = {
73
+ "org.omg.PortableInterceptor.ORBInitializerClass.bidir_init" =>
74
+ "org.jacorb.orb.giop.BiDirConnectionInitializer"
75
+ }
76
+ else
77
+ props = {}
78
+ end
79
+
80
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB', props)
81
+
82
+ begin
83
+
84
+ obj = orb.resolve_initial_references('RootPOA')
85
+
86
+ root_poa = PortableServer::POA._narrow(obj)
87
+
88
+ poa_man = root_poa.the_POAManager
89
+
90
+ policies = []
91
+ policies << orb.create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE,
92
+ CORBA::Any.to_any(BiDirPolicy::BOTH, BiDirPolicy::BidirectionalPolicyValue._tc))
93
+
94
+ puts 'policies created'
95
+
96
+ child_poa = root_poa.create_POA('childPOA', poa_man, policies)
97
+
98
+ puts 'child_poa created'
99
+
100
+ policies.each { |pol| pol.destroy() }
101
+
102
+ puts 'policies destroyed'
103
+
104
+ poa_man.activate
105
+
106
+ obj = orb.string_to_object(OPTIONS[:iorfile])
107
+
108
+ assert_not 'Object reference is nil.', CORBA::is_nil(obj)
109
+
110
+ simple_srv = Simple_Server._narrow(obj)
111
+
112
+ callback_i = MyCallback.new(orb)
113
+
114
+ callback_ref = callback_i._this()
115
+
116
+ # Send the calback object to the server
117
+ simple_srv.callback_object(callback_ref)
118
+
119
+ # A method to kickstart callbacks from the server
120
+ r = simple_srv.test_method(true)
121
+
122
+ assert "unexpected result = #{r}", r == 0
123
+
124
+ orb.run()
125
+
126
+ root_poa.destroy(1, 1)
127
+
128
+ ensure
129
+
130
+ orb.destroy()
131
+
132
+ end
@@ -0,0 +1,68 @@
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
+ OPTIONS = {
13
+ :debug_opt => '',
14
+ :use_implement => '--use-implement'
15
+ }
16
+
17
+ require 'optparse'
18
+
19
+ ARGV.options do |opts|
20
+ script_name = File.basename($0)
21
+ opts.banner = "Usage: ruby #{script_name} [options]"
22
+
23
+ opts.separator ""
24
+
25
+ opts.on("-d",
26
+ "Run with debugging output.",
27
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
28
+ opts.on("--use-stubs",
29
+ "Use stubs generated by RIDL.",
30
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
31
+
32
+ opts.separator ""
33
+
34
+ opts.on("-h", "--help",
35
+ "Show this help message.") { puts opts; exit }
36
+
37
+ opts.parse!
38
+ end
39
+
40
+ require 'lib/test.rb'
41
+ include TestUtil
42
+
43
+ ior_file = 'server.ior'
44
+
45
+ TestUtil.remove_file(ior_file)
46
+
47
+ srv = Test.new
48
+
49
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
50
+
51
+ TestUtil.wait_for_file(ior_file, 400)
52
+
53
+ clt = Test.new
54
+
55
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
56
+ srv.kill(100)
57
+ exit(255)
58
+ end
59
+
60
+ exrc = clt.wait(400)
61
+
62
+ if exrc ==0
63
+ srv.wait(400)
64
+ else
65
+ srv.wait_term(400)
66
+ end
67
+
68
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:000000000000001649444C3A53696D706C655F5365727665723A312E30000000000000010000000000000058000102000000000D3137322E31362E352E3230300000B00500000027313237353231353633372F6368696C64504F412F0034110E0415470B42243D071F1F2A4624281F00000000010000000000000008000000004A414300
@@ -0,0 +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
+
@@ -0,0 +1,27 @@
1
+ /*--------------------------------------------------------------------
2
+ * Author: Martin Corino
3
+ *
4
+ * This program is free software; you can redistribute it and/or
5
+ * modify it under the terms of the R2CORBA LICENSE which is
6
+ * included with this program.
7
+ *
8
+ * Copyright (c) Remedy IT Expertise BV
9
+ * Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ *--------------------------------------------------------------------*/
11
+
12
+ /// Put the interfaces in a module, to avoid global namespace pollution
13
+ module Test
14
+ {
15
+ /// A very simple interface
16
+ interface Hello
17
+ {
18
+ /// Return a simple string
19
+ string 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
+ };