#ifndef ReiserFileSystem_H
#define ReiserFileSystem_H
#include "IFileSystem.h"
#include "ReiserDiskAccess.h"
class ReiserFsPartition;
class ReiserFileSystem : public IFileSystem
{
public:
ReiserFileSystem(const DWORD disk, const LONGLONG startingOffset, const LONGLONG length);
virtual ~ReiserFileSystem();
// IFileSystem implementation
virtual HANDLE OpenFile(LPCTSTR szFilename) const;
virtual void ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD NumberOfBytesToRead, DWORD& NumberOfBytesRead) const;
virtual void CloseFile(HANDLE hFile) const;
virtual HANDLE FindFirstFile(LPCTSTR szPath) const;
virtual bool FindNextFile(HANDLE hFind, UNIX_FILEINFO& FileInfo) const;
virtual void CloseFind(HANDLE hFind) const;
protected:
void MakeSurePartitionIsOpen(); // CONST SUCKS!
ReiserDiskAccess m_Disk;
ReiserFsPartition* m_Partition;
};
#endif // ReiserFileSystem_H
syntax highlighted by Code2HTML, v. 0.9.1