public Archive(string path) : this(Enumerable.Empty<BaseFileEntry>()) { using(var fStream = new FileStream(path, FileMode.Open)) { while(true) { var fileEntry = new BaseFileEntry(fStream); if(!fileEntry.IsTrailer) { entries.Add(fileEntry); } else { break; } } } }
protected BaseFileEntry(BaseFileEntry entry) { Uid = entry.Uid; Gid = entry.Gid; ModificationDate = entry.ModificationDate; Path = entry.Path; IsTrailer = entry.IsTrailer; RawInodeNumber = entry.RawInodeNumber; RawContents = entry.RawContents; RawPermissions = entry.RawPermissions; RawNumberOfLinks = entry.RawNumberOfLinks; RawDeviceMajorNumber = entry.RawDeviceMajorNumber; RawDeviceMinorNumber = entry.RawDeviceMinorNumber; RawHoldingDeviceMajor = entry.RawHoldingDeviceMajor; RawHoldingDeviceMinor = entry.RawHoldingDeviceMinor; }
internal RawFileEntry(BaseFileEntry baseOn) : base(baseOn) { }