//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- protected SshConnectionBase( string username, IPEndPoint endpoint, ISshKey key, ReceiveDataHandler receiveHandler, ReceiveErrorHandler receiveErrorHandler) : base(username, endpoint, key) { this.receiveDataHandler = receiveHandler; this.receiveErrorHandler = receiveErrorHandler; }
//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- protected SshConnectionBase( string username, IPEndPoint endpoint, ISshKey key, ReceiveStringDataHandler receiveHandler, ReceiveErrorHandler receiveErrorHandler, Encoding dataEncoding) : base(username, endpoint, key) { this.receiveDecoder = new StreamingDecoder( dataEncoding, s => receiveHandler(s)); this.receiveDataHandler = (buf, offset, count) => this.receiveDecoder.Decode(buf, (int)offset, (int)count); this.receiveErrorHandler = receiveErrorHandler; }
//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- public SshShellConnection( string username, IPEndPoint endpoint, ISshKey key, string terminal, TerminalSize terminalSize, CultureInfo language, ReceiveStringDataHandler receiveDataHandler, ReceiveErrorHandler receiveErrorHandler) : base( username, endpoint, key, (buf, offset, count) => // TODO: handle partial UTF-8 sequences receiveDataHandler(Encoding.GetString(buf, (int)offset, (int)count)), receiveErrorHandler) { this.terminal = terminal; this.terminalSize = terminalSize; this.language = language; }
//--------------------------------------------------------------------- // Ctor. //--------------------------------------------------------------------- public SshShellConnection( string username, IPEndPoint endpoint, ISshKey key, string terminal, TerminalSize terminalSize, CultureInfo language, ReceiveStringDataHandler receiveDataHandler, ReceiveErrorHandler receiveErrorHandler) : base( username, endpoint, key, receiveDataHandler, receiveErrorHandler, Encoding) { this.terminal = terminal; this.terminalSize = terminalSize; this.language = language; }