/// <summary> /// Registers resources that classes will depend on /// </summary> protected override async Task RegisterResources(IProgress <double> progress) { ReloadApiClient(); await base.RegisterResources(progress).ConfigureAwait(false); RegisterSingleInstance <ITheaterApplicationHost>(this); MediaFilters = new MediaFilters(HttpClient, Logger); RegisterSingleInstance(MediaFilters); ThemeManager = new ThemeManager(() => PresentationManager, Logger); RegisterSingleInstance(ThemeManager); PresentationManager = new TheaterApplicationWindow(Logger, ThemeManager, ApiClient, () => SessionManager, TheaterConfigurationManager); RegisterSingleInstance(PresentationManager); RegisterSingleInstance(ApplicationPaths); RegisterSingleInstance <ITheaterConfigurationManager>(TheaterConfigurationManager); var hiddenWindow = new AppHiddenWIndow(); ImageManager = new ImageManager(ApiClient, ApplicationPaths, TheaterConfigurationManager); RegisterSingleInstance(ImageManager); NavigationService = new NavigationService(ThemeManager, () => PlaybackManager, ApiClient, PresentationManager, TheaterConfigurationManager, () => SessionManager, this, InstallationManager, ImageManager, Logger, () => UserInputManager, ApiWebSocket, hiddenWindow); RegisterSingleInstance(NavigationService); UserInputManager = new UserInputManager(PresentationManager, NavigationService, hiddenWindow, LogManager); RegisterSingleInstance(UserInputManager); PlaybackManager = new PlaybackManager(TheaterConfigurationManager, Logger, ApiClient, NavigationService, PresentationManager); RegisterSingleInstance(PlaybackManager); CommandManager = new CommandManager(PresentationManager, PlaybackManager, NavigationService, UserInputManager, LogManager); RegisterSingleInstance(CommandManager); SessionManager = new SessionManager(NavigationService, ApiClient, Logger, ThemeManager, TheaterConfigurationManager, PlaybackManager); RegisterSingleInstance(SessionManager); ScreensaverManager = new ScreensaverManager(UserInputManager, PresentationManager, PlaybackManager, SessionManager, ApiClient, TheaterConfigurationManager, LogManager, ApiWebSocket); RegisterSingleInstance(ScreensaverManager); RegisterSingleInstance(ApiClient); RegisterSingleInstance <IHiddenWindow>(hiddenWindow); RegisterSingleInstance <IServerEvents>(ApiWebSocket); }
/// <summary> /// Registers resources that classes will depend on /// </summary> protected override async Task RegisterResources() { ReloadApiClient(); await base.RegisterResources().ConfigureAwait(false); MediaFilters = new MediaFilters(HttpClient, Logger); ThemeManager = new ThemeManager(() => PresentationManager, Logger); RegisterSingleInstance(ThemeManager); PresentationManager = new TheaterApplicationWindow(Logger, ThemeManager, ApiClient, () => SessionManager); RegisterSingleInstance(PresentationManager); RegisterSingleInstance(ApplicationPaths); RegisterSingleInstance <ITheaterConfigurationManager>(TheaterConfigurationManager); ImageManager = new ImageManager(ApiClient, ApplicationPaths, TheaterConfigurationManager); RegisterSingleInstance(ImageManager); UserInputManager = new UserInputManager(); RegisterSingleInstance(UserInputManager); NavigationService = new NavigationService(ThemeManager, () => PlaybackManager, ApiClient, PresentationManager, TheaterConfigurationManager, () => SessionManager, this, InstallationManager, ImageManager, Logger, UserInputManager, ApiWebSocket); RegisterSingleInstance(NavigationService); PlaybackManager = new PlaybackManager(TheaterConfigurationManager, Logger, ApiClient, NavigationService, PresentationManager); RegisterSingleInstance(PlaybackManager); SessionManager = new SessionManager(NavigationService, ApiClient, Logger, ThemeManager, TheaterConfigurationManager, PlaybackManager); RegisterSingleInstance(SessionManager); RegisterSingleInstance(ApiClient); RegisterSingleInstance <IHiddenWindow>(new AppHiddenWIndow()); RegisterSingleInstance <IServerEvents>(ApiWebSocket); }