public void Parse(Stream hs) { while (true) { PropertyID propertyID = GetPropertyID(this, hs); switch (propertyID) { case PropertyID.kPackInfo: PackInfo = new PackInfo(); PackInfo.Parse(hs); break; case PropertyID.kUnPackInfo: UnPackInfo = new UnPackInfo(); UnPackInfo.Parse(hs); break; case PropertyID.kSubStreamsInfo: if (UnPackInfo == null) { Trace.TraceWarning("SubStreamsInfo block found, yet no UnPackInfo block has been parsed so far."); UnPackInfo = new UnPackInfo(); } SubStreamsInfo = new SubStreamsInfo(UnPackInfo); SubStreamsInfo.Parse(hs); break; case PropertyID.kEnd: return; default: throw new NotImplementedException(propertyID.ToString()); } } }
public Digests Digests; // [Number of streams with unknown CRCs] public SubStreamsInfo(UnPackInfo unPackInfo) { this.unPackInfo = unPackInfo; this.NumUnPackStreamsInFolders = new UInt64[0]; this.NumUnPackStreamsTotal = 0; this.UnPackSizes = new List <UInt64>(); this.Digests = new Digests(0); }
public Digests Digests; // [Number of streams with unknown CRCs] public SubStreamsInfo(UnPackInfo unPackInfo) { this.unPackInfo = unPackInfo; NumUnPackStreamsInFolders = new ulong[0]; NumUnPackStreamsTotal = 0; UnPackSizes = new List <ulong>(); Digests = new Digests(0); }
public StreamsInfo() { PackInfo = null; UnPackInfo = null; SubStreamsInfo = null; }