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
15 16 17 18 |
# File 'lib/corba/cbase/Request.rb', line 15 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
25 26 27 28 |
# File 'lib/corba/cbase/Request.rb', line 25 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
20 21 22 23 |
# File 'lib/corba/cbase/Request.rb', line 20 def add_out_arg(tc, nm = '') self._arguments << [nm, CORBA::ARG_OUT, tc] self._arguments.size end |
#arguments ⇒ Object
30 31 32 |
# File 'lib/corba/cbase/Request.rb', line 30 def arguments self._arguments end |
#arguments=(*args) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/corba/cbase/Request.rb', line 34 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
57 58 59 |
# File 'lib/corba/cbase/Request.rb', line 57 def exceptions self._exceptions end |
#exceptions=(exl) ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/corba/cbase/Request.rb', line 61 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
110 111 112 113 114 115 116 117 118 |
# File 'lib/corba/cbase/Request.rb', line 110 def get_response begin ret = self._get_response rescue ::NativeException CORBA::Exception.native2r($!) end @_args = self._get_arguments(@_args || []) ret end |
#invoke ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/corba/cbase/Request.rb', line 80 def invoke self._invoke({ arg_list: self._arguments, result_type: @_rettc, exc_list: self._exceptions }) end |
#operation ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/corba/jbase/Request.rb', line 31 def operation begin self.req_.operation rescue ::NativeException CORBA::Exception.native2r($!) end end |
#poll_response ⇒ Object
100 101 102 103 104 105 106 107 108 |
# File 'lib/corba/cbase/Request.rb', line 100 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
74 75 76 77 78 |
# File 'lib/corba/cbase/Request.rb', line 74 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
92 93 94 95 96 97 98 |
# File 'lib/corba/cbase/Request.rb', line 92 def send_deferred self._send_deferred({ arg_list: self._arguments, result_type: @_rettc, exc_list: self._exceptions }) end |
#send_oneway ⇒ Object
88 89 90 |
# File 'lib/corba/cbase/Request.rb', line 88 def send_oneway self._send_oneway(self._arguments) end |
#set_return_type(tc) ⇒ Object
70 71 72 |
# File 'lib/corba/cbase/Request.rb', line 70 def set_return_type(tc) @_rettc = tc end |