protected override void ReadMetadataPartsFromImage() { base.ReadMetadataPartsFromImage(); var requestRootPointer = from row in Image.Rows.AsParallel() where row.FileName == "root" select new RootPointer(row); _rootPointer = requestRootPointer.FirstOrDefault(); if (_rootPointer == null) { throw new InvalidOperationException("Unsupported file structure. May be 8.0 format. RootPointer == null"); } lock (MetadataObjects) { MetadataObjects.Add(_rootPointer); } var requestRoot = from row in Image.Rows.AsParallel() where row.FileName.Contains(_rootPointer.MetadataPackageFileName.ToString()) select row; PackagePart = new Configuration(requestRoot.FirstOrDefault()); lock (MetadataObjects) { MetadataObjects.Add(PackagePart); } var requestVersion = from row in Image.Rows.AsParallel() where row.FileName == "version" select row; _version = new Version(requestVersion.FirstOrDefault()); lock (MetadataObjects) { MetadataObjects.Add(_version); } var requestVersions = from row in Image.Rows.AsParallel() where row.FileName == "versions" select row; _versions = new Versions(requestVersions.FirstOrDefault()); lock (MetadataObjects) { MetadataObjects.Add(_versions); } ReadMetadataObjects(); }
protected override void ReadMetadataPartsFromImage() { base.ReadMetadataPartsFromImage(); var requestUpdateInfo = from row in Image.Rows.AsParallel() where row.FileName == "UpdateInfo.inf" select new UpdateInfo(row); var updateInfo = requestUpdateInfo.FirstOrDefault(); lock (MetadataObjects) { MetadataObjects.Add(updateInfo); } }