IW4M-Admin/SharedLibraryCore/Interfaces/IManager.cs

38 lines
1.2 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using System.Threading.Tasks;
2018-04-08 02:44:42 -04:00
using SharedLibraryCore.Objects;
using SharedLibraryCore.Services;
using SharedLibraryCore.Configuration;
2018-04-08 02:44:42 -04:00
namespace SharedLibraryCore.Interfaces
{
public interface IManager
{
2018-03-06 02:22:19 -05:00
Task Init();
void Start();
void Stop();
2017-05-27 19:29:20 -04:00
ILogger GetLogger();
IList<Server> GetServers();
IList<Command> GetCommands();
IList<Helpers.MessageToken> GetMessageTokens();
IList<Player> GetActiveClients();
IConfigurationHandler<ApplicationConfiguration> GetApplicationSettings();
2018-03-06 02:22:19 -05:00
ClientService GetClientService();
AliasService GetAliasService();
PenaltyService GetPenaltyService();
IDictionary<int, Player> GetPrivilegedClients();
IEventApi GetEventApi();
/// <summary>
/// Get the event handlers
/// </summary>
/// <returns>EventHandler for the manager</returns>
IEventHandler GetEventHandler();
/// <summary>
/// Signal to the manager that event(s) needs to be processed
/// </summary>
void SetHasEvent();
bool ShutdownRequested();
}
}