123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using SuperSocket.Common;
- using SuperSocket.SocketBase.Protocol;
- using SuperSocket.SocketBase.Config;
- namespace SuperSocket.SocketBase.Command
- {
- /// <summary>
- /// the empty basic interface for command loader
- /// </summary>
- public interface ICommandLoader
- {
- }
- /// <summary>
- /// Command loader's interface
- /// </summary>
- public interface ICommandLoader<TCommand> : ICommandLoader
- where TCommand : ICommand
- {
- /// <summary>
- /// Initializes the command loader by the root config and the server instance.
- /// </summary>
- /// <param name="rootConfig">The root config.</param>
- /// <param name="appServer">The app server.</param>
- /// <returns></returns>
- bool Initialize(IRootConfig rootConfig, IAppServer appServer);
- /// <summary>
- /// Tries to load commands.
- /// </summary>
- /// <param name="commands">The commands.</param>
- /// <returns></returns>
- bool TryLoadCommands(out IEnumerable<TCommand> commands);
- /// <summary>
- /// Occurs when [updated].
- /// </summary>
- event EventHandler<CommandUpdateEventArgs<TCommand>> Updated;
- /// <summary>
- /// Occurs when [error].
- /// </summary>
- event EventHandler<ErrorEventArgs> Error;
- }
- }
|