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.
- checksums.yaml +7 -0
- data/CHANGES +159 -0
- data/LICENSE +59 -0
- data/README +62 -0
- data/THANKS +52 -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/ext/.keep +0 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +231 -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/IORTableC.rb +117 -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/TAO_ExtC.rb +179 -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 +99 -0
- data/lib/corba/jbase/Object.rb +98 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +247 -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 +86 -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/corba.rb +16 -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 +101 -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 +450 -0
- data/rakelib/ext.rake +242 -0
- data/rakelib/ext.rb +308 -0
- data/rakelib/ext_r2tao.rb +232 -0
- data/rakelib/gem.rake +212 -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/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 +1 -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 +88 -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 +103 -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_runner.rb +193 -0
- metadata +342 -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:010000001300000049444c3a546573742f48656c6c6f3a312e30000001000000000000006c000000010102650d0000003137322e31362e372e3234380020fc051b00000014010f00525354a1fe04521bb700000000000001000000010000005202000000000000000800000001000000004f41540100000018000000010000000100010001000000010001050901010000000000
|
@@ -0,0 +1,126 @@
|
|
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('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
|
48
|
+
else
|
49
|
+
require 'TestS.rb'
|
50
|
+
end
|
51
|
+
|
52
|
+
class MyHello < POA::Test::Hello
|
53
|
+
def initialize(orb)
|
54
|
+
@orb = orb
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_string()
|
58
|
+
"Hello there!"
|
59
|
+
end
|
60
|
+
|
61
|
+
def shutdown()
|
62
|
+
@orb.shutdown()
|
63
|
+
end
|
64
|
+
|
65
|
+
## overrides for standard CORBA::Object methods
|
66
|
+
def _get_component
|
67
|
+
# misuse this method to
|
68
|
+
# create second servant and
|
69
|
+
hello_srv = MyHello2.new(@orb)
|
70
|
+
# activate and return object ref
|
71
|
+
hello_srv._this()
|
72
|
+
end
|
73
|
+
end #of servant MyHello
|
74
|
+
|
75
|
+
class MyHello2 < POA::Test::Hello
|
76
|
+
def initialize(orb)
|
77
|
+
@orb = orb
|
78
|
+
end
|
79
|
+
|
80
|
+
def get_string()
|
81
|
+
"Hello2 there!"
|
82
|
+
end
|
83
|
+
|
84
|
+
def shutdown()
|
85
|
+
@orb.shutdown()
|
86
|
+
end
|
87
|
+
|
88
|
+
## overrides for standard CORBA::Object methods
|
89
|
+
def _repository_id
|
90
|
+
'IDL:org.omg/custom.Test/Hello2:1.0'
|
91
|
+
end
|
92
|
+
|
93
|
+
def _is_a?(id)
|
94
|
+
Intf::Ids.include?(id) or id == 'IDL:org.omg/custom.Test/Hello:1.0'
|
95
|
+
end
|
96
|
+
end #of servant MyHello
|
97
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
98
|
+
|
99
|
+
obj = orb.resolve_initial_references('RootPOA')
|
100
|
+
|
101
|
+
root_poa = PortableServer::POA._narrow(obj)
|
102
|
+
|
103
|
+
poa_man = root_poa.the_POAManager
|
104
|
+
|
105
|
+
poa_man.activate
|
106
|
+
|
107
|
+
hello_srv = MyHello.new(orb)
|
108
|
+
|
109
|
+
hello_obj = hello_srv._this()
|
110
|
+
|
111
|
+
hello_ior = orb.object_to_string(hello_obj)
|
112
|
+
|
113
|
+
open(OPTIONS[:iorfile], 'w') { |io|
|
114
|
+
io.write hello_ior
|
115
|
+
}
|
116
|
+
|
117
|
+
Signal.trap('INT') do
|
118
|
+
puts "SIGINT - shutting down ORB..."
|
119
|
+
orb.shutdown()
|
120
|
+
end
|
121
|
+
|
122
|
+
if Signal.list.has_key?('USR2')
|
123
|
+
Signal.trap('USR2', 'EXIT')
|
124
|
+
end
|
125
|
+
|
126
|
+
orb.run
|
data/test/POA/Test.idl
ADDED
@@ -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,52 @@
|
|
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
|
+
clt = Test.new
|
45
|
+
|
46
|
+
if !clt.run('test.rb', "#{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
|
47
|
+
exit(255)
|
48
|
+
end
|
49
|
+
|
50
|
+
exrc = clt.wait(400)
|
51
|
+
|
52
|
+
exit(exrc)
|
data/test/POA/test.rb
ADDED
@@ -0,0 +1,112 @@
|
|
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'
|
15
|
+
include TestUtil::Assertions
|
16
|
+
|
17
|
+
OPTIONS = {
|
18
|
+
:use_implement => false,
|
19
|
+
:orb_debuglevel => 0,
|
20
|
+
:iorfile => 'server.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("--o IORFILE",
|
30
|
+
"Set IOR filename.",
|
31
|
+
"Default: 'server.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
|
+
|
54
|
+
class MyHello < POA::Test::Hello
|
55
|
+
def initialize(orb)
|
56
|
+
@orb = orb
|
57
|
+
end
|
58
|
+
|
59
|
+
def get_string()
|
60
|
+
"Hello there!"
|
61
|
+
end
|
62
|
+
|
63
|
+
def shutdown()
|
64
|
+
@orb.shutdown()
|
65
|
+
end
|
66
|
+
end #of servant MyHello
|
67
|
+
|
68
|
+
orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
|
69
|
+
|
70
|
+
begin
|
71
|
+
obj = orb.resolve_initial_references('RootPOA')
|
72
|
+
|
73
|
+
rootpoa = PortableServer::POA._narrow(obj)
|
74
|
+
|
75
|
+
assert_not 'Failed to resolve RootPOA', CORBA.is_nil(rootpoa) || !rootpoa.is_a?(PortableServer::POA)
|
76
|
+
|
77
|
+
poaman = rootpoa.the_POAManager
|
78
|
+
|
79
|
+
assert_not 'Failed to resolve the_POAManager', CORBA.is_nil(poaman) || !poaman.is_a?(PortableServer::POAManager)
|
80
|
+
|
81
|
+
childpoa = rootpoa.create_POA('childPOA', poaman, [])
|
82
|
+
|
83
|
+
assert_not 'Failed to create child POA', CORBA.is_nil(childpoa) || !childpoa.is_a?(PortableServer::POA)
|
84
|
+
|
85
|
+
assert 'POAManager state should have been HOLDING', poaman.get_state == PortableServer::POAManager::HOLDING
|
86
|
+
|
87
|
+
poaman.activate
|
88
|
+
|
89
|
+
assert_except('No PortableServer::POA::AdapterNonExistent exception thrown on rootpoa.find_POA(\'non-existent-poa\')',
|
90
|
+
PortableServer::POA::AdapterNonExistent) { rootpoa.find_POA('non-existent-poa', true) }
|
91
|
+
|
92
|
+
childpoa = rootpoa.find_POA('childPOA', true)
|
93
|
+
|
94
|
+
hello_srv = MyHello.new(orb)
|
95
|
+
|
96
|
+
assert_except('childpoa.servant_to_id should have thrown ServantNotActive',
|
97
|
+
PortableServer::POA::ServantNotActive) { childpoa.servant_to_id(hello_srv) }
|
98
|
+
|
99
|
+
id = childpoa.activate_object(hello_srv)
|
100
|
+
|
101
|
+
assert 'object ids returned from #activate_object and #servant_to_id not equal', id == childpoa.servant_to_id(hello_srv)
|
102
|
+
|
103
|
+
poaman.deactivate(true, true)
|
104
|
+
|
105
|
+
assert 'POAManager state should have been INACTIVE', poaman.get_state == PortableServer::POAManager::INACTIVE
|
106
|
+
|
107
|
+
assert_except('poaman.activate should have thrown AdapterInactive',
|
108
|
+
PortableServer::POAManager::AdapterInactive) { poaman.activate }
|
109
|
+
|
110
|
+
ensure
|
111
|
+
orb.destroy
|
112
|
+
end
|
@@ -0,0 +1,182 @@
|
|
1
|
+
|
2
|
+
#include "orb.idl"
|
3
|
+
|
4
|
+
#pragma prefix "Remedy"
|
5
|
+
|
6
|
+
module Types
|
7
|
+
{
|
8
|
+
|
9
|
+
typedef string TString;
|
10
|
+
|
11
|
+
};
|
12
|
+
|
13
|
+
/// Put the interfaces in a module, to avoid global namespace pollution
|
14
|
+
module Test
|
15
|
+
{
|
16
|
+
interface Hello;
|
17
|
+
|
18
|
+
const long long max_longlong = 0x7fffffffffffffff;
|
19
|
+
const long long min_longlong = -0x8000000000000000;
|
20
|
+
|
21
|
+
const unsigned long long max_ulonglong = 0xffffffffffffffff;
|
22
|
+
const unsigned long long min_ulonglong = 0;
|
23
|
+
|
24
|
+
const long max_long = 0x7fffffff;
|
25
|
+
const long min_long = -0x80000000;
|
26
|
+
|
27
|
+
const unsigned long max_ulong = 0xffffffff;
|
28
|
+
const unsigned long min_ulong = 0;
|
29
|
+
|
30
|
+
const short max_short = 0x7fff;
|
31
|
+
const short min_short = -0x8000;
|
32
|
+
|
33
|
+
const unsigned short max_ushort = 0xffff;
|
34
|
+
const unsigned short min_ushort = 0;
|
35
|
+
|
36
|
+
const octet max_octet = 0xff;
|
37
|
+
const octet min_octet = 0;
|
38
|
+
|
39
|
+
typedef short TShort;
|
40
|
+
typedef unsigned long TULong;
|
41
|
+
typedef string TString;
|
42
|
+
typedef Test::TString TString2;
|
43
|
+
typedef Types::TString TString3;
|
44
|
+
typedef string<128> TString128;
|
45
|
+
typedef any TMyAny;
|
46
|
+
typedef ::CORBA::StringSeq TStringSeq;
|
47
|
+
|
48
|
+
const long myConst = 32;
|
49
|
+
const octet myOctet = 243;
|
50
|
+
const char myChar = 'A';
|
51
|
+
const wchar myWChar = L'a';
|
52
|
+
const string myString = "ABC";
|
53
|
+
const wstring myWString = L"abc\u1234";
|
54
|
+
|
55
|
+
const short DIM1 = 3;
|
56
|
+
typedef long TLongCube[DIM1][3][4];
|
57
|
+
|
58
|
+
enum test_enum
|
59
|
+
{
|
60
|
+
TE_ZEROTH,
|
61
|
+
TE_FIRST,
|
62
|
+
TE_SECOND,
|
63
|
+
TE_THIRD,
|
64
|
+
TE_FOURTH
|
65
|
+
};
|
66
|
+
|
67
|
+
struct S1
|
68
|
+
{
|
69
|
+
long m_one;
|
70
|
+
double m_two;
|
71
|
+
string m_three;
|
72
|
+
struct S2 {
|
73
|
+
boolean m_b;
|
74
|
+
} m_four;
|
75
|
+
test_enum m_five;
|
76
|
+
};
|
77
|
+
|
78
|
+
struct S3;
|
79
|
+
|
80
|
+
typedef sequence<S3> TS3Seq;
|
81
|
+
typedef sequence<TS3Seq> TS3SeqSeq;
|
82
|
+
|
83
|
+
struct S3
|
84
|
+
{
|
85
|
+
TS3Seq m_seq;
|
86
|
+
boolean m_has_more;
|
87
|
+
};
|
88
|
+
|
89
|
+
typedef sequence<S1> S1Seq;
|
90
|
+
|
91
|
+
typedef sequence<double> TDoubleSeq;
|
92
|
+
|
93
|
+
typedef sequence<TShort, 10> TShortSeq;
|
94
|
+
|
95
|
+
typedef test_enum TSWitch;
|
96
|
+
|
97
|
+
union U1 switch(TSWitch)
|
98
|
+
{
|
99
|
+
case TE_ZEROTH: long m_l;
|
100
|
+
case TE_FIRST:
|
101
|
+
case TE_SECOND: string m_str;
|
102
|
+
default: boolean m_bool;
|
103
|
+
};
|
104
|
+
|
105
|
+
union U2 switch( enum SWITCH_T { ONE, TWO, THREE })
|
106
|
+
{
|
107
|
+
case ONE: long l_;
|
108
|
+
case TWO: boolean b_;
|
109
|
+
case THREE: string s_;
|
110
|
+
};
|
111
|
+
|
112
|
+
union U3 switch(boolean)
|
113
|
+
{
|
114
|
+
case TRUE: long lval;
|
115
|
+
};
|
116
|
+
|
117
|
+
union U4 switch(TSWitch)
|
118
|
+
{
|
119
|
+
case TE_ZEROTH: long m_l;
|
120
|
+
case TE_FIRST:
|
121
|
+
case TE_SECOND: string m_str;
|
122
|
+
};
|
123
|
+
|
124
|
+
/// A very simple interface
|
125
|
+
interface Hello
|
126
|
+
{
|
127
|
+
readonly attribute long long max_LongLong;
|
128
|
+
readonly attribute long long min_LongLong;
|
129
|
+
|
130
|
+
readonly attribute unsigned long long max_ULongLong;
|
131
|
+
readonly attribute unsigned long long min_ULongLong;
|
132
|
+
|
133
|
+
readonly attribute long max_Long;
|
134
|
+
readonly attribute long min_Long;
|
135
|
+
|
136
|
+
readonly attribute unsigned long max_ULong;
|
137
|
+
readonly attribute unsigned long min_ULong;
|
138
|
+
|
139
|
+
readonly attribute short max_Short;
|
140
|
+
readonly attribute short min_Short;
|
141
|
+
|
142
|
+
readonly attribute unsigned short max_UShort;
|
143
|
+
readonly attribute unsigned short min_UShort;
|
144
|
+
|
145
|
+
readonly attribute octet max_Octet;
|
146
|
+
readonly attribute octet min_Octet;
|
147
|
+
|
148
|
+
TString2 get_string();
|
149
|
+
|
150
|
+
attribute TString3 _Message;
|
151
|
+
|
152
|
+
attribute TShortSeq Numbers;
|
153
|
+
|
154
|
+
readonly attribute TDoubleSeq list_of_doubles;
|
155
|
+
|
156
|
+
attribute S1Seq StructSeq;
|
157
|
+
|
158
|
+
attribute TLongCube theCube;
|
159
|
+
|
160
|
+
attribute any AnyValue;
|
161
|
+
|
162
|
+
readonly attribute Hello selfref;
|
163
|
+
|
164
|
+
attribute any S3Value;
|
165
|
+
|
166
|
+
attribute U1 UnionValue;
|
167
|
+
|
168
|
+
attribute U2 UnionValue2;
|
169
|
+
|
170
|
+
attribute U3 UnionValue3;
|
171
|
+
|
172
|
+
attribute U4 UnionValue4;
|
173
|
+
|
174
|
+
long run_test(in TString instr, inout string inoutstr, out string outstr);
|
175
|
+
|
176
|
+
/// A method to shutdown the ORB
|
177
|
+
/**
|
178
|
+
* This method is used to simplify the test shutdown process
|
179
|
+
*/
|
180
|
+
oneway void shutdown ();
|
181
|
+
};
|
182
|
+
};
|