public TargetedNotificationsProvider(RemoteSettingsInitializer initializer) : base(initializer.CacheableRemoteSettingsStorageHandler, initializer) { webRequestFactory = initializer.HttpWebRequestFactory; notificationsParser = initializer.TargetedNotificationsParser; remoteSettingsFilterProvider = initializer.FilterProvider; }
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; }
/// <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 TargetedNotificationsJsonStorageProvider(RemoteSettingsInitializer initializer) { cacheDirectory = initializer.GetLocalAppDataRoot(); cacheFileFullPath = Path.Combine(cacheDirectory, "targetnote_v1.json"); telemetry = initializer.TargetedNotificationsTelemetry; cacheLock = new Lazy <Mutex>(delegate { try { return(new Mutex(false, "Global\\55F58BAB-BDB9-47D5-B85E-B4D8234E8FAA")); } catch (Exception exception) { string eventName = "VS/Core/TargetedNotifications/MutexFailure"; telemetry.PostCriticalFault(eventName, "Failed to create Mutex", exception); return(null); } }); }
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 TargetedNotificationsCacheProvider(bool enforceCourtesy, TargetedNotificationsProviderBase tnProvider, RemoteSettingsInitializer initializer) { this.enforceCourtesy = enforceCourtesy; this.tnProvider = tnProvider; Storage = initializer.TargetedNotificationsCacheStorage; telemetry = initializer.TargetedNotificationsTelemetry; responseUsesCachedRules = false; }
public ScopeParserFactory(RemoteSettingsInitializer initializer) { logger = initializer.RemoteSettingsLogger; }
public StableRemoteSettingsProvider(RemoteSettingsInitializer initializer) : base(initializer.LiveRemoteSettingsStorageHandlerFactory()) { stableSettingRootSubCollections = new HashSet <string>(initializer.StableSettingRootSubCollections); }
public LocalTestProvider(RemoteSettingsInitializer initializer) : base(initializer.LocalTestRemoteSettingsStorageHandler, initializer) { directories = initializer.LocalTestDirectories.OrderBy((IDirectoryReader x) => x.Priority); localTestParser = initializer.LocalTestParser; }