private SettingsStorageMountPoint CreateMountPoint(Lifetime lifetime, string name, double priority, IIsAvailable isAvailable, SettingsStorageProvidersCollection settingsStorageProviders) { var storage = SettingsStorageFactory.CreateStorage(lifetime, name, myLogger, myInternedKeyPaths); var mountPoint = new SettingsStorageMountPoint(storage, SettingsStorageMountPoint.MountPath.Default, MountPointFlags.IsDefaultValues, priority, isAvailable, name); settingsStorageProviders.MountPoints.Add(lifetime, mountPoint); settingsStorageProviders.Storages.Add(lifetime, storage); return(mountPoint); }
private static SettingsStorageMountPoint CreateMountPoint(Lifetime projectLifetime, IProject project, SettingsStorageProvidersCollection settingsStorageProviders, IShellLocks locks, ILogger logger, InternKeyPathComponent interned) { var storageName = $"Project {project.Name} (Unity)"; var storage = SettingsStorageFactory.CreateStorage(projectLifetime, storageName, logger, interned); var isAvailable = new IsAvailableByDataConstant <IProject>(projectLifetime, ProjectModelDataConstants.Project, project, locks); // Set at a priority less than the .csproj.dotSettings layer, so we can be overridden var priority = ProjectModelSettingsStorageMountPointPriorityClasses.ProjectShared * 0.9; var mountPoint = new SettingsStorageMountPoint(storage, SettingsStorageMountPoint.MountPath.Default, MountPointFlags.IsDefaultValues, priority, isAvailable, storageName); settingsStorageProviders.MountPoints.Add(projectLifetime, mountPoint); settingsStorageProviders.Storages.Add(projectLifetime, storage); return(mountPoint); }