Class: Syskit::DRoby::V5::Models::TaskContextDumper::DRoby

Inherits:
Roby::DRoby::V5::Models::TaskDumper::DRoby
  • Object
show all
Defined in:
lib/syskit/droby/v5/droby_dump.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, remote_siblings, arguments, supermodel, provided_models, events, orogen_name, orogen_superclass_name, project_name, project_text, types) ⇒ DRoby

Returns a new instance of DRoby



230
231
232
233
234
235
# File 'lib/syskit/droby/v5/droby_dump.rb', line 230

def initialize(name, remote_siblings, arguments, supermodel, provided_models, events,
    orogen_name, orogen_superclass_name, project_name, project_text, types)
    super(name, remote_siblings, arguments, supermodel, provided_models, events)
    @orogen_name, @orogen_superclass_name, @project_name, @project_text, @types =
        orogen_name, orogen_superclass_name, project_name, project_text, types
end

Instance Attribute Details

#orogen_nameObject (readonly)

Returns the value of attribute orogen_name



228
229
230
# File 'lib/syskit/droby/v5/droby_dump.rb', line 228

def orogen_name
  @orogen_name
end

Instance Method Details

#create_new_proxy_model(peer) ⇒ Object



237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# File 'lib/syskit/droby/v5/droby_dump.rb', line 237

def create_new_proxy_model(peer)
    @types.each do |type|
        peer.register_typelib_model(
            peer.local_object(type))
    end

    if @project_text && !peer.has_orogen_project?(@project_name)
        peer.add_orogen_project(
            @project_name, @project_text)
    end

    if @orogen_name
        begin
            orogen_model = peer.
                orogen_task_context_model_from_name(@orogen_name)
            local_model = Syskit::TaskContext.
                define_from_orogen(orogen_model, register: false)
            if name
                local_model.name = name
            end
        rescue OroGen::TaskModelNotFound
        end
    end

    if !orogen_model
        syskit_supermodel = peer.local_model(self.supermodel)
        local_model = syskit_supermodel.
            new_submodel(name: @orogen_name)
        if name
            local_model.name = name
        end
        peer.register_orogen_model(local_model, remote_siblings)
    end

    local_model
end

#unmarshal_dependent_models(peer) ⇒ Object



274
275
276
277
278
279
280
# File 'lib/syskit/droby/v5/droby_dump.rb', line 274

def unmarshal_dependent_models(peer)
    @types.each do |type|
        peer.register_typelib_model(
            peer.local_object(type))
    end
    super
end

#update(peer, local_object, fresh_proxy: false) ⇒ Object



282
283
284
285
286
287
288
# File 'lib/syskit/droby/v5/droby_dump.rb', line 282

def update(peer, local_object, fresh_proxy: false)
    @types.each do |type|
        peer.register_typelib_model(
            peer.local_object(type))
    end
    super
end