public StartupManager( LykkeBalancesTimer lykkeBalancesTimer, ExternalBalancesTimer externalBalancesTimer, MarketMakerTimer marketMakerTimer, HedgingTimer hedgingTimer, SettlementsTimer settlementsTimer, InternalTraderTimer internalTraderTimer, PnLStopLossEngineTimer pnLStopLossEngineTimer, LykkeTradeSubscriber lykkeTradeSubscriber, B2C2QuoteSubscriber b2C2QuoteSubscriber, B2C2OrderBooksSubscriber b2C2OrderBooksSubscriber, QuoteSubscriber[] quoteSubscribers, InternalQuotePublisher internalQuotePublisher, InternalOrderBookPublisher internalOrderBookPublisher, LykkeTradeSubscriberMonitor lykkeTradeSubscriberMonitor, StorageMigrationService storageMigrationService, ITradeService tradeService) { _lykkeBalancesTimer = lykkeBalancesTimer; _externalBalancesTimer = externalBalancesTimer; _marketMakerTimer = marketMakerTimer; _hedgingTimer = hedgingTimer; _settlementsTimer = settlementsTimer; _internalTraderTimer = internalTraderTimer; _pnLStopLossEngineTimer = pnLStopLossEngineTimer; _lykkeTradeSubscriber = lykkeTradeSubscriber; _b2C2QuoteSubscriber = b2C2QuoteSubscriber; _b2C2OrderBooksSubscriber = b2C2OrderBooksSubscriber; _quoteSubscribers = quoteSubscribers; _internalQuotePublisher = internalQuotePublisher; _internalOrderBookPublisher = internalOrderBookPublisher; _lykkeTradeSubscriberMonitor = lykkeTradeSubscriberMonitor; _storageMigrationService = storageMigrationService; _tradeService = tradeService; }
// ReSharper disable once UnusedParameter.Local - Storage migration service is injected early to ensure it runs before anything else public CoreService(IKernel kernel, ILogger logger, StorageMigrationService _, ISettingsService settingsService, IPluginService pluginService, IRgbService rgbService, ISurfaceService surfaceService, IProfileService profileService, IModuleService moduleService) { Kernel = kernel; Constants.CorePluginInfo.Kernel = kernel; _logger = logger; _pluginService = pluginService; _rgbService = rgbService; _surfaceService = surfaceService; _profileService = profileService; _loggingLevel = settingsService.GetSetting("Core.LoggingLevel", LogEventLevel.Debug); _frameStopWatch = new Stopwatch(); UpdatePluginCache(); ConfigureJsonConvert(); _rgbService.Surface.Updating += SurfaceOnUpdating; _rgbService.Surface.Updated += SurfaceOnUpdated; _loggingLevel.SettingChanged += (sender, args) => ApplyLoggingLevel(); _pluginService.PluginEnabled += (sender, args) => UpdatePluginCache(); _pluginService.PluginDisabled += (sender, args) => UpdatePluginCache(); }