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 @@
|
|
1
|
+
IOR:000000000000002B49444C3A6F6D672E6F72672F436F734E616D696E672F4E616D696E67436F6E746578744578743A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000819E00000000001F343034313038373538342F00153C3D480220250C100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400819E0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000819E00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
|
@@ -0,0 +1,82 @@
|
|
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
|
+
def do_exit(rc)
|
45
|
+
ins_stop = Test.new
|
46
|
+
ins_stop.run("-e \'require \"corba/svcs/ins/ins.rb\"\' -e \'R2CORBA::INS.run\'", "-- stop --no-daemon")
|
47
|
+
ins_stop.wait(50)
|
48
|
+
exit(rc)
|
49
|
+
end
|
50
|
+
|
51
|
+
ior_file = 'ins.ior'
|
52
|
+
|
53
|
+
TestUtil.remove_file(ior_file)
|
54
|
+
|
55
|
+
ins = Test.new
|
56
|
+
|
57
|
+
exit(255) if !ins.run("-e \'require \"corba/svcs/ins/ins.rb\"\' -e \'R2CORBA::INS.run\'", "-- start")
|
58
|
+
|
59
|
+
do_exit(255) if !TestUtil.wait_for_file(ior_file, 400)
|
60
|
+
|
61
|
+
srv = Test.new
|
62
|
+
|
63
|
+
do_exit(255) if !srv.run('server.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
|
64
|
+
|
65
|
+
sleep(1) # give the server some time to register with INS
|
66
|
+
|
67
|
+
clt = Test.new
|
68
|
+
|
69
|
+
if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
|
70
|
+
srv.kill(100)
|
71
|
+
do_exit(255)
|
72
|
+
end
|
73
|
+
|
74
|
+
exrc = clt.wait(400)
|
75
|
+
|
76
|
+
if exrc ==0
|
77
|
+
srv.wait(400)
|
78
|
+
else
|
79
|
+
srv.wait_term(400)
|
80
|
+
end
|
81
|
+
|
82
|
+
do_exit(exrc)
|
@@ -0,0 +1,109 @@
|
|
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 INS IOR filename.",
|
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/poa'
|
49
|
+
CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
|
50
|
+
else
|
51
|
+
require 'TestS.rb'
|
52
|
+
end
|
53
|
+
require 'corba/naming'
|
54
|
+
|
55
|
+
class MyHello < POA::Test::Hello
|
56
|
+
def initialize(orb)
|
57
|
+
@orb = orb
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_string()
|
61
|
+
"Hello there!"
|
62
|
+
end
|
63
|
+
|
64
|
+
def shutdown()
|
65
|
+
@orb.shutdown()
|
66
|
+
end
|
67
|
+
end #of servant MyHello
|
68
|
+
|
69
|
+
# initialize ORB
|
70
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
71
|
+
|
72
|
+
# resolve NamingContext
|
73
|
+
obj = orb.string_to_object(OPTIONS[:iorfile])
|
74
|
+
|
75
|
+
nc = CosNaming::NamingContextExt._narrow(obj)
|
76
|
+
|
77
|
+
assert_not "ERROR: INS IOR resolved to nil object!", CORBA::is_nil(nc)
|
78
|
+
|
79
|
+
# initialize POA
|
80
|
+
obj = orb.resolve_initial_references('RootPOA')
|
81
|
+
|
82
|
+
root_poa = PortableServer::POA._narrow(obj)
|
83
|
+
|
84
|
+
poa_man = root_poa.the_POAManager
|
85
|
+
|
86
|
+
poa_man.activate
|
87
|
+
|
88
|
+
# create and activate servant
|
89
|
+
hello_srv = MyHello.new(orb)
|
90
|
+
|
91
|
+
hello_obj = hello_srv._this()
|
92
|
+
|
93
|
+
# register 5 object references with Naming service
|
94
|
+
5.times do |i|
|
95
|
+
nc.bind([CosNaming::NameComponent.new("Hello#{i}",'ior')], hello_obj)
|
96
|
+
end
|
97
|
+
|
98
|
+
# initialize signal handling
|
99
|
+
Signal.trap('INT') do
|
100
|
+
puts "SIGINT - shutting down ORB..."
|
101
|
+
orb.shutdown()
|
102
|
+
end
|
103
|
+
|
104
|
+
if Signal.list.has_key?('USR2')
|
105
|
+
Signal.trap('USR2', 'EXIT')
|
106
|
+
end
|
107
|
+
|
108
|
+
# run ORB event loop
|
109
|
+
orb.run
|
@@ -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
|
+
};
|
@@ -0,0 +1,85 @@
|
|
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 => 'corbaname.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 file.",
|
31
|
+
"Default: 'corbaname.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
|
+
# read corbaname from file
|
60
|
+
corbaname = ''
|
61
|
+
File.open(OPTIONS[:iorfile], 'r') do |f|
|
62
|
+
corbaname = f.read
|
63
|
+
end
|
64
|
+
|
65
|
+
puts "client: read corbaname URL [#{corbaname}]"
|
66
|
+
|
67
|
+
# resolve object reference
|
68
|
+
obj = orb.string_to_object(corbaname)
|
69
|
+
|
70
|
+
# narrow object ref and call
|
71
|
+
hello_obj = Test::Hello._narrow(obj)
|
72
|
+
|
73
|
+
assert_not "ERROR: corbaname resolved to nil object!", CORBA::is_nil(hello_obj)
|
74
|
+
|
75
|
+
the_string = hello_obj.get_string()
|
76
|
+
|
77
|
+
puts "client: string returned <#{the_string}>"
|
78
|
+
|
79
|
+
hello_obj.shutdown()
|
80
|
+
|
81
|
+
ensure
|
82
|
+
|
83
|
+
orb.destroy()
|
84
|
+
|
85
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
corbaname:iiop:localhost:2345/NamingService#.root/base.dir/Hello.ior
|
@@ -0,0 +1 @@
|
|
1
|
+
IOR:000000000000002B49444C3A6F6D672E6F72672F436F734E616D696E672F4E616D696E67436F6E746578744578743A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000092900000000001F323337323634353631312F00153C494137492C05100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A313033340009290000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000092900000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
|
@@ -0,0 +1,88 @@
|
|
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
|
+
def do_exit(rc)
|
45
|
+
ins_stop = Test.new
|
46
|
+
ins_stop.run("-e \'require \"corba/svcs/ins/ins.rb\"\' -e \'R2CORBA::INS.run\'", "-- stop --no-daemon")
|
47
|
+
ins_stop.wait(50)
|
48
|
+
exit(rc)
|
49
|
+
end
|
50
|
+
|
51
|
+
ior_file = 'ins.ior'
|
52
|
+
|
53
|
+
corbaname_file = 'corbaname.ior'
|
54
|
+
|
55
|
+
TestUtil.remove_file(ior_file)
|
56
|
+
TestUtil.remove_file(corbaname_file)
|
57
|
+
|
58
|
+
ins = Test.new
|
59
|
+
|
60
|
+
exit(255) if !ins.run("-e \'require \"corba/svcs/ins/ins.rb\"\' -e \'R2CORBA::INS.run\'", "-- start -l 2345")
|
61
|
+
|
62
|
+
do_exit(255) if !TestUtil.wait_for_file(ior_file, 400)
|
63
|
+
|
64
|
+
srv = Test.new
|
65
|
+
|
66
|
+
do_exit(255) if !srv.run('server.rb', "--o #{corbaname_file} --p 2345 #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
|
67
|
+
|
68
|
+
if !TestUtil.wait_for_file(corbaname_file, 400)
|
69
|
+
svr.kill(100)
|
70
|
+
do_exit(255)
|
71
|
+
end
|
72
|
+
|
73
|
+
clt = Test.new
|
74
|
+
|
75
|
+
if !clt.run('client.rb', "--k #{corbaname_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
|
76
|
+
srv.kill(100)
|
77
|
+
do_exit(255)
|
78
|
+
end
|
79
|
+
|
80
|
+
exrc = clt.wait(400)
|
81
|
+
|
82
|
+
if exrc ==0
|
83
|
+
srv.wait(400)
|
84
|
+
else
|
85
|
+
srv.wait_term(400)
|
86
|
+
end
|
87
|
+
|
88
|
+
do_exit(exrc)
|
@@ -0,0 +1,135 @@
|
|
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
|
+
:iorfile => 'corbaname.ior',
|
19
|
+
:use_implement => false,
|
20
|
+
:orb_debuglevel => 0,
|
21
|
+
:ins_port => 2345
|
22
|
+
}
|
23
|
+
|
24
|
+
ARGV.options do |opts|
|
25
|
+
script_name = File.basename($0)
|
26
|
+
opts.banner = "Usage: ruby #{script_name} [options]"
|
27
|
+
|
28
|
+
opts.separator ""
|
29
|
+
|
30
|
+
opts.on("--o FILENAME",
|
31
|
+
"Set corbaname IOR filename.",
|
32
|
+
"Default: 'corbaname.ior'") { |v| OPTIONS[:iorfile]=v }
|
33
|
+
opts.on("--d LVL",
|
34
|
+
"Set ORBDebugLevel value.",
|
35
|
+
"Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
|
36
|
+
opts.on("--p PORT", Integer,
|
37
|
+
"INS port number.",
|
38
|
+
"Default: 2345") { |v| OPTIONS[:ins_port]=v }
|
39
|
+
opts.on("--use-implement",
|
40
|
+
"Load IDL through CORBA.implement() instead of precompiled code.",
|
41
|
+
"Default: off") { |v| OPTIONS[:use_implement]=v }
|
42
|
+
|
43
|
+
opts.separator ""
|
44
|
+
|
45
|
+
opts.on("-h", "--help",
|
46
|
+
"Show this help message.") { puts opts; exit }
|
47
|
+
|
48
|
+
opts.parse!
|
49
|
+
end
|
50
|
+
|
51
|
+
if OPTIONS[:use_implement]
|
52
|
+
require 'corba/poa'
|
53
|
+
CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
|
54
|
+
else
|
55
|
+
require 'TestS.rb'
|
56
|
+
end
|
57
|
+
require 'corba/naming'
|
58
|
+
|
59
|
+
class MyHello < POA::Test::Hello
|
60
|
+
def initialize(orb)
|
61
|
+
@orb = orb
|
62
|
+
end
|
63
|
+
|
64
|
+
def get_string()
|
65
|
+
"Hello there!"
|
66
|
+
end
|
67
|
+
|
68
|
+
def shutdown()
|
69
|
+
@orb.shutdown()
|
70
|
+
end
|
71
|
+
end #of servant MyHello
|
72
|
+
|
73
|
+
# initialize ORB
|
74
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
75
|
+
|
76
|
+
# create NameService corbaloc
|
77
|
+
ins_url = "iiop:localhost:#{OPTIONS[:ins_port]}/NamingService"
|
78
|
+
|
79
|
+
puts "server: resolving [corbaloc:#{ins_url}]"
|
80
|
+
|
81
|
+
# resolve NamingContext
|
82
|
+
obj = orb.string_to_object('corbaloc:'+ins_url)
|
83
|
+
|
84
|
+
nc = CosNaming::NamingContextExt._narrow(obj)
|
85
|
+
|
86
|
+
# create context tree for registration
|
87
|
+
full_name = [CosNaming::NameComponent.new('','root'),
|
88
|
+
CosNaming::NameComponent.new('base','dir'),
|
89
|
+
CosNaming::NameComponent.new('Hello','ior')]
|
90
|
+
|
91
|
+
nc_new = nc.bind_new_context(full_name[0,1])
|
92
|
+
nc_new = nc_new.bind_new_context(full_name[1,1])
|
93
|
+
|
94
|
+
assert_not "ERROR: INS IOR resolved to nil object!", CORBA::is_nil(nc)
|
95
|
+
|
96
|
+
# initialize POA
|
97
|
+
obj = orb.resolve_initial_references('RootPOA')
|
98
|
+
|
99
|
+
root_poa = PortableServer::POA._narrow(obj)
|
100
|
+
|
101
|
+
poa_man = root_poa.the_POAManager
|
102
|
+
|
103
|
+
poa_man.activate
|
104
|
+
|
105
|
+
# create and activate servant
|
106
|
+
hello_srv = MyHello.new(orb)
|
107
|
+
|
108
|
+
hello_obj = hello_srv._this()
|
109
|
+
|
110
|
+
# register object reference with Naming service
|
111
|
+
name = full_name
|
112
|
+
|
113
|
+
nc.bind(name, hello_obj)
|
114
|
+
|
115
|
+
# create corbaname url for registered object
|
116
|
+
sn = nc.to_string(name) # stringify name
|
117
|
+
corbaname = nc.to_url(ins_url, sn) # corbaname url
|
118
|
+
|
119
|
+
# write corbaname to file
|
120
|
+
open(OPTIONS[:iorfile], 'w') { |io|
|
121
|
+
io.write corbaname
|
122
|
+
}
|
123
|
+
|
124
|
+
# initialize signal handling
|
125
|
+
Signal.trap('INT') do
|
126
|
+
puts "SIGINT - shutting down ORB..."
|
127
|
+
orb.shutdown()
|
128
|
+
end
|
129
|
+
|
130
|
+
if Signal.list.has_key?('USR2')
|
131
|
+
Signal.trap('USR2', 'EXIT')
|
132
|
+
end
|
133
|
+
|
134
|
+
# run ORB event loop
|
135
|
+
orb.run
|