/// <summary> /// Fill empty properties with default values without overriding initialized fields. /// </summary> /// <returns>Instance of the experimentation initializer</returns> public ExperimentationServiceInitializer FillWithDefaults() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown if (RegistryTools == null) { RegistryTools = (IRegistryTools3)(object)new RegistryTools(); } if (ExperimentationFilterProvider == null) { ExperimentationFilterProvider = new DefaultExperimentationFilterProvider(TelemetryService.DefaultSession); } if (ExperimentationTelemetry == null) { ExperimentationTelemetry = new DefaultExperimentationTelemetry(TelemetryService.DefaultSession); } if (KeyValueStorage == null) { KeyValueStorage = new DefaultRegistryKeyValueStorage(RegistryTools); } if (ShippedRemoteFileReaderFactory == null) { ShippedRemoteFileReaderFactory = new ShippedFlightsRemoteFileReaderFactory(); } if (DisabledSetRemoteFileReaderFactory == null) { DisabledSetRemoteFileReaderFactory = new DisabledFlightsRemoteFileReaderFactory(); } if (FlightsStreamParser == null) { FlightsStreamParser = new JsonFlightsStreamParser(); } if (HttpWebRequestFactory == null) { HttpWebRequestFactory = new HttpWebRequestFactory(); } if (ExperimentationOptinStatusReader == null) { ExperimentationOptinStatusReader = new DefaultExperimentationOptinStatusReader(TelemetryService.DefaultSession, (IRegistryTools)(object)RegistryTools); } if (SetFlightsProvider == null) { SetFlightsProvider = new SetFlightsProvider(KeyValueStorage, setFlightsKey); } if (FlightsProvider == null) { RemoteFlightsProvider <ShippedFlightsData> remoteFlightsProvider = new RemoteFlightsProvider <ShippedFlightsData>(KeyValueStorage, shippedFlightsKey, ShippedRemoteFileReaderFactory, FlightsStreamParser); FlightsProvider = new MasterFlightsProvider(new IFlightsProvider[4] { new LocalFlightsProvider(KeyValueStorage, localTestFlightsPathSuffix + enabledFlightsKey), remoteFlightsProvider, new AFDFlightsProvider(KeyValueStorage, enabledFlightsKey, FlightsStreamParser, ExperimentationFilterProvider, HttpWebRequestFactory), SetFlightsProvider }, new IFlightsProvider[2] { new LocalFlightsProvider(KeyValueStorage, localTestFlightsPathSuffix + disabledFlightsKey), new RemoteFlightsProvider <DisabledFlightsData>(KeyValueStorage, disabledFlightsKey, DisabledSetRemoteFileReaderFactory, FlightsStreamParser) }, remoteFlightsProvider, ExperimentationOptinStatusReader); } return(this); }
internal RemoteSettingsInitializer FillWithDefaults() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown if (!UsePathPrefix.HasValue) { UsePathPrefix = true; } if (RemoteSettingsFileName == null) { RemoteSettingsFileName = "Default.json"; } if (KeyValueStorage == null) { KeyValueStorage = new DefaultRegistryKeyValueStorage((IRegistryTools3)(object)new RegistryTools()); } if (FilterProvider == null) { FilterProvider = new DefaultRemoteSettingsFilterProvider(TelemetryService.DefaultSession); } if (RemoteSettingsLogger == null) { RemoteSettingsLogger = new RemoteSettingsLogger(FilterProvider, RemoteSettingsStorageHandlerFactory.BuildIsLoggingEnabled(KeyValueStorage, UsePathPrefix.HasValue && UsePathPrefix.Value)()); } if (ScopeParserFactory == null) { ScopeParserFactory = new ScopeParserFactory(this); } RemoteSettingsStorageHandlerFactory remoteSettingsStorageHandlerFactory = new RemoteSettingsStorageHandlerFactory(RemoteSettingsLogger); if (VersionedRemoteSettingsStorageHandler == null) { VersionedRemoteSettingsStorageHandler = remoteSettingsStorageHandlerFactory.BuildVersioned(KeyValueStorage, UsePathPrefix.HasValue && UsePathPrefix.Value, RemoteSettingsFileName, ScopeParserFactory); } if (CacheableRemoteSettingsStorageHandler == null) { CacheableRemoteSettingsStorageHandler = remoteSettingsStorageHandlerFactory.Build(KeyValueStorage, UsePathPrefix.HasValue && UsePathPrefix.Value, FilterProvider, ScopeParserFactory); } if (LocalTestRemoteSettingsStorageHandler == null) { LocalTestRemoteSettingsStorageHandler = remoteSettingsStorageHandlerFactory.Build(KeyValueStorage, UsePathPrefix.HasValue && UsePathPrefix.Value, "LocalTest", ScopeParserFactory); } if (LiveRemoteSettingsStorageHandlerFactory == null) { LiveRemoteSettingsStorageHandlerFactory = (() => remoteSettingsStorageHandlerFactory.Build(new MemoryKeyValueStorage(), false, string.Empty, ScopeParserFactory)); } if (NonScopedRemoteSettingsStorageHandler == null && NonScopedSettingsKeyValueStorage != null) { NonScopedRemoteSettingsStorageHandler = remoteSettingsStorageHandlerFactory.Build(NonScopedSettingsKeyValueStorage, false, string.Empty, ScopeParserFactory); } if (IsUpdatedDisabled == null) { IsUpdatedDisabled = RemoteSettingsStorageHandlerFactory.BuildIsUpdateDisabled(KeyValueStorage, UsePathPrefix.HasValue && UsePathPrefix.Value); } if (RemoteFileReaderFactory == null) { RemoteFileReaderFactory = new RemoteSettingsRemoteFileReaderFactory(RemoteSettingsFileName); } if (RemoteSettingsValidator == null) { RemoteSettingsValidator = new RemoteSettingsValidator(new CycleDetection(), VersionedRemoteSettingsStorageHandler); } if (RemoteSettingsParser == null) { RemoteSettingsParser = new RemoteSettingsParser(RemoteSettingsValidator); } if (TargetedNotificationsParser == null) { TargetedNotificationsParser = new TargetedNotificationsParser(); } if (ExperimentationService == null) { ExperimentationService = Coding4Fun.VisualStudio.Experimentation.ExperimentationService.Default; } if (ExperimentationService == null) { ExperimentationService = Coding4Fun.VisualStudio.Experimentation.ExperimentationService.Default; } if (TelemetryNotificationService == null) { TelemetryNotificationService = Coding4Fun.VisualStudio.Telemetry.Notification.TelemetryNotificationService.Default; } if (Telemetry == null) { Telemetry = new DefaultRemoteSettingsTelemetry(TelemetryService.DefaultSession); } if (TargetedNotificationsTelemetry == null) { TargetedNotificationsTelemetry = new DefaultTargetedNotificationsTelemetry(TelemetryService.DefaultSession); } if (TargetedNotificationsCacheStorage == null) { TargetedNotificationsCacheStorage = new TargetedNotificationsJsonStorageProvider(this); } if (HttpWebRequestFactory == null) { HttpWebRequestFactory = new HttpWebRequestFactory(); } if (ScopeFilterProviders == null) { new ProcessInformationProvider(); ScopeFilterProviders = new List <IScopeFilterProvider> { new FlightScopeFilterProvider(ExperimentationService), new InternalScopeFilterProvider(TelemetryService.DefaultSession), new VersionScopeFilterProvider(FilterProvider), new ExeNameScopeFilterProvider(FilterProvider), new ScopeScopeFilterProvider(VersionedRemoteSettingsStorageHandler, ScopeParserFactory) }; } if (RemoteSettingsProviders == null) { RemoteSettingsProviders = new List <Func <RemoteSettingsInitializer, IRemoteSettingsProvider> > { (RemoteSettingsInitializer remoteSettingsInitializer) => new LocalTestProvider(remoteSettingsInitializer), (RemoteSettingsInitializer remoteSettingsInitializer) => new TargetedNotificationsProvider(remoteSettingsInitializer), (RemoteSettingsInitializer remoteSettingsInitializer) => new RemoteControlRemoteSettingsProvider(remoteSettingsInitializer) }; } if (LocalTestDirectories == null) { string rootPath = Path.Combine(GetLocalAppDataRoot(), "LocalTest"); LocalTestDirectories = new List <IDirectoryReader> { new DirectoryReader(rootPath, "PersistentActions", false, 0, RemoteSettingsLogger), new DirectoryReader(rootPath, "OneTimeActions", true, 10, RemoteSettingsLogger) }; } if (LocalTestParser == null) { LocalTestParser = new LocalTestParser(); } if (StableRemoteSettingsProvider == null) { StableRemoteSettingsProvider = ((RemoteSettingsInitializer remoteSettingsInitializer) => new StableRemoteSettingsProvider(remoteSettingsInitializer)); } if (StableSettingRootSubCollections == null) { StableSettingRootSubCollections = Enumerable.Empty <string>(); } return(this); }