r2corba 1.5.1-universal-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +173 -0
- data/LICENSE +59 -0
- data/LICENSE.jacorb +660 -0
- data/README +62 -0
- data/THANKS +54 -0
- data/bin/r2corba +8 -0
- data/bin/r2corba.bat +20 -0
- data/bin/ridlc +11 -0
- data/bin/ridlc.bat +23 -0
- data/bin/rins +7 -0
- data/bin/rins.bat +19 -0
- data/jacorb/lib/antlr-2.7.2.jar +0 -0
- data/jacorb/lib/jacorb-3.5.jar +0 -0
- data/jacorb/lib/jacorb-omgapi-3.5.jar +0 -0
- data/jacorb/lib/jacorb-services-3.5.jar +0 -0
- data/jacorb/lib/slf4j-api-1.7.6.jar +0 -0
- data/jacorb/lib/slf4j-jdk14-1.7.6.jar +0 -0
- data/lib/corba.rb +16 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +237 -0
- data/lib/corba/cbase/Request.rb +134 -0
- data/lib/corba/cbase/Streams.rb +129 -0
- data/lib/corba/cbase/Stub.rb +19 -0
- data/lib/corba/cbase/Typecode.rb +441 -0
- data/lib/corba/cbase/Values.rb +129 -0
- data/lib/corba/cbase/exception.rb +66 -0
- data/lib/corba/cbase/poa.rb +23 -0
- data/lib/corba/cbase/policies.rb +78 -0
- data/lib/corba/cbase/post_require.rb +14 -0
- data/lib/corba/cbase/require.rb +28 -0
- data/lib/corba/cmds/base.rb +85 -0
- data/lib/corba/cmds/test.rb +30 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +104 -0
- data/lib/corba/common/ORB.rb +368 -0
- data/lib/corba/common/Object.rb +208 -0
- data/lib/corba/common/Request.rb +20 -0
- data/lib/corba/common/Servant.rb +108 -0
- data/lib/corba/common/Struct.rb +22 -0
- data/lib/corba/common/Stub.rb +79 -0
- data/lib/corba/common/Typecode.rb +1121 -0
- data/lib/corba/common/Union.rb +56 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +22 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +27 -0
- data/lib/corba/common/version.rb +22 -0
- data/lib/corba/idl/BiDirPolicyC.rb +63 -0
- data/lib/corba/idl/CosNamingC.rb +461 -0
- data/lib/corba/idl/CosNamingS.rb +309 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/MessagingC.rb +904 -0
- data/lib/corba/idl/POAC.rb +930 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/r2c_orb.rb +572 -0
- data/lib/corba/idl/require.rb +20 -0
- data/lib/corba/jbase/Any.rb +273 -0
- data/lib/corba/jbase/IORMap.rb +36 -0
- data/lib/corba/jbase/ORB.rb +112 -0
- data/lib/corba/jbase/Object.rb +99 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +248 -0
- data/lib/corba/jbase/ServerRequest.rb +128 -0
- data/lib/corba/jbase/Streams.rb +671 -0
- data/lib/corba/jbase/Stub.rb +38 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +173 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +229 -0
- data/lib/corba/jbase/policies.rb +300 -0
- data/lib/corba/jbase/post_require.rb +14 -0
- data/lib/corba/jbase/require.rb +89 -0
- data/lib/corba/naming.rb +14 -0
- data/lib/corba/naming_service.rb +15 -0
- data/lib/corba/poa.rb +15 -0
- data/lib/corba/policies.rb +18 -0
- data/lib/corba/require.rb +17 -0
- data/lib/corba/svcs/ins/cos_naming.rb +426 -0
- data/lib/corba/svcs/ins/ins.rb +526 -0
- data/lib/corba/svcs/ins/naming_service.rb +119 -0
- data/lib/ridlbe/ruby/config.rb +336 -0
- data/lib/ridlbe/ruby/orb.pidlc +0 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_bingem.rb +151 -0
- data/rakelib/bin.rake +80 -0
- data/rakelib/bin.rb +146 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +52 -0
- data/rakelib/config.rb +544 -0
- data/rakelib/gem.rake +236 -0
- data/rakelib/gem.rb +146 -0
- data/rakelib/package.rake +26 -0
- data/rakelib/test.rake +23 -0
- data/test/BiDirectional/Test.idl +34 -0
- data/test/BiDirectional/client.rb +132 -0
- data/test/BiDirectional/run_test.rb +68 -0
- data/test/BiDirectional/server.ior +1 -0
- data/test/BiDirectional/server.rb +169 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
- data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
- data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
- data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
- data/test/Collocation/Diamond.idl +39 -0
- data/test/Collocation/run_test.rb +52 -0
- data/test/Collocation/test.rb +195 -0
- data/test/Connect_Timeout/Test.idl +27 -0
- data/test/Connect_Timeout/client.rb +111 -0
- data/test/Connect_Timeout/run_test.rb +52 -0
- data/test/DII/Test.idl +27 -0
- data/test/DII/client.rb +115 -0
- data/test/DII/run_test.rb +69 -0
- data/test/DII/server.ior +1 -0
- data/test/DII/server.rb +95 -0
- data/test/DSI/Test.idl +27 -0
- data/test/DSI/client.rb +66 -0
- data/test/DSI/run_test.rb +69 -0
- data/test/DSI/server.ior +1 -0
- data/test/DSI/server.rb +106 -0
- data/test/Exceptions/Test.idl +48 -0
- data/test/Exceptions/client.rb +118 -0
- data/test/Exceptions/run_test.rb +69 -0
- data/test/Exceptions/server.ior +1 -0
- data/test/Exceptions/server.rb +131 -0
- data/test/Hello/Test.idl +27 -0
- data/test/Hello/client.rb +78 -0
- data/test/Hello/gateway.ior +1 -0
- data/test/Hello/run_test.rb +71 -0
- data/test/Hello/server.rb +95 -0
- data/test/IDL_Test/Test.idl +113 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +102 -0
- data/test/IDL_Test/run_test.rb +69 -0
- data/test/IDL_Test/server.ior +1 -0
- data/test/IDL_Test/server.rb +99 -0
- data/test/IORMap/Test.idl +27 -0
- data/test/IORMap/client.rb +73 -0
- data/test/IORMap/run_test.rb +69 -0
- data/test/IORMap/server.ior +1 -0
- data/test/IORMap/server.rb +114 -0
- data/test/IORTable/Test.idl +27 -0
- data/test/IORTable/client.rb +75 -0
- data/test/IORTable/run_test.rb +69 -0
- data/test/IORTable/server.ior +0 -0
- data/test/IORTable/server.rb +130 -0
- data/test/Implicit_Conversion/Test.idl +31 -0
- data/test/Implicit_Conversion/client.rb +110 -0
- data/test/Implicit_Conversion/run_test.rb +69 -0
- data/test/Implicit_Conversion/server.ior +1 -0
- data/test/Implicit_Conversion/server.rb +99 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
- data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
- data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
- data/test/Multi_Threading/Simple/Test.idl +27 -0
- data/test/Multi_Threading/Simple/client.rb +93 -0
- data/test/Multi_Threading/Simple/run_test.rb +69 -0
- data/test/Multi_Threading/Simple/server.ior +1 -0
- data/test/Multi_Threading/Simple/server.rb +118 -0
- data/test/Multi_Threading/Threads/Test.idl +31 -0
- data/test/Multi_Threading/Threads/client.rb +80 -0
- data/test/Multi_Threading/Threads/run_test.rb +76 -0
- data/test/Multi_Threading/Threads/server.ior +1 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.ior +1 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
- data/test/Multiple_Servant_Interfaces/client.rb +70 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
- data/test/Multiple_Servant_Interfaces/server.ior +1 -0
- data/test/Multiple_Servant_Interfaces/server.rb +102 -0
- data/test/Nil/Test.idl +27 -0
- data/test/Nil/run_test.rb +52 -0
- data/test/Nil/test.rb +78 -0
- data/test/OBV/AbstractInterface/client.rb +179 -0
- data/test/OBV/AbstractInterface/run_test.rb +69 -0
- data/test/OBV/AbstractInterface/server.ior +1 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +53 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +40 -0
- data/test/OBV/Custom/client.rb +86 -0
- data/test/OBV/Custom/run_test.rb +69 -0
- data/test/OBV/Custom/server.ior +1 -0
- data/test/OBV/Custom/server.rb +100 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +86 -0
- data/test/OBV/Simple/run_test.rb +69 -0
- data/test/OBV/Simple/server.ior +1 -0
- data/test/OBV/Simple/server.rb +100 -0
- data/test/OBV/Simple_Event/Event.idl +15 -0
- data/test/OBV/Simple_Event/Event_impl.rb +26 -0
- data/test/OBV/Simple_Event/client.rb +86 -0
- data/test/OBV/Simple_Event/run_test.rb +69 -0
- data/test/OBV/Simple_Event/server.ior +1 -0
- data/test/OBV/Simple_Event/server.rb +100 -0
- data/test/OBV/Supports/client.rb +116 -0
- data/test/OBV/Supports/run_test.rb +69 -0
- data/test/OBV/Supports/server.ior +1 -0
- data/test/OBV/Supports/server.rb +103 -0
- data/test/OBV/Supports/supports.idl +33 -0
- data/test/OBV/Supports/supports_impl.rb +57 -0
- data/test/OBV/Tree/client.rb +116 -0
- data/test/OBV/Tree/run_test.rb +69 -0
- data/test/OBV/Tree/server.ior +1 -0
- data/test/OBV/Tree/server.rb +117 -0
- data/test/OBV/Tree/test.idl +32 -0
- data/test/OBV/Truncatable/Extra.idl +27 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
- data/test/OBV/Truncatable/client.rb +279 -0
- data/test/OBV/Truncatable/run_test.rb +69 -0
- data/test/OBV/Truncatable/server.ior +1 -0
- data/test/OBV/Truncatable/server.rb +89 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +69 -0
- data/test/OBV/ValueBox/server.ior +1 -0
- data/test/OBV/ValueBox/server.rb +271 -0
- data/test/OBV/ValueBox/valuebox.idl +101 -0
- data/test/OBV/ValueBox/vb_basic.idl +75 -0
- data/test/OBV/ValueBox/vb_struct.idl +68 -0
- data/test/OBV/ValueBox/vb_union.idl +21 -0
- data/test/Object/Test.idl +27 -0
- data/test/Object/client.rb +112 -0
- data/test/Object/run_test.rb +69 -0
- data/test/Object/server.ior +1 -0
- data/test/Object/server.rb +126 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +52 -0
- data/test/POA/test.rb +112 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +277 -0
- data/test/Param_Test/run_test.rb +69 -0
- data/test/Param_Test/server.ior +1 -0
- data/test/Param_Test/server.rb +296 -0
- data/test/Performance/Simple/Test.idl +27 -0
- data/test/Performance/Simple/client.rb +90 -0
- data/test/Performance/Simple/run_test.rb +69 -0
- data/test/Performance/Simple/server.ior +1 -0
- data/test/Performance/Simple/server.rb +95 -0
- data/test/Policies/Test.idl +27 -0
- data/test/Policies/run_test.rb +52 -0
- data/test/Policies/test.rb +144 -0
- data/test/Timeout/client.rb +207 -0
- data/test/Timeout/run_test.rb +69 -0
- data/test/Timeout/server.ior +1 -0
- data/test/Timeout/server.rb +109 -0
- data/test/Timeout/test.idl +19 -0
- data/test/lib/assert.rb +43 -0
- data/test/lib/test.rb +542 -0
- data/test/test.log +20 -0
- data/test/test2.log +5000 -0
- data/test/test_runner.rb +193 -0
- metadata +349 -0
@@ -0,0 +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', "--k file://#{ior_file} #{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)
|
@@ -0,0 +1 @@
|
|
1
|
+
IOR:000000000000000D49444C3A546573743A312E30000000000000000100000000000000EC000102000000000B31302E342E302E31323000009E6600000000001F333335343335333039362F00153F1E1622381420100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A31303334009E660000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A3430616100009E6600000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
|
@@ -0,0 +1,271 @@
|
|
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
|
+
}
|
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("--o IORFILE",
|
28
|
+
"Set IOR filename.",
|
29
|
+
"Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
|
30
|
+
opts.on("--d LVL",
|
31
|
+
"Set ORBDebugLevel value.",
|
32
|
+
"Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
|
33
|
+
opts.on("--use-implement",
|
34
|
+
"Load IDL through CORBA.implement() instead of precompiled code.",
|
35
|
+
"Default: off") { |v| OPTIONS[:use_implement]=v }
|
36
|
+
|
37
|
+
opts.separator ""
|
38
|
+
|
39
|
+
opts.on("-h", "--help",
|
40
|
+
"Show this help message.") { puts opts; exit }
|
41
|
+
|
42
|
+
opts.parse!
|
43
|
+
end
|
44
|
+
|
45
|
+
if OPTIONS[:use_implement]
|
46
|
+
require 'corba/poa'
|
47
|
+
CORBA.implement('valuebox.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
|
48
|
+
else
|
49
|
+
require 'valueboxS'
|
50
|
+
end
|
51
|
+
|
52
|
+
class Test_impl < POA::Test
|
53
|
+
def initialize(orb)
|
54
|
+
@orb = orb
|
55
|
+
end
|
56
|
+
|
57
|
+
def ros(s)
|
58
|
+
s.slice(s.size-1,1) << s.slice(0,s.size-1)
|
59
|
+
end
|
60
|
+
|
61
|
+
def basic_op1(p1, p2)
|
62
|
+
p3 = p2 * 5
|
63
|
+
p2 = p2 * 3
|
64
|
+
retval = p1.nil?() ? nil : p1 * 3
|
65
|
+
[retval, p2, p3]
|
66
|
+
end
|
67
|
+
|
68
|
+
def basic_op2(p1, p2)
|
69
|
+
p3 = p2 * 5
|
70
|
+
p2 = p2 * 3
|
71
|
+
retval = p1 * 3
|
72
|
+
[retval, p2, p3]
|
73
|
+
end
|
74
|
+
|
75
|
+
def basic_op3(p1, p2)
|
76
|
+
p3 = p2 * 5
|
77
|
+
p2 = p2 * 3
|
78
|
+
retval = p1 * 3
|
79
|
+
[retval, p2, p3]
|
80
|
+
end
|
81
|
+
|
82
|
+
def string_op1(p1, p2)
|
83
|
+
p2 = ros(p2)
|
84
|
+
p3 = p2
|
85
|
+
retval = ros(p1)
|
86
|
+
[retval, p2, p3]
|
87
|
+
end
|
88
|
+
|
89
|
+
def string_op2(p1, p2)
|
90
|
+
p2 = ros(p2)
|
91
|
+
p3 = p2
|
92
|
+
retval = ros(p1)
|
93
|
+
[retval, p2, p3]
|
94
|
+
end
|
95
|
+
|
96
|
+
def seq_op1(p1, p2)
|
97
|
+
p3 = p2.collect {|e| e*5}
|
98
|
+
p2.collect! {|e| e*3}
|
99
|
+
retval = p1
|
100
|
+
[retval, p2, p3]
|
101
|
+
end
|
102
|
+
|
103
|
+
def seq_op2(p1, p2)
|
104
|
+
p3 = p2.collect {|e| e*5}
|
105
|
+
p2.collect! {|e| e*3}
|
106
|
+
[p2, p3]
|
107
|
+
end
|
108
|
+
|
109
|
+
def struct_op1(p1, p2)
|
110
|
+
p3 = Fixed_Struct1.new(p2.l*5,
|
111
|
+
Fixed_Struct1::Bstruct.new(p2.abstruct.s1*5,
|
112
|
+
p2.abstruct.s2*5))
|
113
|
+
p2.l = p2.l*3
|
114
|
+
p2.abstruct.s1 = p2.abstruct.s1*3
|
115
|
+
p2.abstruct.s2 = p2.abstruct.s2*3
|
116
|
+
|
117
|
+
retval = p1
|
118
|
+
[retval, p2, p3]
|
119
|
+
end
|
120
|
+
|
121
|
+
def struct_op2(p1, p2)
|
122
|
+
p3 = p1
|
123
|
+
|
124
|
+
p2.l = p2.l*3
|
125
|
+
p2.abstruct.s1 = p2.abstruct.s1*3
|
126
|
+
p2.abstruct.s2 = p2.abstruct.s2*3
|
127
|
+
|
128
|
+
[p2, p3]
|
129
|
+
end
|
130
|
+
|
131
|
+
def struct_op3(p1, p2)
|
132
|
+
p2.l = p2.l * 3
|
133
|
+
p2.str = ros(p2.str)
|
134
|
+
|
135
|
+
p3 = Variable_Struct1.new(p2.l, p2.str)
|
136
|
+
|
137
|
+
retval = p1
|
138
|
+
[retval, p2, p3]
|
139
|
+
end
|
140
|
+
|
141
|
+
def struct_op4(p1, p2)
|
142
|
+
p3 = p1
|
143
|
+
p2.l = p2.l * 3
|
144
|
+
p2.str = ros(p2.str)
|
145
|
+
|
146
|
+
[p2, p3]
|
147
|
+
end
|
148
|
+
|
149
|
+
def array_op1(p1, p2)
|
150
|
+
p2.collect! {|e| e*3}
|
151
|
+
p3 = p2
|
152
|
+
retval = p1
|
153
|
+
[retval, p2, p3]
|
154
|
+
end
|
155
|
+
|
156
|
+
def array_op2(p1, p2)
|
157
|
+
p2.collect! {|e| e*3}
|
158
|
+
p3 = p1
|
159
|
+
[p2, p3]
|
160
|
+
end
|
161
|
+
|
162
|
+
def array_op3(p1, p2)
|
163
|
+
p2.collect! {|e| ros(e)}
|
164
|
+
p3 = p2
|
165
|
+
retval = p1
|
166
|
+
[retval, p2, p3]
|
167
|
+
end
|
168
|
+
|
169
|
+
def array_op4(p1, p2)
|
170
|
+
p2.collect! {|e| ros(e)}
|
171
|
+
p3 = p1
|
172
|
+
[p2, p3]
|
173
|
+
end
|
174
|
+
|
175
|
+
def union_op1(p1, p2)
|
176
|
+
p3 = VBfixed_union1.new(Fixed_Union1.new)
|
177
|
+
retval = VBfixed_union1.new(Fixed_Union1.new)
|
178
|
+
case p1._disc
|
179
|
+
when 1
|
180
|
+
p3.value.m1 = p1.m1*3
|
181
|
+
retval.value.m1 = p1.m1*3
|
182
|
+
when 2
|
183
|
+
p3.value.m2 = p1.m2*3
|
184
|
+
retval.value.m2 = p1.m2*3
|
185
|
+
end
|
186
|
+
case p2._disc
|
187
|
+
when 1
|
188
|
+
p2.m1 = p2.m1*3
|
189
|
+
when 2
|
190
|
+
p2.m2 = p2.m2*3
|
191
|
+
end
|
192
|
+
[retval, p2, p3]
|
193
|
+
end
|
194
|
+
|
195
|
+
def union_op2(p1, p2)
|
196
|
+
p3 = p1
|
197
|
+
case p2._disc
|
198
|
+
when 1
|
199
|
+
p2.m1 = p2.m1*3
|
200
|
+
when 2
|
201
|
+
p2.m2 = p2.m2*3
|
202
|
+
end
|
203
|
+
[p2, p3]
|
204
|
+
end
|
205
|
+
|
206
|
+
def union_op3(p1, p2)
|
207
|
+
p3 = VBvariable_union1.new(Variable_Union1.new)
|
208
|
+
retval = VBvariable_union1.new(Variable_Union1.new)
|
209
|
+
case p1._disc
|
210
|
+
when 1
|
211
|
+
p3.value.m1 = p1.m1
|
212
|
+
retval.value.m1 = p1.m1
|
213
|
+
when 2
|
214
|
+
p3.value.m2 = p1.m2
|
215
|
+
retval.value.m2 = p1.m2
|
216
|
+
end
|
217
|
+
case p2._disc
|
218
|
+
when 1
|
219
|
+
p2.m1 = p2.m1*3
|
220
|
+
when 2
|
221
|
+
p2.m2 = ros(p2.m2)
|
222
|
+
end
|
223
|
+
[retval, p2, p3]
|
224
|
+
end
|
225
|
+
|
226
|
+
def union_op4(p1, p2)
|
227
|
+
p3 = p1
|
228
|
+
case p2._disc
|
229
|
+
when 1
|
230
|
+
p2.m1 = p2.m1*3
|
231
|
+
when 2
|
232
|
+
p2.m2 = ros(p2.m2)
|
233
|
+
end
|
234
|
+
[p2, p3]
|
235
|
+
end
|
236
|
+
|
237
|
+
def shutdown()
|
238
|
+
@orb.shutdown()
|
239
|
+
end
|
240
|
+
end #of servant Test_impl
|
241
|
+
|
242
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
243
|
+
|
244
|
+
obj = orb.resolve_initial_references('RootPOA')
|
245
|
+
|
246
|
+
root_poa = PortableServer::POA._narrow(obj)
|
247
|
+
|
248
|
+
poa_man = root_poa.the_POAManager
|
249
|
+
|
250
|
+
poa_man.activate
|
251
|
+
|
252
|
+
test_srv = Test_impl.new(orb)
|
253
|
+
|
254
|
+
test_obj = test_srv._this()
|
255
|
+
|
256
|
+
ior = orb.object_to_string(test_obj)
|
257
|
+
|
258
|
+
open(OPTIONS[:iorfile], 'w') { |io|
|
259
|
+
io.write ior
|
260
|
+
}
|
261
|
+
|
262
|
+
Signal.trap('INT') do
|
263
|
+
puts "SIGINT - shutting down ORB..."
|
264
|
+
orb.shutdown()
|
265
|
+
end
|
266
|
+
|
267
|
+
if Signal.list.has_key?('USR2')
|
268
|
+
Signal.trap('USR2', 'EXIT')
|
269
|
+
end
|
270
|
+
|
271
|
+
orb.run
|
@@ -0,0 +1,101 @@
|
|
1
|
+
|
2
|
+
#include "vb_basic.idl"
|
3
|
+
#include "vb_struct.idl"
|
4
|
+
#include "vb_union.idl"
|
5
|
+
|
6
|
+
//
|
7
|
+
// Boxed Strings
|
8
|
+
//
|
9
|
+
valuetype VBstring string;
|
10
|
+
valuetype VBwstring wstring;
|
11
|
+
|
12
|
+
//
|
13
|
+
// Boxed Sequences
|
14
|
+
//
|
15
|
+
typedef sequence<long> TDseqlong;
|
16
|
+
valuetype VBseqlong TDseqlong;
|
17
|
+
|
18
|
+
//
|
19
|
+
// Boxed array ("fixed")
|
20
|
+
//
|
21
|
+
typedef long LongArray[3];
|
22
|
+
valuetype VBlongarray LongArray;
|
23
|
+
|
24
|
+
//
|
25
|
+
// Boxed array ("variable")
|
26
|
+
//
|
27
|
+
typedef string StringArray[2];
|
28
|
+
valuetype VBstringarray StringArray;
|
29
|
+
|
30
|
+
interface Test
|
31
|
+
{
|
32
|
+
// Boxed basic types
|
33
|
+
VBlong basic_op1(in VBlong p1, inout VBlong p2, out VBlong p3);
|
34
|
+
|
35
|
+
vb_basic::M_VBlong basic_op2(in vb_basic::M_VBlong p1,
|
36
|
+
inout vb_basic::M_VBlong p2,
|
37
|
+
out vb_basic::M_VBlong p3);
|
38
|
+
|
39
|
+
long basic_op3 (in long p1, inout long p2, out long p3);
|
40
|
+
|
41
|
+
// Boxed string
|
42
|
+
VBstring string_op1(in VBstring p1, inout VBstring p2, out VBstring p3);
|
43
|
+
|
44
|
+
string string_op2(in string p1, inout string p2, out string p3);
|
45
|
+
|
46
|
+
// Boxed sequence
|
47
|
+
VBseqlong seq_op1(in VBseqlong p1, inout VBseqlong p2,
|
48
|
+
out VBseqlong p3);
|
49
|
+
|
50
|
+
void seq_op2(in TDseqlong p1, inout TDseqlong p2, out TDseqlong p3);
|
51
|
+
|
52
|
+
// Boxed struct
|
53
|
+
VBfixed_struct1 struct_op1(in VBfixed_struct1 p1,
|
54
|
+
inout VBfixed_struct1 p2,
|
55
|
+
out VBfixed_struct1 p3);
|
56
|
+
|
57
|
+
void struct_op2(in Fixed_Struct1 p1,
|
58
|
+
inout Fixed_Struct1 p2,
|
59
|
+
out Fixed_Struct1 p3);
|
60
|
+
|
61
|
+
VBvariable_struct1 struct_op3(in VBvariable_struct1 p1,
|
62
|
+
inout VBvariable_struct1 p2,
|
63
|
+
out VBvariable_struct1 p3);
|
64
|
+
|
65
|
+
void struct_op4(in Variable_Struct1 p1,
|
66
|
+
inout Variable_Struct1 p2,
|
67
|
+
out Variable_Struct1 p3);
|
68
|
+
|
69
|
+
// Boxed array (fixed)
|
70
|
+
VBlongarray array_op1 (in VBlongarray p1, inout VBlongarray p2,
|
71
|
+
out VBlongarray p3);
|
72
|
+
|
73
|
+
void array_op2 (in LongArray p1, inout LongArray p2, out LongArray p3);
|
74
|
+
|
75
|
+
// Boxed array (variable)
|
76
|
+
VBstringarray array_op3 (in VBstringarray p1, inout VBstringarray p2,
|
77
|
+
out VBstringarray p3);
|
78
|
+
|
79
|
+
void array_op4 (in StringArray p1, inout StringArray p2,
|
80
|
+
out StringArray p3);
|
81
|
+
|
82
|
+
// Boxed union
|
83
|
+
VBfixed_union1 union_op1(in VBfixed_union1 p1,
|
84
|
+
inout VBfixed_union1 p2,
|
85
|
+
out VBfixed_union1 p3);
|
86
|
+
|
87
|
+
void union_op2(in Fixed_Union1 p1,
|
88
|
+
inout Fixed_Union1 p2,
|
89
|
+
out Fixed_Union1 p3);
|
90
|
+
|
91
|
+
VBvariable_union1 union_op3(in VBvariable_union1 p1,
|
92
|
+
inout VBvariable_union1 p2,
|
93
|
+
out VBvariable_union1 p3);
|
94
|
+
|
95
|
+
void union_op4(in Variable_Union1 p1,
|
96
|
+
inout Variable_Union1 p2,
|
97
|
+
out Variable_Union1 p3);
|
98
|
+
|
99
|
+
// Shutdown the remote ORB
|
100
|
+
oneway void shutdown ();
|
101
|
+
};
|
@@ -0,0 +1,75 @@
|
|
1
|
+
|
2
|
+
//=========================================================================
|
3
|
+
// Valuebox of basic types
|
4
|
+
//=========================================================================
|
5
|
+
|
6
|
+
// Valuebox of all basic types defined at outermost scope:
|
7
|
+
|
8
|
+
enum Color { red, orange, yellow, green, blue, indigo, violet };
|
9
|
+
|
10
|
+
valuetype VBshort short;
|
11
|
+
valuetype VBlong long;
|
12
|
+
valuetype VBlonglong long long;
|
13
|
+
valuetype VBushort unsigned short;
|
14
|
+
valuetype VBulong unsigned long;
|
15
|
+
valuetype VBulonglong unsigned long long;
|
16
|
+
valuetype VBchar char;
|
17
|
+
valuetype VBwchar wchar;
|
18
|
+
valuetype VBboolean boolean;
|
19
|
+
valuetype VBoctet octet;
|
20
|
+
valuetype VBfloat float;
|
21
|
+
valuetype VBdouble double;
|
22
|
+
valuetype VBlongdouble long double;
|
23
|
+
valuetype VBenum Color;
|
24
|
+
|
25
|
+
// Typedefs of basic types
|
26
|
+
typedef short TDshort;
|
27
|
+
typedef long TDlong;
|
28
|
+
typedef long long TDlonglong;
|
29
|
+
typedef unsigned short TDushort;
|
30
|
+
typedef unsigned long TDulong;
|
31
|
+
typedef unsigned long long TDulonglong;
|
32
|
+
typedef char TDchar;
|
33
|
+
typedef wchar TDwchar;
|
34
|
+
typedef boolean TDboolean;
|
35
|
+
typedef octet TDoctet;
|
36
|
+
typedef float TDfloat;
|
37
|
+
typedef double TDdouble;
|
38
|
+
typedef long double TDlongdouble;
|
39
|
+
typedef Color TDenum;
|
40
|
+
|
41
|
+
// Value box of typedef of basic types
|
42
|
+
valuetype VBTDshort TDshort;
|
43
|
+
valuetype VBTDlong TDlong;
|
44
|
+
valuetype VBTDlonglong TDlonglong;
|
45
|
+
valuetype VBTDushort TDushort;
|
46
|
+
valuetype VBTDulong TDulong;
|
47
|
+
valuetype VBTDulonglong TDulonglong;
|
48
|
+
valuetype VBTDchar TDchar;
|
49
|
+
valuetype VBTDwchar TDwchar;
|
50
|
+
valuetype VBTDboolean TDboolean;
|
51
|
+
valuetype VBTDoctet TDoctet;
|
52
|
+
valuetype VBTDfloat TDfloat;
|
53
|
+
valuetype VBTDdouble TDdouble;
|
54
|
+
valuetype VBTDlongdouble TDlongdouble;
|
55
|
+
valuetype VBTDenum TDenum;
|
56
|
+
|
57
|
+
// Any and typedef of any
|
58
|
+
valuetype VBany any;
|
59
|
+
typedef any TDany;
|
60
|
+
valuetype VBTDany TDany;
|
61
|
+
|
62
|
+
module vb_basic
|
63
|
+
{
|
64
|
+
// Valuebox defined within a module scope
|
65
|
+
valuetype M_VBlong long;
|
66
|
+
|
67
|
+
interface Test
|
68
|
+
{
|
69
|
+
M_VBlong basic_op1(in M_VBlong p1, inout M_VBlong p2,
|
70
|
+
out M_VBlong p3);
|
71
|
+
};
|
72
|
+
};
|
73
|
+
|
74
|
+
// Valuebox of an interface
|
75
|
+
valuetype VBinterface vb_basic::Test;
|