class Syskit::Models::DataServiceModel::BlockInstanciator

Internal class used to apply configuration blocks to data services. I.e. when one does

data_service_type 'Type' do
  input_port ...
end

The given block is applied on an instance of BlockInstanciator that forwards the calls to, in order of preference, the interface and then the service

One should not use BlockInstanciator directly. Use Syskit::Models::DataServiceModel#apply_block

Attributes

name[R]

Public Class Methods

new(model, name = nil) click to toggle source
# File lib/syskit/models/data_service.rb, line 94
def initialize(model, name = nil)
    @model = model
    @name = name || model.name
    @orogen_model = model.orogen_model

    if !@orogen_model
        raise InternalError, "no interface for #{model.short_name}"
    end
end

Public Instance Methods

method_missing(m, *args, &block) click to toggle source
# File lib/syskit/models/data_service.rb, line 109
def method_missing(m, *args, &block)
    if @orogen_model.respond_to?(m)
        @orogen_model.public_send(m, *args, &block)
    else @model.public_send(m, *args, &block)
    end
end
respond_to_missing?(m, include_private) click to toggle source
# File lib/syskit/models/data_service.rb, line 104
def respond_to_missing?(m, include_private)
    @orogen_model.respond_to?(m) ||
        @model.respond_to?(m)
end