Esempio n. 1
0
        private HEDFormat LoadHeader()
        {
            int Bak = Open;

            Open = -1;
            foreach (string FileName in ListFiles())
            {
                Stream       File = OpenFile(FileName);
                StructReader Temp = new StructReader(File);
                Temp.BaseStream.Position = 0;
                if (Temp.ReadString(StringStyle.CString) != "HED")
                {
                    continue;
                }
                Temp.BaseStream.Position = 0;

                var Header = new HEDFormat();
                Temp.ReadStruct(ref Header);

                if (LBA[Bak].BaseStream.Length == Header.LBALength)
                {
                    Open = Bak;
                    return(Header);
                }
            }
            Open = Bak;
            throw new Exception("Failed to Open LBA Header");
        }
Esempio n. 2
0
        public string[] ListFiles()
        {
            if (Open == -1)
            {
                BIN.BaseStream.Position = 0;
                var tmp = new BINHeader();
                BIN.ReadStruct(ref tmp);
                return((from x in tmp.Offsets select GetFileName(x)).ToArray());
            }

            HEDFormat Header = LoadHeader();

            return((from x in Header.Offsets select GetFileName(x)).ToArray());
        }