Minor changes in file type handling

This commit is contained in:
Eduardo Bart
2013-01-27 23:23:53 -02:00
parent 4536c68f00
commit 773837da98
18 changed files with 43 additions and 50 deletions

View File

@@ -43,7 +43,7 @@ void ModuleManager::discoverModules()
for(const std::string& moduleDir : moduleDirs) {
auto moduleFiles = g_resources.listDirectoryFiles("/" + moduleDir);
for(const std::string& moduleFile : moduleFiles) {
if(stdext::ends_with(moduleFile, ".otmod")) {
if(g_resources.isFileType(moduleFile, "otmod")) {
ModulePtr module = discoverModule("/" + moduleDir + "/" + moduleFile);
if(module && module->isAutoLoad())
m_autoLoadModules.insert(std::make_pair(module->getAutoLoadPriority(), module));

View File

@@ -311,9 +311,16 @@ std::string ResourceManager::getUserDir()
return PHYSFS_getUserDir();
}
std::string ResourceManager::guessFileType(const std::string& filename, const std::string& type)
std::string ResourceManager::guessFilePath(const std::string& filename, const std::string& type)
{
if(g_resources.fileExists(filename))
if(isFileType(filename, type))
return filename;
return filename + "." + type;
}
bool ResourceManager::isFileType(const std::string& filename, const std::string& type)
{
if(stdext::ends_with(filename, std::string(".") + type))
return true;
return false;
}

View File

@@ -71,7 +71,8 @@ public:
std::string getWorkDir() { return m_workDir; }
std::deque<std::string> getSearchPaths() { return m_searchPaths; }
std::string guessFileType(const std::string& filename, const std::string& type);
std::string guessFilePath(const std::string& filename, const std::string& type);
bool isFileType(const std::string& filename, const std::string& type);
private:
std::string m_workDir;