Exemplo n.º 1
0
            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));
            }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }