Пример #1
0
        public override Boolean Merge(Operation operation)
        {
            if (!CanMerge)
            {
                return(false);
            }

            ExtraOperation other = operation as ExtraOperation;

            if (other == null)
            {
                return(false);
            }
            if (other.ExtraType != this.ExtraType)
            {
                return(false);
            }

            foreach (ExtraFile file in other.Files)
            {
                if (!this.Files.Contains(file))
                {
                    this.Files.Add(file);
                }
            }

            return(true);
        }
Пример #2
0
        private static Operation FromElementImpl(Group parent, XmlElement operationElement)
        {
            switch (operationElement.Name)
            {
            case "patch":
                return(new ResPatchOperation(parent, operationElement));

            case "file":
                return(new FileOperation(parent, operationElement));

            case "directory":
                return(new DirectoryOperation(parent, operationElement));

            case "extra":
                return(ExtraOperation.Create(parent, operationElement));

            case "cursorScheme":
                return(new CursorSchemeOperation(parent, operationElement));

            case "systemParameter":
                return(new SystemParameterOperation(parent, operationElement));

            case "fileType":
                return(new FileTypeOperation(parent, operationElement));

            case "registry":
                return(new RegistryOperation(parent, operationElement));

            case "program":
                return(new ProgramOperation(parent, operationElement));

            case "uxtheme":
                return(new UXThemeOperation(parent, operationElement));

            case "uninstallation":
                return(new UninstallationOperation(parent, operationElement));

            case "clearIconCache":
                return(new ClearIconCacheOperation(parent, operationElement));

            default:
                return(null);
            }
        }