diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs b/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs deleted file mode 100644 index 8c66b1c12..000000000 --- a/Software/Visual_Studio/Tango.PMR/ExtensionMethods/VersionPackageDescriptorExtensions.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Tango.PMR.FirmwareUpgrade; - -public static class VersionPackageDescriptorExtensions -{ - /// <summary> - /// Throws exception if the tfp package is invalid. - /// </summary> - /// <param name="descriptor">The descriptor.</param> - /// <exception cref="InvalidDataException"> - /// TFP package contains multiple MCU files. - /// or - /// TFP package MCU does specify any version. - /// or - /// </exception> - public static void Validate(this VersionPackageDescriptor descriptor) - { - if (descriptor.FileDescriptors.Where(x => x.Destination == VersionFileDestination.Mcu).Count() > 1) - { - throw new InvalidDataException("TFP package contains multiple MCU files."); - } - - if (descriptor.FileDescriptors.GroupBy(x => x.FileName).Any(x => x.Count() > 1)) - { - throw new InvalidDataException("The TPF package cannot contain duplicate file names."); - } - - foreach (var item in descriptor.FileDescriptors) - { - try - { - Version.Parse(item.Version); - } - catch - { - throw new InvalidDataException($"Invalid version ({item.Version}) for file '{item.FileName}'."); - } - } - } - - /// <summary> - /// Gets the MCU version. - /// </summary> - /// <param name="descriptor">The descriptor.</param> - /// <returns></returns> - public static Version GetMcuVersion(this VersionPackageDescriptor descriptor) - { - descriptor.Validate(); - - var mcuFile = descriptor.FileDescriptors.SingleOrDefault(x => x.Destination == VersionFileDestination.Mcu); - - if (mcuFile == null) - { - throw new FileNotFoundException("Could not retrieve TFP package version. MCU file not found."); - } - - return Version.Parse(mcuFile.Version); - } - - /// <summary> - /// Determines whether this package contains an MCU file. - /// </summary> - /// <param name="descriptor">The descriptor.</param> - public static bool ContainsMcu(this VersionPackageDescriptor descriptor) - { - return descriptor.FileDescriptors.Any(x => x.Destination == VersionFileDestination.Mcu); - } - - /// <summary> - /// Determines whether this package contains none MCU files. - /// </summary> - /// <param name="descriptor">The descriptor.</param> - public static bool ContainsNoneMcu(this VersionPackageDescriptor descriptor) - { - return descriptor.FileDescriptors.Any(x => x.Destination != VersionFileDestination.Mcu); - } -} - |
