示例#1
0
            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);
            }
示例#2
0
 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);
                }
            }
示例#4
0
            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);
                }
            }
示例#5
0
 protected virtual byte[] makeHeader(MyArchiveFileHeader rawHeader, out byte basicType)
 {
     basicType = 0;
     return(rawHeader.RawHeader.ToArray());
 }