2017-06-01 12:42:28 -05:00
|
|
|
|
using System.Collections.Generic;
|
2018-04-08 13:48:40 -05:00
|
|
|
|
using System.Threading.Tasks;
|
2018-04-08 01:44:42 -05:00
|
|
|
|
using SharedLibraryCore.Services;
|
|
|
|
|
using SharedLibraryCore.Configuration;
|
2018-05-28 20:30:31 -05:00
|
|
|
|
using System.Reflection;
|
2018-11-05 21:01:29 -06:00
|
|
|
|
using SharedLibraryCore.Database.Models;
|
2019-05-08 20:34:17 -05:00
|
|
|
|
using System.Threading;
|
2017-05-26 17:49:27 -05:00
|
|
|
|
|
2018-04-08 01:44:42 -05:00
|
|
|
|
namespace SharedLibraryCore.Interfaces
|
2017-05-26 17:49:27 -05:00
|
|
|
|
{
|
|
|
|
|
public interface IManager
|
|
|
|
|
{
|
2018-03-06 01:22:19 -06:00
|
|
|
|
Task Init();
|
2019-05-08 20:34:17 -05:00
|
|
|
|
Task Start();
|
2017-05-26 17:49:27 -05:00
|
|
|
|
void Stop();
|
2019-05-08 20:34:17 -05:00
|
|
|
|
void Restart();
|
2018-11-27 18:31:48 -06:00
|
|
|
|
ILogger GetLogger(long serverId);
|
2017-09-29 21:42:24 -05:00
|
|
|
|
IList<Server> GetServers();
|
|
|
|
|
IList<Command> GetCommands();
|
2017-06-12 17:47:31 -04:00
|
|
|
|
IList<Helpers.MessageToken> GetMessageTokens();
|
2018-11-05 21:01:29 -06:00
|
|
|
|
IList<EFClient> GetActiveClients();
|
2018-03-18 21:25:11 -05:00
|
|
|
|
IConfigurationHandler<ApplicationConfiguration> GetApplicationSettings();
|
2018-03-06 01:22:19 -06:00
|
|
|
|
ClientService GetClientService();
|
2017-11-25 19:29:58 -06:00
|
|
|
|
AliasService GetAliasService();
|
|
|
|
|
PenaltyService GetPenaltyService();
|
2018-04-26 01:13:04 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Get the event handlers
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>EventHandler for the manager</returns>
|
|
|
|
|
IEventHandler GetEventHandler();
|
2018-05-28 20:30:31 -05:00
|
|
|
|
IList<Assembly> GetPluginAssemblies();
|
2018-08-03 17:10:20 -05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// provides a page list to add and remove from
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
IPageList GetPageList();
|
2019-01-26 20:33:37 -06:00
|
|
|
|
IList<IRConParser> AdditionalRConParsers { get; }
|
|
|
|
|
IList<IEventParser> AdditionalEventParsers { get; }
|
|
|
|
|
IRConParser GenerateDynamicRConParser();
|
|
|
|
|
IEventParser GenerateDynamicEventParser();
|
2018-09-16 15:34:16 -05:00
|
|
|
|
string Version { get;}
|
2019-02-15 22:19:59 -06:00
|
|
|
|
ITokenAuthentication TokenAuthenticator { get; }
|
2019-04-08 12:29:48 -05:00
|
|
|
|
string ExternalIPAddress { get; }
|
2019-05-08 20:34:17 -05:00
|
|
|
|
CancellationToken CancellationToken { get; }
|
|
|
|
|
bool IsRestartRequested { get; }
|
2017-05-26 17:49:27 -05:00
|
|
|
|
}
|
|
|
|
|
}
|