private static bool CanDelete(UserFriendlySettingsLayer.Identity layer) { if (layer.CharacteristicMount == null) { return(false); } // Look for our metadata id to see if we should prevent deletion var metadata = layer.CharacteristicMount.Metadata; return(!metadata.TryGet(SettingsLoader.IsNonUserEditable)); }
private static bool CanReset(UserFriendlySettingsLayer.Identity layer) { if (layer.CharacteristicMount == null) { return(false); } // Look for our metadata id to see if we should prevent reset var metadata = layer.CharacteristicMount.Metadata; return(!metadata.TryGet(TemplatesLoader.PreventReset)); }
private void MountSettingsFile(Lifetime lifetime, string pluginId, FileSystemPath path, UserFriendlySettingsLayer.Identity hostId, IThreading threading, IFileSystemTracker filetracker, FileSettingsStorageBehavior behavior, UserInjectedSettingsLayers userInjectedSettingsLayers) { var id = string.Format("extension::{0}-{1}", pluginId, path.Name); var persistentId = new LayerId(id); var pathAsProperty = new Property <FileSystemPath>(lifetime, "InjectedFileStoragePath", path); var serialization = CreateXmlFileSettingsStorage(lifetime, threading, filetracker, behavior, id, pathAsProperty); var descriptor = new LayerDescriptor(lifetime, hostId, persistentId, serialization.Storage, MountPath.Default, () => { }); descriptor.InitialMetadata.Set(UserFriendlySettingsLayers.DisplayName, string.Format("{0} » {1}", pluginId, path.NameWithoutExtension)); descriptor.InitialMetadata.Set(UserFriendlySettingsLayers.Origin, string.Format("Published by plugin: {0}", pluginId)); descriptor.InitialMetadata.Set(UserFriendlySettingsLayers.DiskFilePath, path); descriptor.InitialMetadata.Set(IsNonUserEditable, true); userInjectedSettingsLayers.RegisterUserInjectedLayer(lifetime, descriptor); }