private void InternalRead(BinaryReader reader) { mHeader = reader.ReadStructure <CvmDirectoryListingHeader>(CvmDirectoryListingHeader.SIZE); mSubEntries = new CvmDirectoryListingEntry[mHeader.entryCount]; for (int i = 0; i < mHeader.entryCount; i++) { mSubEntries[i] = new CvmDirectoryListingEntry(reader, this); } reader.AlignPosition(16); for (int i = 0; i < mHeader.entryCount; i++) { if (i > 1 && mSubEntries[i].Flags.HasFlagUnchecked(RecordFlags.DirectoryRecord)) { mSubEntries[i].DirectoryListing = new CvmDirectoryListing(reader, mSubEntries[i]); } } }
internal CvmDirectoryListing(BinaryReader reader, CvmDirectoryListingEntry originEntry) { mOriginEntry = originEntry; InternalRead(reader); }