diff options
Diffstat (limited to 'backends/platform/dc/dc-fs.cpp')
-rw-r--r-- | backends/platform/dc/dc-fs.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/backends/platform/dc/dc-fs.cpp b/backends/platform/dc/dc-fs.cpp index c1b31d4815..c4f1d76f10 100644 --- a/backends/platform/dc/dc-fs.cpp +++ b/backends/platform/dc/dc-fs.cpp @@ -24,6 +24,7 @@ #include "dc.h" #include "backends/fs/abstract-fs.h" +#include "backends/fs/stdiostream.h" #include <ronin/cdfs.h> #include <stdio.h> @@ -52,6 +53,9 @@ public: virtual bool getChildren(AbstractFSList &list, ListMode mode, bool hidden) const { return false; } virtual AbstractFilesystemNode *getParent() const; + virtual Common::SeekableReadStream *openForReading(); + virtual Common::WriteStream *openForWriting(); + static AbstractFilesystemNode *makeFileNodePath(const Common::String &path); }; @@ -143,6 +147,15 @@ AbstractFilesystemNode *RoninCDFileNode::getParent() const { return new RoninCDDirectoryNode(Common::String(start, end - start)); } + +Common::SeekableReadStream *RoninCDFileNode::openForReading() { + return StdioStream::makeFromPath(getPath().c_str(), false); +} + +Common::WriteStream *RoninCDFileNode::openForWriting() { + return StdioStream::makeFromPath(getPath().c_str(), true); +} + AbstractFilesystemNode *OSystem_Dreamcast::makeRootFileNode() const { return new RoninCDDirectoryNode("/"); } |