using System.Collections.Generic; using System.Threading.Tasks; using SharedLibraryCore.Objects; using SharedLibraryCore.Services; using SharedLibraryCore.Configuration; using System.Reflection; namespace SharedLibraryCore.Interfaces { public interface IManager { Task Init(); void Start(); void Stop(); ILogger GetLogger(int serverId); IList GetServers(); IList GetCommands(); IList GetMessageTokens(); IList GetActiveClients(); IConfigurationHandler GetApplicationSettings(); ClientService GetClientService(); AliasService GetAliasService(); PenaltyService GetPenaltyService(); IDictionary GetPrivilegedClients(); /// /// Get the event handlers /// /// EventHandler for the manager IEventHandler GetEventHandler(); /// /// Signal to the manager that event(s) needs to be processed /// void SetHasEvent(); bool ShutdownRequested(); IList GetPluginAssemblies(); /// /// provides a page list to add and remove from /// /// IPageList GetPageList(); string Version { get;} } }