aboutsummaryrefslogtreecommitdiff
path: root/backends/fs/fs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/fs/fs.cpp')
-rw-r--r--backends/fs/fs.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/backends/fs/fs.cpp b/backends/fs/fs.cpp
index a3746575e6..60766cb073 100644
--- a/backends/fs/fs.cpp
+++ b/backends/fs/fs.cpp
@@ -38,11 +38,14 @@ void FSList::sort() {
FilesystemNode AbstractFilesystemNode::wrap(AbstractFilesystemNode *node) {
- FilesystemNode wrapper;
- wrapper._realNode = node;
+ FilesystemNode wrapper(node);
return wrapper;
}
+FilesystemNode::FilesystemNode(AbstractFilesystemNode *realNode) {
+ _realNode = realNode;
+ _refCount = new int(1);
+}
FilesystemNode::FilesystemNode() {
_realNode = getRoot();
@@ -56,7 +59,7 @@ FilesystemNode::FilesystemNode(const FilesystemNode &node)
++(*_refCount);
}
-FilesystemNode::FilesystemNode(const String &p) {
+FilesystemNode::FilesystemNode(const Common::String &p) {
_realNode = getNodeForPath(p);
_refCount = new int(1);
}
@@ -92,3 +95,23 @@ FilesystemNode FilesystemNode::getParent() const {
return AbstractFilesystemNode::wrap(node);
}
}
+
+Common::String FilesystemNode::displayName() const {
+ return _realNode->displayName();
+}
+
+bool FilesystemNode::isValid() const {
+ return _realNode->isValid();
+}
+
+bool FilesystemNode::isDirectory() const {
+ return _realNode->isDirectory();
+}
+
+Common::String FilesystemNode::path() const {
+ return _realNode->path();
+}
+
+FSList FilesystemNode::listDir(ListMode mode) const {
+ return _realNode->listDir(mode);
+}