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,78 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# policies.rb - C++/TAO R2CORBA Policy support loader
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
require 'corba/idl/TAO_ExtC'
|
14
|
+
|
15
|
+
begin
|
16
|
+
require RUBY_PLATFORM =~ /mingw32/ ? "librpolw" : "librpol"
|
17
|
+
rescue LoadError
|
18
|
+
$stderr.puts $!.to_s if $VERBOSE
|
19
|
+
raise
|
20
|
+
end
|
21
|
+
|
22
|
+
module R2CORBA
|
23
|
+
|
24
|
+
module CORBA
|
25
|
+
|
26
|
+
module ORB
|
27
|
+
def create_policy(type, val)
|
28
|
+
raise CORBA::BAD_PARAM.new('Any expected',0,CORBA::COMPLETED_NO) unless CORBA::Any === val
|
29
|
+
begin
|
30
|
+
self.orb_.create_policy(type.to_i, val)
|
31
|
+
rescue ::NativeException
|
32
|
+
CORBA::Exception.native2r($!)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end # ORB
|
36
|
+
|
37
|
+
module Object
|
38
|
+
def _get_policy(policy_type)
|
39
|
+
raise CORBA::INV_OBJREF.new if self._is_nil?()
|
40
|
+
begin
|
41
|
+
pol = self.objref_._get_policy(policy_type)
|
42
|
+
rescue ::NativeException
|
43
|
+
CORBA::Exception.native2r($!)
|
44
|
+
end
|
45
|
+
raise CORBA::INV_POLICY if CORBA.is_nil(pol) # provide spec compliance
|
46
|
+
end
|
47
|
+
|
48
|
+
def _set_policy_overrides(policies, set_add)
|
49
|
+
raise CORBA::INV_OBJREF.new if self._is_nil?()
|
50
|
+
begin
|
51
|
+
CORBA::Object._wrap_native(self.objref_._set_policy_overrides(policies, set_add))
|
52
|
+
rescue ::NativeException
|
53
|
+
CORBA::Exception.native2r($!)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def _get_policy_overrides(types)
|
58
|
+
raise CORBA::INV_OBJREF.new if self._is_nil?()
|
59
|
+
begin
|
60
|
+
self.objref_._get_policy_overrides(types)
|
61
|
+
rescue ::NativeException
|
62
|
+
CORBA::Exception.native2r($!)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def _validate_connection(inconsistent_policies)
|
67
|
+
raise CORBA::INV_OBJREF.new if self._is_nil?()
|
68
|
+
begin
|
69
|
+
self.objref_._validate_connection(inconsistent_policies)
|
70
|
+
rescue ::NativeException
|
71
|
+
CORBA::Exception.native2r($!)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end # Object
|
75
|
+
|
76
|
+
end # CORBA
|
77
|
+
|
78
|
+
end # R2CORBA
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# require.rb - C++/TAO R2CORBA loader finalizer
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
require 'corba/cbase/IORMap'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# require.rb - C++/TAO R2CORBA loader
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
begin
|
15
|
+
require RUBY_PLATFORM =~ /mingw32/ ? "libr2taow" : "libr2tao"
|
16
|
+
rescue LoadError
|
17
|
+
$stderr.puts $!.to_s if $VERBOSE
|
18
|
+
raise
|
19
|
+
end
|
20
|
+
|
21
|
+
[ 'exception',
|
22
|
+
'ORB',
|
23
|
+
'Request',
|
24
|
+
'Typecode',
|
25
|
+
'Stub',
|
26
|
+
'Values',
|
27
|
+
'Streams'
|
28
|
+
].each { |f| require "corba/cbase/#{f}.rb" }
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# base.rb - R2CORBA base command handler
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
require 'optparse'
|
15
|
+
|
16
|
+
module R2CORBA
|
17
|
+
module Commands
|
18
|
+
|
19
|
+
@@commands = Hash.new do |hash, key|
|
20
|
+
$stderr.puts "Unknown command #{key} specified."
|
21
|
+
exit(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
@@options = {
|
25
|
+
:verbose => false
|
26
|
+
}
|
27
|
+
|
28
|
+
def self.register(cmdid, cmdhandler)
|
29
|
+
@@commands[cmdid.to_s] = cmdhandler
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.describe_all
|
33
|
+
puts 'R2CORBA commands:'
|
34
|
+
puts "\tlist\t\tlist all r2corba commands"
|
35
|
+
@@commands.each do |id, cmd|
|
36
|
+
desc = cmd.description.split('\n')
|
37
|
+
puts "\t#{id}\t\t#{desc.join('\t\t\t')}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.run(cmdid)
|
42
|
+
@@commands[cmdid.to_s].run
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.options
|
46
|
+
@@options
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.parse_args(args)
|
50
|
+
opts = OptionParser.new
|
51
|
+
opts.banner = "Usage: r2corba [global options] command [command options]\n\n" +
|
52
|
+
" command\t\tSpecifies R2CORBA command to execute.\n"+
|
53
|
+
" \t\tDefault = list :== list commands\n"
|
54
|
+
opts.separator ''
|
55
|
+
opts.on('-v', '--verbose',
|
56
|
+
'Show verbose output') { |v| ::R2CORBA::Commands.options[:verbose] = true }
|
57
|
+
opts.on('-h', '--help',
|
58
|
+
'Show this message.') { |v| puts opts; exit(0) }
|
59
|
+
opts.parse!(args)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
Dir[File.join(File.dirname(__FILE__), '*.rb')].each do |file|
|
65
|
+
require file unless File.basename(file) == File.basename(__FILE__)
|
66
|
+
end
|
67
|
+
|
68
|
+
# extract global options and command
|
69
|
+
args = []
|
70
|
+
while cmd = ARGV.shift
|
71
|
+
if cmd.start_with? '-'
|
72
|
+
args << cmd
|
73
|
+
cmd = nil
|
74
|
+
else
|
75
|
+
break
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
R2CORBA::Commands.parse_args(args)
|
80
|
+
|
81
|
+
if cmd && cmd.downcase != 'list'
|
82
|
+
R2CORBA::Commands.run(cmd)
|
83
|
+
else
|
84
|
+
R2CORBA::Commands.describe_all
|
85
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# test.rb - R2CORBA unit tester command
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
require File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'test_runner.rb')
|
15
|
+
|
16
|
+
module R2CORBA
|
17
|
+
module Commands
|
18
|
+
class Test
|
19
|
+
def description
|
20
|
+
'Run R2CORBA regression tests.'
|
21
|
+
end
|
22
|
+
|
23
|
+
def run
|
24
|
+
TestFinder.run ARGV
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
self.register('test', Test.new)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# Any.rb - Common definitions for CORBA Any support
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
module R2CORBA
|
14
|
+
module CORBA
|
15
|
+
class Any
|
16
|
+
|
17
|
+
def Any.typecode_for_value(val)
|
18
|
+
case val
|
19
|
+
when CORBA::Any
|
20
|
+
return val._tc
|
21
|
+
when ::NilClass
|
22
|
+
return CORBA._tc_null
|
23
|
+
when ::Bignum
|
24
|
+
return CORBA._tc_longlong
|
25
|
+
when ::Integer
|
26
|
+
return CORBA._tc_long
|
27
|
+
when ::Float
|
28
|
+
return CORBA._tc_double
|
29
|
+
when ::TrueClass, ::FalseClass
|
30
|
+
return CORBA._tc_boolean
|
31
|
+
when ::String
|
32
|
+
return CORBA._tc_string
|
33
|
+
else
|
34
|
+
if val.class.respond_to?(:_tc)
|
35
|
+
begin
|
36
|
+
tc = val.class._tc
|
37
|
+
if tc.is_a? CORBA::TypeCode
|
38
|
+
return tc
|
39
|
+
end
|
40
|
+
rescue
|
41
|
+
end
|
42
|
+
else
|
43
|
+
if val.is_a? CORBA::Object
|
44
|
+
return CORBA._tc_Object
|
45
|
+
elsif val.is_a? CORBA::TypeCode
|
46
|
+
return CORBA._tc_TypeCode
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
return nil
|
51
|
+
end
|
52
|
+
|
53
|
+
def Any.value_for_any(any)
|
54
|
+
case any
|
55
|
+
when CORBA::Any
|
56
|
+
return any._value
|
57
|
+
else
|
58
|
+
return any
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def Any.to_any(o, tc=nil)
|
63
|
+
if tc.nil?
|
64
|
+
tc = self.typecode_for_value(o)
|
65
|
+
if tc.is_a?(CORBA::TypeCode)
|
66
|
+
return new(o, tc)
|
67
|
+
end
|
68
|
+
raise CORBA::MARSHAL.new('missing TypeCode',0,CORBA::COMPLETED_NO)
|
69
|
+
end
|
70
|
+
return new(o, tc)
|
71
|
+
end
|
72
|
+
|
73
|
+
def _tc
|
74
|
+
@__tc
|
75
|
+
end
|
76
|
+
def _value
|
77
|
+
@__value
|
78
|
+
end
|
79
|
+
|
80
|
+
private_class_method :new
|
81
|
+
|
82
|
+
protected
|
83
|
+
|
84
|
+
def initialize(o, tc)
|
85
|
+
@__tc = tc
|
86
|
+
@__value = o
|
87
|
+
end
|
88
|
+
|
89
|
+
end # Any
|
90
|
+
end # CORBA
|
91
|
+
end # R2CORBA
|
@@ -0,0 +1,104 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# IDL.rb - inline IDL loading support
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
# hardwire RIDL to embedded state for Ruby language mapping
|
15
|
+
module IDL
|
16
|
+
@@embedded = true
|
17
|
+
@@be_name = :ruby
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
require 'rubygems'
|
22
|
+
rescue LoadError
|
23
|
+
# ignore error, RIDL may be installed locally not as gem
|
24
|
+
end
|
25
|
+
require 'ridl/ridl'
|
26
|
+
|
27
|
+
module R2CORBA
|
28
|
+
|
29
|
+
module CORBA
|
30
|
+
|
31
|
+
module IDL
|
32
|
+
CLIENT_STUB = 1.freeze
|
33
|
+
SERVANT_INTF = 2.freeze
|
34
|
+
|
35
|
+
@@loaded_idls = {}
|
36
|
+
|
37
|
+
def IDL.implement(idlfile, params = {}, genbits = CLIENT_STUB)
|
38
|
+
idlreg = @@loaded_idls[idlfile]
|
39
|
+
if idlreg.nil? || ((idlreg & genbits) != genbits)
|
40
|
+
idlreg ||= 0
|
41
|
+
if block_given?
|
42
|
+
@@loaded_idls[idlfile] = idlreg | genbits
|
43
|
+
yield
|
44
|
+
else
|
45
|
+
params[:includepaths] ||= $:
|
46
|
+
fp = find_include(idlfile, params[:includepaths])
|
47
|
+
begin
|
48
|
+
f = File.open(fp, 'r')
|
49
|
+
params.store(:stubs_only, !gen_servant_intf?(idlreg, genbits))
|
50
|
+
params.store(:client_stubs, gen_client_stubs?(idlreg, genbits))
|
51
|
+
## check for forced stub generation
|
52
|
+
genbits |= CLIENT_STUB if params[:client_stubs]
|
53
|
+
@@loaded_idls[idlfile] = (idlreg | genbits)
|
54
|
+
::IDL::RIDL.eval(f, params)
|
55
|
+
ensure
|
56
|
+
f.close
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
private
|
62
|
+
def IDL.find_include(fname, paths)
|
63
|
+
fpath = if File.file?(fname) && File.readable?(fname)
|
64
|
+
fname
|
65
|
+
else
|
66
|
+
fp = paths.find do |p|
|
67
|
+
f = p + "/" + fname
|
68
|
+
File.file?(f) && File.readable?(f)
|
69
|
+
end
|
70
|
+
fp += '/' + fname if !fp.nil?
|
71
|
+
fp
|
72
|
+
end
|
73
|
+
if not fpath.nil?
|
74
|
+
return fpath
|
75
|
+
end
|
76
|
+
raise "Cannot open IDL file '#{fname}'"
|
77
|
+
end
|
78
|
+
|
79
|
+
def IDL.gen_servant_intf?(idlreg, genbits)
|
80
|
+
if (genbits & SERVANT_INTF) == SERVANT_INTF
|
81
|
+
(idlreg & SERVANT_INTF) != SERVANT_INTF
|
82
|
+
else
|
83
|
+
false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def IDL.gen_client_stubs?(idlreg, genbits)
|
88
|
+
if (idlreg & CLIENT_STUB) == CLIENT_STUB
|
89
|
+
false
|
90
|
+
else
|
91
|
+
if (genbits & CLIENT_STUB) == CLIENT_STUB
|
92
|
+
true
|
93
|
+
else
|
94
|
+
## if servant intf need to be generated we *require* client stubs too
|
95
|
+
gen_servant_intf?(idlreg, genbits)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|