using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SuperSocket.SocketBase.Logging;
using SuperSocket.SocketBase.Command;
using SuperSocket.SocketBase.Protocol;
namespace SuperSocket.SocketBase.Provider
{
///
/// ProviderKey
///
[Serializable]
public class ProviderKey
{
///
/// Gets or sets the name.
///
///
/// The name.
///
public string Name { get; private set; }
///
/// Gets or sets the type.
///
///
/// The type.
///
public Type Type { get; private set; }
private ProviderKey()
{
}
static ProviderKey()
{
ServerType = new ProviderKey { Name = "ServerType", Type = typeof(IAppServer) };
SocketServerFactory = new ProviderKey { Name = "SocketServerFactory", Type = typeof(ISocketServerFactory) };
ConnectionFilter = new ProviderKey { Name = "ConnectionFilter", Type = typeof(IConnectionFilter) };
LogFactory = new ProviderKey { Name = "LogFactory", Type = typeof(ILogFactory) };
ReceiveFilterFactory = new ProviderKey { Name = "ReceiveFilterFactory", Type = typeof(IReceiveFilterFactory) };
CommandLoader = new ProviderKey { Name = "CommandLoader", Type = typeof(ICommandLoader) };
}
///
/// Gets the service.
///
public static ProviderKey ServerType { get; private set; }
///
/// Gets the socket server factory.
///
public static ProviderKey SocketServerFactory { get; private set; }
///
/// Gets the connection filter.
///
public static ProviderKey ConnectionFilter { get; private set; }
///
/// Gets the log factory.
///
public static ProviderKey LogFactory { get; private set; }
///
/// Gets the Receive filter factory.
///
public static ProviderKey ReceiveFilterFactory { get; private set; }
///
/// Gets the command loader.
///
public static ProviderKey CommandLoader { get; private set; }
}
}