aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/dc/dc-fs.cpp
diff options
context:
space:
mode:
authorMax Horn2008-09-03 12:56:46 +0000
committerMax Horn2008-09-03 12:56:46 +0000
commit7f18aaf8ec92a7ec7cd837db92b93dfada87eef3 (patch)
treee1510dfc5cd2b50b0d77c5a384307174687c4116 /backends/platform/dc/dc-fs.cpp
parent320a5dc99fa416d63a5fb8ec63c07463c80dc633 (diff)
downloadscummvm-rg350-7f18aaf8ec92a7ec7cd837db92b93dfada87eef3.tar.gz
scummvm-rg350-7f18aaf8ec92a7ec7cd837db92b93dfada87eef3.tar.bz2
scummvm-rg350-7f18aaf8ec92a7ec7cd837db92b93dfada87eef3.zip
Pushed AbstractFilesystemNode::openForReading() / openForWriting() impls out to backends
svn-id: r34304
Diffstat (limited to 'backends/platform/dc/dc-fs.cpp')
-rw-r--r--backends/platform/dc/dc-fs.cpp13
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("/");
}