class Orocos::Async::NameService
Public Class Methods
new(*name_services)
click to toggle source
Calls superclass method
Orocos::Async::NameServiceBase.new
# File lib/orocos/async/name_service.rb, line 134 def initialize(*name_services) options = if name_services.last.is_a? Hash name_services.pop else Hash.new end name_services = name_services.map { |ns| ns.to_async } name_service = Orocos::NameService.new *name_services super(name_service,options) end
Public Instance Methods
add(name_service)
click to toggle source
(see Orocos::NameServiceBase#add)
Emits the name_service_added event
# File lib/orocos/async/name_service.rb, line 175 def add(name_service) name_service = name_service.to_async orig_add(name_service) event :name_service_added,name_service end
add_front(name_service)
click to toggle source
(see Orocos::NameServiceBase#add_front)
Emits the name_service_added event
# File lib/orocos/async/name_service.rb, line 184 def add_front(name_service) name_service = name_service.to_async orig_add_front(name_service) event :name_service_added,name_service end
add_listener(listener)
click to toggle source
Overloaded to emit the name_service_added event for already registered name services
Calls superclass method
# File lib/orocos/async/name_service.rb, line 160 def add_listener(listener) if listener.event == :name_service_added services = name_services.dup event_loop.once do services.each do |ns| listener.call ns end end end super end
clear()
click to toggle source
# File lib/orocos/async/name_service.rb, line 145 def clear task_context_proxies.clear orig_clear end
proxy(name,options = Hash.new)
click to toggle source
Calls superclass method
Orocos::Async::NameServiceBase#proxy
# File lib/orocos/async/name_service.rb, line 150 def proxy(name,options = Hash.new) if(name_services.empty?) Vizkit.error "Orocos is not initialized!" unless Orocos.initialized? raise "No name service available." end super end
remove(name_service)
click to toggle source
(see Orocos::NameServiceBase#remove)
Emits the name_service_removed event
# File lib/orocos/async/name_service.rb, line 193 def remove(name_service) removed = false name_services.delete_if do |ns| if name_service == ns || ns.delegator_obj == ns true end end if removed event :name_service_removed,name_service true end end