Exemplo 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");
        }