internal Firmware ( [NotNull] byte[] body, [NotNull] FirmwareImageBlocks imageBlocks, [NotNull] FirmwareStringBlocks stringBlocks, [NotNull] FirmwareDefinition definition, EncryptionType encryptionType ) { if (body == null) { throw new ArgumentNullException("body"); } if (imageBlocks == null) { throw new ArgumentNullException("imageBlocks"); } if (stringBlocks == null) { throw new ArgumentNullException("stringBlocks"); } if (definition == null) { throw new ArgumentNullException("definition"); } Definition = definition; EncryptionType = encryptionType; m_bodyStream = new FirmwareStream(body); m_imageBlocks = imageBlocks; m_stringBlocks = stringBlocks; }
public PatchUpdatesAvailableWindow([NotNull] FirmwareDefinition definition, [NotNull] IEnumerable<GitHubApi.GitHubFileInfo> newPatches) { if (definition == null) throw new ArgumentNullException("definition"); if (newPatches == null) throw new ArgumentNullException("newPatches"); m_definition = definition; m_newPatches = newPatches; InitializeComponent(); InitializeControls(); }
public Firmware TryLoadUsingDefinition([NotNull] string filePath, [NotNull] FirmwareDefinition definition) { var bytes = LoadFile(filePath); try { return(Load(bytes, definition)); } catch { return(null); } }
private Firmware Load([NotNull] byte[] data, [NotNull] FirmwareDefinition definition, bool isEncrypted) { if (data == null) { throw new ArgumentNullException("data"); } if (definition == null) { throw new ArgumentNullException("definition"); } var imageBlocks = LoadImageBlocks(data, definition); var stringBlocks = LoadStringBlocks(data, definition); return(new Firmware(data, imageBlocks, stringBlocks, definition, isEncrypted)); }
internal FirmwareStringBlocks LoadStringBlocks([NotNull] byte[] firmware, [NotNull] FirmwareDefinition definition) { if (firmware == null) { throw new ArgumentNullException("firmware"); } if (definition == null) { throw new ArgumentNullException("definition"); } using (var ms = new MemoryStream(firmware)) { using (var reader = new BinaryReader(ms)) { var block1String = ReadStringTable(definition.StringTable1, reader); var block2Strings = ReadStringTable(definition.StringTable2, reader, 1024); return(new FirmwareStringBlocks(block1String, block2Strings)); } } }
internal FirmwareImageBlocks LoadImageBlocks([NotNull] byte[] firmware, [NotNull] FirmwareDefinition definition) { if (firmware == null) { throw new ArgumentNullException("firmware"); } if (definition == null) { throw new ArgumentNullException("definition"); } using (var ms = new MemoryStream(firmware)) { using (var reader = new BinaryReader(ms)) { var block1Images = ReadImageTable <FirmwareImage1Metadata>(definition.ImageTable1, reader).ToDictionary(x => x.Index, x => x); var block2Images = ReadImageTable <FirmwareImage2Metadata>(definition.ImageTable2, reader).ToDictionary(x => x.Index, x => x); return(new FirmwareImageBlocks(block1Images, block2Images)); } } }
public Firmware TryLoadUsingDefinition([NotNull] string filePath, [NotNull] FirmwareDefinition definition) { return(TryLoad(filePath, new[] { definition })); }
public static string GetPatchDirectoryPath(FirmwareDefinition definition) { if (definition == null) throw new ArgumentNullException("definition"); return Path.Combine(Paths.PatchDirectory, definition.Name); }