Methods
Classes and Modules
Class Net::SSH::Service::Process::DriverClass Net::SSH::Service::Process::OpenManager
Class Net::SSH::Service::Process::POpen3Manager
Public Instance methods
Register all services pertaining to the management of remote processes.
[ show source ]
# File lib/net/ssh/service/process/services.rb, line 24 24: def register_services( container ) 25: 26: # All process management services are registered in their own 27: # namespace. 28: container.namespace_define :process do |ns| 29: 30: # The :open_manager service returns a proc object that can be used 31: # to create new OpenManager instances for a given command. 32: ns.open_manager do |c,p| 33: require 'net/ssh/service/process/open' 34: connection = c[:connection][:driver] 35: log = c[:log_for, p] 36: lambda { |cmd| OpenManager.new( connection, log, cmd ) } 37: end 38: 39: # The :popen3_manager service returns a new POpen3Manager instance 40: # for managing the execution of commands with a popen3-type 41: # interface. 42: ns.popen3_manager do |c,p| 43: require 'net/ssh/service/process/popen3' 44: connection = c[:connection][:driver] 45: log = c[:log_for, p] 46: POpen3Manager.new( connection, log ) 47: end 48: 49: # The :driver controls access to all remote process management 50: # services. 51: ns.driver do |c,p| 52: require 'net/ssh/service/process/driver' 53: Driver.new( c[:connection][:driver], 54: c[:log_for, p], 55: :open => c[:open_manager], 56: :popen3 => c[:popen3_manager] ) 57: end 58: 59: end 60: end