bool File::exists(const String &filename) { FilesystemNode* file; String fname = filename; //See if the file is already mapped if (_filesMap && _filesMap->contains(fname)) { fname = (*_filesMap)[fname]; file = new FilesystemNode(fname); if (file->exists()) return !file->isDirectory(); } if (_defaultDirectories) { // Try all default directories StringIntMap::const_iterator i(_defaultDirectories->begin()); for (; i != _defaultDirectories->end(); ++i) { fname = i->_key+fname; file = new FilesystemNode(fname); if(file->exists()) return !file->isDirectory(); } } if (file->exists()) return !file->isDirectory(); File tmp; return tmp.open(filename, kFileReadMode); }