Sha256: 30c9cca12f2ef394f11ba4569bd312d683922284d9e88419ee797b7af591409a

Contents?: true

Size: 602 Bytes

Versions: 4

Compression:

Stored size: 602 Bytes

Contents

module Roby
    module Executives
	class Simple
	    attr_reader :query
	    def initialize
		@query = Roby.plan.find_tasks.
		    executable.
		    pending.
		    self_owned
	    end
	    def initial_events
		query.reset.each do |task|
		    next unless task.event(:start).root? && task.event(:start).controlable?
		    root_task = task.enum_for(:each_relation).all? do |rel|
			if task.root?(rel)
			    true
			elsif rel == TaskStructure::PlannedBy 
			    task.planned_tasks.all? { |t| !t.executable? }
			end
		    end

		    if root_task
			task.start!
		    end
		end
	    end
	end
    end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
roby-0.7.2 lib/roby/executives/simple.rb
roby-0.7.1 lib/roby/executives/simple.rb
roby-0.7 lib/roby/executives/simple.rb
roby-0.7.3 lib/roby/executives/simple.rb