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; } } }