[Mona] 2004年大晦日にやっていた作業内容
ぼんやりとファイルシステムのインターフェースを考えていた。
まだ具体的な実装(FAT・ISO9660)とのすり合わせも何もしていないのでいろいろとまずいでしょう。
class FileSystem { public: virtual File* Open(const char* path, int mode) = 0; virtual bool CreateDirectory(const char* directory) = 0; virtual bool RemoveDirectory(const char* directory) = 0; virtual bool CreateFile(const char* path) = 0; virtual bool RemoveFile(const char* file) = 0; virtual int GetLastError() const {return lastError;} protected: int lastError; }; class ReadOnlyFileSystem : public FileSystem { public: virtual bool CreateDirectory(const char* directory) {this->lastError = FS_READ_ONLY_ERROR; return false;} virtual bool RemoveDirectory(const char* directory) {this->lastError = FS_READ_ONLY_ERROR; return false;} virtual bool CreateFile(const char* path) {this->lastError = FS_READ_ONLY_ERROR; return false;} virtual bool RemoveFile(const char* file) {this->lastError = FS_READ_ONLY_ERROR; return false;} };