class Orocos::Async::SubPortProxy
Public Class Methods
new(port_proxy,subfield = Array.new)
click to toggle source
Calls superclass method
# File lib/orocos/async/task_context_proxy.rb, line 337 def initialize(port_proxy,subfield = Array.new) super(port_proxy) @subfield = Array(subfield).map do |field| if field.respond_to?(:to_i) && field.to_i.to_s == field field.to_i else field end end end
Public Instance Methods
full_name()
click to toggle source
Calls superclass method
# File lib/orocos/async/task_context_proxy.rb, line 374 def full_name super + "." + @subfield.join(".") end
last_sample()
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 390 def last_sample subfield(__getobj__.last_sample,@subfield) end
name()
click to toggle source
Calls superclass method
# File lib/orocos/async/task_context_proxy.rb, line 378 def name super + "." + @subfield.join(".") end
new_sample()
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 386 def new_sample type.new end
on_data(policy = Hash.new) { |sample| ... }
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 356 def on_data(policy = Hash.new) on_raw_data(policy) do |sample| sample = Typelib.to_ruby(sample) if sample yield(sample) end end
on_raw_data(policy = Hash.new,&block)
click to toggle source
Calls superclass method
# File lib/orocos/async/task_context_proxy.rb, line 363 def on_raw_data(policy = Hash.new,&block) p = proc do |sample| block.call subfield(sample,@subfield) end super(policy,&p) end
orocos_type_name()
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 382 def orocos_type_name type.name end
raw_last_sample()
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 394 def raw_last_sample subfield(__getobj__.raw_last_sample,@subfield) end
sub_port(subfield)
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 398 def sub_port(subfield) raise RuntimeError , "Port #{name} is not an output port" if !output? SubPortProxy.new(__getobj__,@subfield+subfield) end
to_async(options=Hash.new)
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 348 def to_async(options=Hash.new) task.to_async(options).port(port.name,:subfield => @subfield) end
to_proxy(options=Hash.new)
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 352 def to_proxy(options=Hash.new) self end
type()
click to toggle source
Calls superclass method
# File lib/orocos/async/task_context_proxy.rb, line 403 def type @sub_type ||= if !@subfield.empty? type ||= super @subfield.each do |f| type = if type.respond_to? :deference type.deference else type[f] end end type else super end end
type_name()
click to toggle source
# File lib/orocos/async/task_context_proxy.rb, line 370 def type_name type.name end