using System;
using System.Collections.Generic;
using System.Text;
using Renci.SshNet.Common;
using Renci.SshNet.Messages.Authentication;
using Renci.SshNet.Messages.Connection;
namespace Renci.SshNet
{
internal interface IConnectionInfoInternal : IConnectionInfo
{
///
/// Signals that an authentication banner message was received from the server.
///
/// The session in which the banner message was received.
/// The banner message.
void UserAuthenticationBannerReceived(object sender, MessageEventArgs e);
///
/// Gets the supported authentication methods for this connection.
///
///
/// The supported authentication methods for this connection.
///
IList AuthenticationMethods { get; }
///
/// Creates a for the credentials represented
/// by the current .
///
///
/// A for the credentials represented by the
/// current .
///
IAuthenticationMethod CreateNoneAuthenticationMethod();
}
///
/// Represents remote connection information.
///
internal interface IConnectionInfo
{
///
/// Gets the timeout to used when waiting for a server to acknowledge closing a channel.
///
///
/// The channel close timeout. The default value is 1 second.
///
///
/// If a server does not send a SSH2_MSG_CHANNEL_CLOSE message before the specified timeout
/// elapses, the channel will be closed immediately.
///
TimeSpan ChannelCloseTimeout { get; }
///
/// Gets the supported channel requests for this connection.
///
///
/// The supported channel requests for this connection.
///
IDictionary ChannelRequests { get; }
///
/// Gets the character encoding.
///
///
/// The character encoding.
///
Encoding Encoding { get; }
///
/// Gets connection host.
///
///
/// The connection host.
///
string Host { get; }
///
/// Gets connection port.
///
///
/// The connection port. The default value is 22.
///
int Port { get; }
///
/// Gets proxy type.
///
///
/// The type of the proxy.
///
ProxyTypes ProxyType { get; }
///
/// Gets proxy connection host.
///
string ProxyHost { get; }
///
/// Gets proxy connection port.
///
int ProxyPort { get; }
///
/// Gets proxy connection username.
///
string ProxyUsername { get; }
///
/// Gets proxy connection password.
///
string ProxyPassword { get; }
///
/// Gets the number of retry attempts when session channel creation failed.
///
///
/// The number of retry attempts when session channel creation failed.
///
int RetryAttempts { get; }
///
/// Gets the connection timeout.
///
///
/// The connection timeout. The default value is 30 seconds.
///
///
///
///
TimeSpan Timeout { get; }
///
/// Occurs when authentication banner is sent by the server.
///
event EventHandler AuthenticationBanner;
}
}