Method: OpenC3::InterfaceModel#unmap_target

Defined in:
lib/openc3/models/interface_model.rb

#unmap_target(target_name, cmd_only: false, tlm_only: false) ⇒ Object



394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
# File 'lib/openc3/models/interface_model.rb', line 394

def unmap_target(target_name, cmd_only: false, tlm_only: false)
  if cmd_only and tlm_only
    cmd_only = false
    tlm_only = false
  end
  target_name = target_name.to_s.upcase

  # Remove from this interface
  if cmd_only
    @cmd_target_names.delete(target_name)
    @target_names.delete(target_name) unless @tlm_target_names.include?(target_name)
  elsif tlm_only
    @tlm_target_names.delete(target_name)
    @target_names.delete(target_name) unless @cmd_target_names.include?(target_name)
  else
    @cmd_target_names.delete(target_name)
    @tlm_target_names.delete(target_name)
    @target_names.delete(target_name)
  end
  update()

  # Respawn the microservice
  type = self.class._get_type
  microservice_name = "#{@scope}__#{type}__#{@name}"
  microservice = MicroserviceModel.get_model(name: microservice_name, scope: scope)
  microservice.target_names.delete(target_name) unless @target_names.include?(target_name)
  microservice.update
end