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