class Orocos::RobyPlugin::LogGroup

Attributes

deployments[R]
names[R]
ports[R]
tasks[R]

Public Class Methods

new(enabled = true) click to toggle source
# File lib/orocos/roby/app.rb, line 28
def initialize(enabled = true)
    @deployments = Set.new
    @tasks = Set.new
    @ports = Set.new
    @names = Set.new
    @enabled = enabled
end

Public Instance Methods

add(object, subname = nil) click to toggle source

Adds object to this logging group

object can be

  • a deployment model, in which case no task in this deployment will be logged

  • a task model, in which case no port of any task of this type will be logged

  • a [task_model, port_name] pair

  • a string. It can then either be a task name, a port name or a type name

# File lib/orocos/roby/app.rb, line 53
def add(object, subname = nil)
    if object.kind_of?(Class) && object < RobyPlugin::DataService
        if subname
            ports << [object, subname]
        else
            tasks << object
        end
    elsif object.kind_of?(Class) && object < RobyPlugin::Deployment
        deployments << object
    else
        names << object.to_str
    end
end
load(&block) click to toggle source
# File lib/orocos/roby/app.rb, line 24
def load(&block)
    instance_eval(&block)
end
matches_deployment?(deployment) click to toggle source
# File lib/orocos/roby/app.rb, line 67
def matches_deployment?(deployment)
    if deployments.include?(deployment.model)
        true
    elsif names.include?(deployment.name)
        true
    else
        false
    end
end
matches_port?(deployment, task_model, port) click to toggle source
# File lib/orocos/roby/app.rb, line 77
def matches_port?(deployment, task_model, port)
    if ports.any? { |model, port_name| port.name == port_name && task_model.fullfills?(model) }
        true
    elsif tasks.include?(task_model)
        true
    elsif deployments.include?(deployment.model)
        true
    else
        names.include?(port.type_name) ||
            names.include?(port.task.name) ||
            names.include?(port.name) ||
            names.include?("#{port.task.name}.#{port.name}")
    end
end