Module: R2CORBA::CORBA::Request
- Defined in:
- lib/corba/cbase/Request.rb,
lib/corba/jbase/Request.rb,
lib/corba/common/Request.rb
Constant Summary collapse
- @@wrapper_klass =
Class.new do include CORBA::Request def initialize(nreq, target) @req_ = nreq @target = target end attr_reader :req_ attr_reader :target end
Class Method Summary collapse
Instance Method Summary collapse
- #add_in_arg(tc, val, nm = '') ⇒ Object
- #add_inout_arg(tc, val, nm = '') ⇒ Object
- #add_out_arg(tc, nm = '') ⇒ Object
- #arguments ⇒ Object
- #arguments=(*args) ⇒ Object
- #exceptions ⇒ Object
- #exceptions=(exl) ⇒ Object
- #get_response ⇒ Object
- #invoke ⇒ Object
- #operation ⇒ Object
- #poll_response ⇒ Object
- #return_value ⇒ Object
- #send_deferred ⇒ Object
- #send_oneway ⇒ Object
- #set_return_type(tc) ⇒ Object
Class Method Details
Instance Method Details
#add_in_arg(tc, val, nm = '') ⇒ Object
18 19 20 21 |
# File 'lib/corba/cbase/Request.rb', line 18 def add_in_arg(tc, val, nm='') self._arguments << [nm, CORBA::ARG_IN, tc, val] self._arguments.size end |
#add_inout_arg(tc, val, nm = '') ⇒ Object
28 29 30 31 |
# File 'lib/corba/cbase/Request.rb', line 28 def add_inout_arg(tc, val, nm='') self._arguments << [nm, CORBA::ARG_INOUT, tc, val] self._arguments.size end |
#add_out_arg(tc, nm = '') ⇒ Object
23 24 25 26 |
# File 'lib/corba/cbase/Request.rb', line 23 def add_out_arg(tc, nm='') self._arguments << [nm, CORBA::ARG_OUT, tc] self._arguments.size end |
#arguments ⇒ Object
33 34 35 |
# File 'lib/corba/cbase/Request.rb', line 33 def arguments self._arguments end |
#arguments=(*args) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/corba/cbase/Request.rb', line 37 def arguments=(*args) if args.size == 1 raise ArgumentError, 'invalid argument list' unless ::Array === args.first && args.first.all? {|a| ::Array === a } args = args.first else raise ArgumentError, 'invalid argument list' unless args.all? {|a| ::Array === a } end # clear current arguments self._arguments.clear # add new arguments args.each do |nm, flag, tc, val| case flag when CORBA::ARG_IN self.add_in_arg(tc, val, nm) when CORBA::ARG_OUT self.add_out_arg(tc, nm) when CORBA::ARG_INOUT self.add_inout_arg(tc, val, nm) end end end |
#exceptions ⇒ Object
59 60 61 |
# File 'lib/corba/cbase/Request.rb', line 59 def exceptions self._exceptions end |
#exceptions=(exl) ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/corba/cbase/Request.rb', line 63 def exceptions=(exl) self._exceptions.clear begin self._exceptions.concat(exl) rescue raise CORBA::BAD_PARAM.new(0, CORBA::COMPLETED_NO) end end |
#get_response ⇒ Object
111 112 113 114 115 116 117 118 119 |
# File 'lib/corba/cbase/Request.rb', line 111 def get_response begin ret = self._get_response rescue ::NativeException CORBA::Exception.native2r($!) end @_args = self._get_arguments(@_args || []) ret end |
#invoke ⇒ Object
81 82 83 84 85 86 87 |
# File 'lib/corba/cbase/Request.rb', line 81 def invoke self._invoke({ :arg_list => self._arguments, :result_type => @_rettc, :exc_list => self._exceptions }) end |
#operation ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/corba/jbase/Request.rb', line 32 def operation begin self.req_.operation() rescue ::NativeException CORBA::Exception.native2r($!) end end |
#poll_response ⇒ Object
101 102 103 104 105 106 107 108 109 |
# File 'lib/corba/cbase/Request.rb', line 101 def poll_response begin ret = self._poll_response rescue ::NativeException CORBA::Exception.native2r($!) end @_args = self._get_arguments(@_args || []) if ret ret end |
#return_value ⇒ Object
76 77 78 79 |
# File 'lib/corba/cbase/Request.rb', line 76 def return_value return nil if @_rettc.nil? || @_rettc.kind == CORBA::TK_VOID || @_rettc.kind == CORBA::TK_NULL self._return_value(@_rettc) end |
#send_deferred ⇒ Object
93 94 95 96 97 98 99 |
# File 'lib/corba/cbase/Request.rb', line 93 def send_deferred self._send_deferred({ :arg_list => self._arguments, :result_type => @_rettc, :exc_list => self._exceptions }) end |
#send_oneway ⇒ Object
89 90 91 |
# File 'lib/corba/cbase/Request.rb', line 89 def send_oneway self._send_oneway(self._arguments) end |
#set_return_type(tc) ⇒ Object
72 73 74 |
# File 'lib/corba/cbase/Request.rb', line 72 def set_return_type(tc) @_rettc = tc end |