Esempio n. 1
0
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            Logger.Info("Starting service");

            _containerProvider = new UnityContainerProvider();

            LoadPlugins(_containerProvider);

            _apiServer     = _containerProvider.Resolve <IApiServer>();
            _apiClient     = _containerProvider.Resolve <IApiClient>();
            _engine        = _containerProvider.Resolve <IAudioEngine>();
            _updateService = _containerProvider.Resolve <IUpdateService>();

            await _apiServer.StartAsync();

            _settingsService = _containerProvider.Resolve <ISettingsService>();
            await _settingsService.LoadAsync().ConfigureAwait(false);

            if (_settingsService.GetSetting <bool>(Globals.SettingKeys.IsEngineRunning))
            {
                _engine.Start();
            }

            _updateTimer.Start();

            Logger.Info("Service started");
        }
Esempio n. 2
0
        private static void Init()
        {
            var container = UnityContainerProvider.Initialize();

            ModuleLoader.Initialize(container);
            var catalog = new ModuleCatalog();

            container.RegisterInstance <IModuleCatalog>(catalog, new ContainerControlledLifetimeManager());
            ModuleLoader.Run(container);

            FactoryDbContext.InitDatabase(false);
        }