diff options
Diffstat (limited to 'backends/fs/fs.cpp')
-rw-r--r-- | backends/fs/fs.cpp | 29 |
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); +} |