/// <summary> /// Construct a new Remote Setting instance with values taken from the initializer. /// </summary> /// <param name="initializer">Values with which to initialize</param> public RemoteSettings(RemoteSettingsInitializer initializer) { initializer.FillWithDefaults(); scopeParserFactory = initializer.ScopeParserFactory; nonScopedStorageHandler = initializer.NonScopedRemoteSettingsStorageHandler; foreach (IScopeFilterProvider scopeFilterProvider in initializer.ScopeFilterProviders) { RegisterFilterProvider(scopeFilterProvider); } remoteSettingsProviders = initializer.RemoteSettingsProviders.Select((Func <RemoteSettingsInitializer, IRemoteSettingsProvider> x) => x(initializer)).ToList(); stableRemoteSettingProvider = initializer.StableRemoteSettingsProvider(initializer); isUpdateDisabled = initializer.IsUpdatedDisabled; logger = initializer.RemoteSettingsLogger; }
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); }
public RemoteSettingsProviderBase(IRemoteSettingsStorageHandler remoteSettingsStorageHandler, IRemoteSettingsLogger logger = null) { currentStorageHandler = remoteSettingsStorageHandler; this.logger = logger; }