protected override byte[] makeHeader(MyArchiveFileHeader rawHeader, out byte basicType) { basicType = 1; var headerLength = rawHeader.RawHeader.Length; byte[] data = rawHeader.RawHeader.ToArray(); translate(ref data); return(data); }
public bool GetHeader(out HeaderInfo header) { if (headerLoaded) { header = new HeaderInfo(this.header); return(true); } else { var result = loadHeader(); header = new HeaderInfo(this.header); return(result); } }
public void Assemble(out byte[] data, out MyArchiveFileHeader header) { data = new byte[DataLength]; header = new MyArchiveFileHeader(); int position; int length; foreach (DataBlock block in blocks) { position = block.Position; length = block.Length; header.Add(block.FileName, position, length); Array.Copy(block.Data, 0, data, position, length); } }
protected bool loadHeader() { if (isDisposed) { throw new InvalidOperationException(); } if (headerLoaded || !File.Exists(archive.FilePath)) { return(false); } try { header = new MyArchiveFileHeader(); readHeader(); headerLoaded = true; return(true); } catch (Exception) { return(false); } }
protected virtual byte[] makeHeader(MyArchiveFileHeader rawHeader, out byte basicType) { basicType = 0; return(rawHeader.RawHeader.ToArray()); }