module Syskit::Coordination::FaultResponseTableExtension

Attributes

data_monitoring_tables[R]

@return [Array<Object>] array of data monitoring table IDs, as

returned by PlanExtension#use_data_monitoring_table

Public Instance Methods

attach_to(plan) click to toggle source

Hook called when the table is attached on the plan

@see Roby::Coordination::Actions#attach_to

Calls superclass method
# File lib/syskit/coordination/fault_response_table_extension.rb, line 27
def attach_to(plan)
    super if defined? super

    @data_monitoring_tables = Array.new
    model.each_data_monitoring_table do |tbl|
        data_args = tbl.arguments.map_value do |data_arg, fault_arg|
            if fault_arg.kind_of?(Roby::Coordination::Models::Variable)
                arguments[fault_arg.name]
            else fault_arg
            end
        end
        data_monitoring_tables << plan.use_data_monitoring_table(tbl.table, data_args)
    end
end
ready?() click to toggle source

Checks if the fault response table is connected to all its data sources

# File lib/syskit/coordination/fault_response_table_extension.rb, line 6
def ready?
    data_monitoring_tables.all?(:ready?)
end
removed!() click to toggle source

Hook called when the table is removed from the plan

@see Roby::Coordination::FaultResponseTable#removed!

Calls superclass method
# File lib/syskit/coordination/fault_response_table_extension.rb, line 17
def removed!
    super
    data_monitoring_tables.each do |tbl|
        plan.remove_data_monitoring_table(tbl)
    end
end