Class: Syskit::Coordination::InputPort

Inherits:
InputPort show all
Defined in:
lib/syskit/coordination/port_handling.rb

Instance Attribute Summary

Attributes inherited from Port

#component, #model

Instance Method Summary collapse

Methods inherited from InputPort

#each_concrete_connection, #each_connection, #input?

Methods inherited from Port

#==, #connect_to, #connected?, #connected_to?, #disconnect_from, #eql?, #hash, #initialize, #input?, #inspect, #name, #new_sample, #output?, #pretty_print, #static?, #to_actual_port, #to_component_port, #to_orocos_port, #to_s, #type

Constructor Details

This class inherits a constructor from Syskit::Port

Instance Method Details

#writer(policy = Hash.new) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/syskit/coordination/port_handling.rb', line 60

def writer(policy = Hash.new)
    # The 'rescue' case is used only on first evaluation of the
    # block, when Roby instanciates it to check syntax.
    # The script blocks have to be re-instanciated for each
    # task they get applied on
    begin
        component.resolve
        root_task = component.root_task.resolve
        writer = super
        root_task.stop_event.on { |_| writer.disconnect }
        writer
    rescue Roby::Coordination::ResolvingUnboundObject
        Syskit::Models::InputWriter.new(self, policy)
    end
end