using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SuperSocket.SocketBase.Protocol;
namespace SuperSocket.SocketBase.Command
{
///
/// Command base class
///
/// The type of the app session.
/// The type of the request info.
public abstract class CommandBase : ICommand
where TAppSession : IAppSession, IAppSession, new()
where TRequestInfo : IRequestInfo
{
#region ICommand Members
///
/// Executes the command.
///
/// The session.
/// The request info.
public abstract void ExecuteCommand(TAppSession session, TRequestInfo requestInfo);
#endregion
#region ICommand Members
///
/// Gets the name.
///
public virtual string Name
{
get { return this.GetType().Name; }
}
#endregion
///
/// Returns a that represents this instance.
///
///
/// A that represents this instance.
///
public override string ToString()
{
return this.GetType().AssemblyQualifiedName;
}
}
}