aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMax Horn2006-05-12 21:01:50 +0000
committerMax Horn2006-05-12 21:01:50 +0000
commit726c05be966a2e7f80ad9400914f9258d4ef5348 (patch)
tree5a7262a4e8839e7e4b00e25245706dc44ff099c9 /backends
parentb5556c50fed0dcae072a2f68ab8b572b9dc6b2cb (diff)
downloadscummvm-rg350-726c05be966a2e7f80ad9400914f9258d4ef5348.tar.gz
scummvm-rg350-726c05be966a2e7f80ad9400914f9258d4ef5348.tar.bz2
scummvm-rg350-726c05be966a2e7f80ad9400914f9258d4ef5348.zip
Make some tweaks to the GP32 and PSP FS code (trying to at least partially bring them up to speed with the FS code changes). Note: If those files were inside backends/fs/, they wouldn't be overlooked as easily when making FS changes...
svn-id: r22420
Diffstat (limited to 'backends')
-rw-r--r--backends/gp32/gp-fs.cpp19
-rw-r--r--backends/psp/psp_fs.cpp24
2 files changed, 13 insertions, 30 deletions
diff --git a/backends/gp32/gp-fs.cpp b/backends/gp32/gp-fs.cpp
index 12e5337e8e..df056c570e 100644
--- a/backends/gp32/gp-fs.cpp
+++ b/backends/gp32/gp-fs.cpp
@@ -25,6 +25,7 @@
#include "stdafx.h"
+#include "backends/fs/abstract-fs.h"
#include "backends/fs/fs.h"
class GP32FilesystemNode : public AbstractFilesystemNode {
@@ -36,7 +37,6 @@ protected:
public:
GP32FilesystemNode(void);
- GP32FilesystemNode(const GP32FilesystemNode *node);
GP32FilesystemNode(const String &path);
virtual String displayName() const { return _displayName; }
@@ -44,9 +44,8 @@ public:
virtual bool isDirectory() const { return _isDirectory; }
virtual String path() const { return _path; }
- virtual FSList listDir(ListMode) const;
+ virtual bool listDir(AbstractFSList &list, ListMode mode) const;
virtual AbstractFilesystemNode *parent() const;
- virtual AbstractFilesystemNode *clone() const { return new GP32FilesystemNode(this); }
};
AbstractFilesystemNode *FilesystemNode::getRoot(void) {
@@ -82,19 +81,11 @@ GP32FilesystemNode::GP32FilesystemNode(const String &path) {
_isDirectory = true;
}
-GP32FilesystemNode::GP32FilesystemNode(const GP32FilesystemNode *node) {
- _displayName = node->_displayName;
- _isDirectory = node->_isDirectory;
- _path = node->_path;
- _isRoot = node->_isRoot;
-}
-
-FSList GP32FilesystemNode::listDir(ListMode mode) const {
+bool GP32FilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const {
assert(_isDirectory);
GPDIRENTRY dirEntry;
uint32 read;
- FSList myList;
if (mode == AbstractFilesystemNode::kListAll)
LP("listDir(kListAll)");
@@ -124,12 +115,12 @@ FSList GP32FilesystemNode::listDir(ListMode mode) const {
if (entry._isDirectory)
entry._path += "\\";
- myList.push_back(wrap(new GP32FilesystemNode(&entry)));
+ myList.push_back(new GP32FilesystemNode(entry));
}
BP("Dir... %s", listDir.c_str());
- return myList;
+ return true;
}
/*
AbstractFilesystemNode *GP32FilesystemNode::parent() const {
diff --git a/backends/psp/psp_fs.cpp b/backends/psp/psp_fs.cpp
index 219ad78f64..3e2182914c 100644
--- a/backends/psp/psp_fs.cpp
+++ b/backends/psp/psp_fs.cpp
@@ -25,6 +25,7 @@
#ifdef __PSP__
#include "base/engine.h"
+#include "backends/fs/abstract-fs.h"
#include "backends/fs/fs.h"
#include <stdio.h>
#include <stdlib.h>
@@ -44,14 +45,13 @@ protected:
public:
PSPFilesystemNode();
PSPFilesystemNode(const String &path);
- PSPFilesystemNode(const PSPFilesystemNode *node);
virtual String displayName() const { return _displayName; }
virtual bool isValid() const { return _isValid; }
virtual bool isDirectory() const { return _isDirectory; }
virtual String path() const { return _path; }
- virtual FSList listDir(ListMode) const;
+ virtual bool listDir(AbstractFSList &list, ListMode mode) const;
virtual AbstractFilesystemNode *parent() const;
};
@@ -76,25 +76,16 @@ PSPFilesystemNode::PSPFilesystemNode(const Common::String &p)
}
-PSPFilesystemNode::PSPFilesystemNode(const PSPFilesystemNode *node) {
- _displayName = node->_displayName;
- _isDirectory = node->_isDirectory;
- _isValid = node->_isValid;
- _isPseudoRoot = node->_isPseudoRoot;
- _path = node->_path;
-}
-
AbstractFilesystemNode *FilesystemNode::getNodeForPath(const String &path)
{
return new PSPFilesystemNode(path);
}
-FSList PSPFilesystemNode::listDir(ListMode mode) const {
+bool PSPFilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const {
assert(_isDirectory);
int dfd;
- FSList myList;
dfd = sceIoDopen(_path.c_str());
if (dfd > 0) {
@@ -122,12 +113,13 @@ FSList PSPFilesystemNode::listDir(ListMode mode) const {
(mode == kListDirectoriesOnly && !entry._isDirectory))
continue;
- myList.push_back(wrap(new PSPFilesystemNode(&entry)));
+ myList.push_back(new PSPFilesystemNode(entry));
}
- sceIoDclose(dfd);
+ sceIoDclose(dfd);
+ return true;
+ } else {
+ return false;
}
-
- return myList;
}
const char *lastPathComponent(const Common::String &str) {