Esempio n. 1
0
 /// <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;
 }