namespace Aiwaz.Contracts { public interface IFile { byte[] Buffer { get; } uint BufferLength { get; } long BufferPosition { get; set; } string FileName { get; } bool Eof { get; } string ReadString(); float ReadFloat(); int ReadInt(); byte[] ReadDataArray(uint argBytes); void Rewind(); void SaveAs(string argFileName); }; public interface IFileSystem { void InitializeFromDirectory(string argDirectory); void InitializeFromZipFile(string argZipFile); IFile Open(string argFileName); }; }