module Roby::TaskStructure::ExecutionAgentStart

This module is hooked in Roby::TaskEventGenerator to check that a task which is being started has a suitable execution agent, and to start it if it's not the case

Public Instance Methods

calling(context) click to toggle source
Calls superclass method
# File lib/roby/task_structure/executed_by.rb, line 219
def calling(context)
    super

    agent = task.execution_agent
    if !agent
        if task.model.execution_agent
            raise MissingRequiredExecutionAgent.new(task), "the model of #{task} requires an execution agent, but the task has none"
        end
    elsif !agent.ready?
        raise ExecutionAgentNotReady.new(task), "cannot start #{task}, its agent is not ready"
    end
end