public RemoteControlRemoteSettingsProvider(RemoteSettingsInitializer initializer) : base(initializer.VersionedRemoteSettingsStorageHandler, initializer.RemoteSettingsLogger) { remoteSettingsTelemetry = initializer.Telemetry; remoteSettingsStorageHandler = initializer.VersionedRemoteSettingsStorageHandler; fileName = initializer.RemoteSettingsFileName; remoteFileReader = new Lazy <IRemoteFileReader>(() => initializer.RemoteFileReaderFactory.Instance()); remoteSettingsParser = initializer.RemoteSettingsParser; scopeParserFactory = initializer.ScopeParserFactory; remoteSettingsValidator = initializer.RemoteSettingsValidator; }
public TargetedNotificationsProviderBase(IRemoteSettingsStorageHandler cacheableStorageHandler, RemoteSettingsInitializer initializer) : base(cacheableStorageHandler, initializer.RemoteSettingsLogger) { this.cacheableStorageHandler = cacheableStorageHandler; useCache = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "UseCache", true); enforceCourtesy = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "EnforceCourtesy", true); cacheTimeoutMs = GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "CacheTimeoutMs", 750); serviceQueryLoopTimeSpan = TimeSpan.FromMinutes(GetValueOrDefaultFromCacheableStorage("TargetedNotifications", "ServiceQueryLoopMinutes", 1440)); liveStorageHandler = initializer.LiveRemoteSettingsStorageHandlerFactory(); remoteSettingsParser = initializer.RemoteSettingsParser; remoteSettingsTelemetry = initializer.Telemetry; targetedNotificationsTelemetry = initializer.TargetedNotificationsTelemetry; experimentationService = initializer.ExperimentationService; telemetryNotificationService = initializer.TelemetryNotificationService; notificationAndCourtesyCache = new TargetedNotificationsCacheProvider(enforceCourtesy, this, initializer); }