class Syskit::DRoby::V5::ComBusDumper::DRoby

Attributes

lazy_dispatch[R]
message_type[R]

Public Class Methods

new(message_type, lazy_dispatch, *args) click to toggle source
Calls superclass method
# File lib/syskit/droby/v5/droby_dump.rb, line 78
def initialize(message_type, lazy_dispatch, *args)
    @message_type = message_type
    @lazy_dispatch = lazy_dispatch
    super(*args)
end

Public Instance Methods

create_new_proxy_model(peer) click to toggle source
# File lib/syskit/droby/v5/droby_dump.rb, line 84
def create_new_proxy_model(peer)
    supermodel = peer.local_model(self.supermodel)
    # 2016-05: workaround broken log files in which types
    #          are marshalled as strings instead of type
    #          objects
    if message_type.respond_to?(:to_str)
        message_type = Roby.app.default_loader.resolve_type(self.message_type, define_dummy_type: true)
    else
        message_type = peer.local_object(self.message_type)
    end

    # We unfortunately must register the type on the global
    # loader. We're not ready yet for a fully mixed-loader
    # setup
    Roby.app.default_loader.register_type_model(message_type)

    local_model = supermodel.new_submodel(name: name, lazy_dispatch: lazy_dispatch, message_type: message_type)
    peer.register_model(local_model, remote_siblings)
    local_model
end