diff options
author | Lars Persson | 2006-05-01 14:20:02 +0000 |
---|---|---|
committer | Lars Persson | 2006-05-01 14:20:02 +0000 |
commit | 492929ae530316a4bbcb1c395abb1497016a1c9f (patch) | |
tree | ecb4e8e5cb54550c10ff37ac141260ac3a4ab8c8 /backends/fs | |
parent | 72f0c9a5d72862c4b19910ae97c2b138cc94d9bb (diff) | |
download | scummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.tar.gz scummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.tar.bz2 scummvm-rg350-492929ae530316a4bbcb1c395abb1497016a1c9f.zip |
Updated symbian-fs backend and cleanup
svn-id: r22260
Diffstat (limited to 'backends/fs')
-rw-r--r-- | backends/fs/symbian/symbian-fs.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp index a236e10ca6..853388e251 100644 --- a/backends/fs/symbian/symbian-fs.cpp +++ b/backends/fs/symbian/symbian-fs.cpp @@ -29,6 +29,7 @@ #include <dirent.h> #include <eikenv.h> #include <f32file.h> +#include <bautils.h> /* * Implementation of the ScummVM file system API based on POSIX. @@ -200,7 +201,23 @@ AbstractFilesystemNode *SymbianFilesystemNode::parent() const { } AbstractFilesystemNode *SymbianFilesystemNode::child(const String &name) const { - TODO + assert(_isDirectory); + String newPath(_path); + + if (_path.lastChar() != '\\') + newPath += '\\'; + newPath += name; + + TPtrC8 ptr((const unsigned char*) newPath.c_str(), newPath.size()); + TFileName fname; + fname.Copy(ptr); + TBool isFolder = EFalse; + BaflUtils::IsFolder(CEikonEnv::Static()->FsSession(), fname, isFolder); + if(!isFolder) + return 0; + + SymbianFilesystemNode *p = new SymbianFilesystemNode(newPath); + return p; } #endif // defined(__SYMBIAN32__) |