module Syskit::Models::OrogenBase

Base functionality for model classes that deal with oroGen models

Public Instance Methods

find_model_by_orogen(orogen_model) click to toggle source

Return the syskit model that represents the given oroGen model

@param orogen_model the oroGen model @return [Syskit::TaskContext,Syskit::Deployment,nil] the

corresponding syskit model, or nil if there are none registered
# File lib/syskit/models/orogen_base.rb, line 26
def find_model_by_orogen(orogen_model)
    each_submodel do |syskit_model|
        if syskit_model.orogen_model == orogen_model
            return syskit_model
        end
    end
    nil
end
find_model_from_orogen_name(name) click to toggle source

Finds the Syskit model that represents an oroGen model with that name

# File lib/syskit/models/orogen_base.rb, line 12
def find_model_from_orogen_name(name)
    each_submodel do |syskit_model|
        if syskit_model.orogen_model.name == name
            return syskit_model
        end
    end
    nil
end
has_model_for?(orogen_model) click to toggle source

Checks whether a syskit model exists for the given orogen model

# File lib/syskit/models/orogen_base.rb, line 6
def has_model_for?(orogen_model)
    !!each_submodel.find { |m| m.orogen_model == orogen_model }
end
model_for(orogen_model) click to toggle source

Returns the syskit model for the given oroGen model

@raise ArgumentError if no syskit model exists

# File lib/syskit/models/orogen_base.rb, line 38
def model_for(orogen_model)
    if m = find_model_by_orogen(orogen_model)
        return m
    else raise ArgumentError, "there is no syskit model for #{orogen_model.name}"
    end
end