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,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
|
@@ -0,0 +1,368 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# ORB.rb - Common CORBA ORB definitions
|
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
|
+
module R2CORBA
|
15
|
+
module CORBA
|
16
|
+
|
17
|
+
def CORBA.ORB_init(*args)
|
18
|
+
# actual CORBA wrapper implementation implements
|
19
|
+
# the ORB.init method
|
20
|
+
self::ORB.init(*args)
|
21
|
+
end
|
22
|
+
|
23
|
+
module ORB
|
24
|
+
@@wrapper_klass = Class.new do
|
25
|
+
include ::R2CORBA::CORBA::ORB
|
26
|
+
def initialize(norb)
|
27
|
+
@orb_ = norb
|
28
|
+
end
|
29
|
+
attr_reader :orb_
|
30
|
+
end
|
31
|
+
|
32
|
+
def self._wrap_native(norb)
|
33
|
+
raise ArgumentError, 'Expected org.omg.CORBA.ORB' unless norb.nil? || norb.is_a?(Native::ORB)
|
34
|
+
norb.nil?() ? norb : @@wrapper_klass.new(norb)
|
35
|
+
end
|
36
|
+
|
37
|
+
## init() or init(orb_id, prop = {}) or init(argv, orb_id, prop={}) or init(argv, prop={})
|
38
|
+
def self.init(*args)
|
39
|
+
raise ::CORBA::NO_IMPLEMENT
|
40
|
+
end
|
41
|
+
|
42
|
+
@@cached_orb = nil
|
43
|
+
|
44
|
+
def self._orb
|
45
|
+
@@cached_orb || _singleton_orb_init
|
46
|
+
end
|
47
|
+
|
48
|
+
def ==(other)
|
49
|
+
self.class == other.class && self.orb_.eql?(other.orb_)
|
50
|
+
end
|
51
|
+
|
52
|
+
def hash
|
53
|
+
self.orb_.hash
|
54
|
+
end
|
55
|
+
|
56
|
+
def dup
|
57
|
+
self
|
58
|
+
end
|
59
|
+
|
60
|
+
def clone
|
61
|
+
self
|
62
|
+
end
|
63
|
+
|
64
|
+
#obj ::CORBA::Object
|
65
|
+
#ret ::String
|
66
|
+
def object_to_string(obj)
|
67
|
+
raise CORBA::BAD_PARAM.new('CORBA::Object required', 0, CORBA::COMPLETED_NO) unless obj.is_a?(CORBA::Object)
|
68
|
+
begin
|
69
|
+
self.orb_.object_to_string(obj.objref_)
|
70
|
+
rescue ::NativeException
|
71
|
+
CORBA::Exception.native2r($!)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
#str ::String
|
76
|
+
#ret ::CORBA::Object
|
77
|
+
def string_to_object(str)
|
78
|
+
begin
|
79
|
+
Object._wrap_native(self.orb_.string_to_object(str))
|
80
|
+
rescue ::NativeException
|
81
|
+
CORBA::Exception.native2r($!)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
#str ::Integer
|
86
|
+
#ret ::CORBA::NVList
|
87
|
+
def create_list(count)
|
88
|
+
raise CORBA::NO_IMPLEMENT
|
89
|
+
end
|
90
|
+
|
91
|
+
#str OperationDef
|
92
|
+
#ret ::CORBA::NVList
|
93
|
+
def create_operation_list(oper)
|
94
|
+
raise CORBA::NO_IMPLEMENT
|
95
|
+
end
|
96
|
+
|
97
|
+
#ret Context
|
98
|
+
def get_default_context()
|
99
|
+
raise CORBA::NO_IMPLEMENT
|
100
|
+
end
|
101
|
+
|
102
|
+
#req RequestSeq
|
103
|
+
#ret void
|
104
|
+
def send_multiple_request_oneway(req)
|
105
|
+
raise CORBA::NO_IMPLEMENT
|
106
|
+
end
|
107
|
+
|
108
|
+
#req RequestSeq
|
109
|
+
#ret void
|
110
|
+
def send_multiple_request_deferred(req)
|
111
|
+
raise CORBA::NO_IMPLEMENT
|
112
|
+
end
|
113
|
+
|
114
|
+
#ret boolean
|
115
|
+
def poll_next_response()
|
116
|
+
raise CORBA::NO_IMPLEMENT
|
117
|
+
end
|
118
|
+
|
119
|
+
#ret Request
|
120
|
+
def get_next_response()
|
121
|
+
raise CORBA::NO_IMPLEMENT
|
122
|
+
end
|
123
|
+
|
124
|
+
# Service information operations
|
125
|
+
|
126
|
+
# ServiceType service_type
|
127
|
+
# ret [boolean, ServiceInformation]
|
128
|
+
def get_service_information(service_type)
|
129
|
+
raise CORBA::NO_IMPLEMENT
|
130
|
+
end
|
131
|
+
|
132
|
+
# ret [::String, ...]
|
133
|
+
def list_initial_services()
|
134
|
+
self.orb_.list_initial_services()
|
135
|
+
end
|
136
|
+
|
137
|
+
=begin
|
138
|
+
// Initial reference operations
|
139
|
+
=end
|
140
|
+
# ::String identifier
|
141
|
+
# ret Object
|
142
|
+
# raises InvalidName
|
143
|
+
def resolve_initial_references(identifier)
|
144
|
+
begin
|
145
|
+
Object._wrap_native(self.orb_.resolve_initial_references(identifier))
|
146
|
+
rescue ::NativeException
|
147
|
+
CORBA::Exception.native2r($!)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
# ::String identifier
|
152
|
+
# CORBA::Object obj
|
153
|
+
# ret void
|
154
|
+
# raises InvalidName
|
155
|
+
def register_initial_reference(identifier, obj)
|
156
|
+
raise ::CORBA::NO_IMPLEMENT
|
157
|
+
end
|
158
|
+
|
159
|
+
=begin
|
160
|
+
// Type code creation operations
|
161
|
+
=end
|
162
|
+
# String id
|
163
|
+
# String name
|
164
|
+
# [] members
|
165
|
+
# ret TypeCode
|
166
|
+
def create_struct_tc(id, name, *members)
|
167
|
+
return CORBA::TypeCode::Struct.new(id.to_s.freeze, name.to_s, nil, members)
|
168
|
+
end
|
169
|
+
|
170
|
+
# String id
|
171
|
+
# String name
|
172
|
+
# [] members
|
173
|
+
# ret TypeCode
|
174
|
+
def create_exception_tc(id, name, *members)
|
175
|
+
return CORBA::TypeCode::Except.new(id.to_s.freeze, name.to_s, nil, members)
|
176
|
+
end
|
177
|
+
|
178
|
+
# String id
|
179
|
+
# String name
|
180
|
+
# TypeCode discriminator_type
|
181
|
+
# [] members
|
182
|
+
# ret TypeCode
|
183
|
+
def create_union_tc(id, name, discriminator_type, *members)
|
184
|
+
return CORBA::TypeCode::Union.new(id.to_s.freeze, name.to_s, nil, discriminator_type, members)
|
185
|
+
end
|
186
|
+
|
187
|
+
# String id
|
188
|
+
# String name
|
189
|
+
# [] members
|
190
|
+
# ret TypeCode
|
191
|
+
def create_enum_tc(id, name, *members)
|
192
|
+
return CORBA::TypeCode::Enum.new(id.to_s.freeze, name.to_s, members)
|
193
|
+
end
|
194
|
+
|
195
|
+
# String id
|
196
|
+
# String name
|
197
|
+
# TypeCode original_type
|
198
|
+
# ret TypeCode
|
199
|
+
def create_alias_tc(id, name, original_type)
|
200
|
+
return CORBA::TypeCode::Alias.new(id.to_s.freeze, name.to_s, nil, original_type)
|
201
|
+
end
|
202
|
+
|
203
|
+
# String id
|
204
|
+
# String name
|
205
|
+
# ret TypeCode
|
206
|
+
def create_interface_tc(id, name)
|
207
|
+
return CORBA::TypeCode::ObjectRef.new(id.to_s.freeze, name.to_s, nil)
|
208
|
+
end
|
209
|
+
|
210
|
+
# Integer bound
|
211
|
+
# ret TypeCode
|
212
|
+
def create_string_tc(bound=nil)
|
213
|
+
return CORBA::TypeCode::String.new(bound)
|
214
|
+
end
|
215
|
+
|
216
|
+
# Integer bound
|
217
|
+
# ret TypeCode
|
218
|
+
def create_wstring_tc(bound=nil)
|
219
|
+
return CORBA::TypeCode::WString.new(bound)
|
220
|
+
end
|
221
|
+
|
222
|
+
# Integer(ushort) digits
|
223
|
+
# Integer(short) scale
|
224
|
+
# ret TypeCode
|
225
|
+
def create_fixed_tc(digits, scale)
|
226
|
+
return CORBA::TypeCode::Fixed.new(digits, scale)
|
227
|
+
end
|
228
|
+
|
229
|
+
# Integer bound
|
230
|
+
# TypeCode element_type
|
231
|
+
# ret TypeCode
|
232
|
+
def create_sequence_tc(bound, element_type)
|
233
|
+
return CORBA::TypeCode::Sequence.new(element_type, bound)
|
234
|
+
end
|
235
|
+
|
236
|
+
# Integer length
|
237
|
+
# TypeCode element_type
|
238
|
+
# ret TypeCode
|
239
|
+
def create_array_tc(length, element_type)
|
240
|
+
return CORBA::TypeCode::Array.new(element_type, length)
|
241
|
+
end
|
242
|
+
|
243
|
+
# String id
|
244
|
+
# ret TypeCode
|
245
|
+
def create_recursive_tc(id)
|
246
|
+
return CORBA::TypeCode::Recursive.new(id.to_s.freeze)
|
247
|
+
end
|
248
|
+
|
249
|
+
# RepositoryId id
|
250
|
+
# Identifier name
|
251
|
+
# ValueModifier type_modifier
|
252
|
+
# TypeCode concrete_base
|
253
|
+
# ValueMemberSeq members
|
254
|
+
# ret TypeCode
|
255
|
+
def create_value_tc(id, name, type_modifier, concrete_base, members)
|
256
|
+
return CORBA::TypeCode::Valuetype.new(id, name, type_modifier, concrete_base, members)
|
257
|
+
end
|
258
|
+
|
259
|
+
# RepositoryId id
|
260
|
+
# Identifier name
|
261
|
+
# TypeCode boxed_type
|
262
|
+
# ret TypeCode
|
263
|
+
def create_value_box_tc (id, name, boxed_type)
|
264
|
+
return CORBA::TypeCode::Valuebox.new(id, name, boxed_type)
|
265
|
+
end
|
266
|
+
|
267
|
+
# RepositoryId id
|
268
|
+
# Identifier name
|
269
|
+
# ret TypeCode
|
270
|
+
def create_native_tc(id, name)
|
271
|
+
# TODO ORB::create_native_tc
|
272
|
+
raise ::CORBA::NO_IMPLEMENT
|
273
|
+
end
|
274
|
+
|
275
|
+
# RepositoryId id
|
276
|
+
# Identifier name
|
277
|
+
# ret TypeCode
|
278
|
+
def create_abstract_interface_tc(id, name)
|
279
|
+
return CORBA::TypeCode::AbstractInterface.new(id.to_s.freeze, name.to_s, nil)
|
280
|
+
end
|
281
|
+
|
282
|
+
=begin
|
283
|
+
// Thread related operations
|
284
|
+
=end
|
285
|
+
|
286
|
+
# ret boolean
|
287
|
+
def work_pending()
|
288
|
+
begin
|
289
|
+
self.orb_.work_pending()
|
290
|
+
rescue ::NativeException
|
291
|
+
CORBA::Exception.native2r($!)
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
# ret void
|
296
|
+
def perform_work()
|
297
|
+
begin
|
298
|
+
self.orb_.perform_work()
|
299
|
+
rescue ::NativeException
|
300
|
+
CORBA::Exception.native2r($!)
|
301
|
+
end
|
302
|
+
end
|
303
|
+
|
304
|
+
# ret void
|
305
|
+
def run()
|
306
|
+
begin
|
307
|
+
self.orb_.run()
|
308
|
+
rescue ::NativeException
|
309
|
+
CORBA::Exception.native2r($!)
|
310
|
+
end
|
311
|
+
end
|
312
|
+
|
313
|
+
# boolean wait_for_completion
|
314
|
+
# ret void
|
315
|
+
def shutdown(wait_for_completion = false)
|
316
|
+
begin
|
317
|
+
self.orb_.shutdown(wait_for_completion)
|
318
|
+
rescue ::NativeException
|
319
|
+
CORBA::Exception.native2r($!)
|
320
|
+
end
|
321
|
+
end
|
322
|
+
|
323
|
+
# ret void
|
324
|
+
def destroy()
|
325
|
+
begin
|
326
|
+
self.orb_.destroy()
|
327
|
+
rescue ::NativeException
|
328
|
+
CORBA::Exception.native2r($!)
|
329
|
+
end
|
330
|
+
end
|
331
|
+
|
332
|
+
=begin
|
333
|
+
// Policy related operations
|
334
|
+
=end
|
335
|
+
|
336
|
+
# PolicyType type
|
337
|
+
# any val
|
338
|
+
#ret Policy
|
339
|
+
#raises PolicyError
|
340
|
+
def create_policy(type, val)
|
341
|
+
raise ::CORBA::NO_IMPLEMENT
|
342
|
+
end
|
343
|
+
|
344
|
+
=begin
|
345
|
+
// Value factory operations
|
346
|
+
=end
|
347
|
+
# RepositoryId id
|
348
|
+
# ValueFactory factory
|
349
|
+
#ret ValueFactory
|
350
|
+
def register_value_factory(id, factory)
|
351
|
+
self.orb_().register_value_factory(id, factory)
|
352
|
+
end
|
353
|
+
|
354
|
+
# RepositoryId id
|
355
|
+
# ret void
|
356
|
+
def unregister_value_factory(id)
|
357
|
+
self.orb_().unregister_value_factory(id)
|
358
|
+
end
|
359
|
+
|
360
|
+
# RepositoryId id
|
361
|
+
#ret ValueFactory
|
362
|
+
def lookup_value_factory(id)
|
363
|
+
self.orb_().lookup_value_factory(id)
|
364
|
+
end
|
365
|
+
end # ORB
|
366
|
+
|
367
|
+
end # CORBA
|
368
|
+
end # R2CORBA
|