Module: Syskit::DRoby::V5::Models::TaskContextDumper

Includes:
Roby::DRoby::V5::Models::TaskDumper
Defined in:
lib/syskit/droby/v5/droby_dump.rb

Defined Under Namespace

Classes: DRoby

Instance Method Summary collapse

Instance Method Details

#droby_dump(peer) ⇒ Object



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# File 'lib/syskit/droby/v5/droby_dump.rb', line 291

def droby_dump(peer)
    types = orogen_model.each_interface_type.
        map { |t| peer.dump(t) }

    supermodel = Roby::DRoby::V5::DRobyModel.
        dump_supermodel(peer, self)
    provided_models = Roby::DRoby::V5::DRobyModel.
        dump_provided_models_of(peer, self)

    orogen_name = orogen_model.name
    if orogen_model.name && (project_name = orogen_model.project.name)
        begin
            project_text, _ = orogen_model.project.loader.
                project_model_text_from_name(project_name)
        rescue OroGen::ProjectNotFound
        end
    end

    if orogen_model.superclass
        orogen_superclass_name = orogen_model.superclass.name
    end

    peer.register_model(self)
    DRoby.new(
        name,
        peer.known_siblings_for(self),
        arguments,
        supermodel,
        provided_models,
        each_event.map { |_, ev| [ev.symbol, ev.controlable?, ev.terminal?] },
        orogen_name, orogen_superclass_name, project_name, project_text, types)
end