mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-15 00:05:02 +02:00
- Renamed /lib subfolders to lowercase
This commit is contained in:
95
lib/filesystem/CFileInfo.cpp
Normal file
95
lib/filesystem/CFileInfo.cpp
Normal file
@ -0,0 +1,95 @@
|
||||
#include "StdInc.h"
|
||||
#include "CFileInfo.h"
|
||||
|
||||
CFileInfo::CFileInfo() : name("")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CFileInfo::CFileInfo(std::string name)
|
||||
: name(std::move(name))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool CFileInfo::exists() const
|
||||
{
|
||||
return boost::filesystem::exists(name);
|
||||
}
|
||||
|
||||
bool CFileInfo::isDirectory() const
|
||||
{
|
||||
return boost::filesystem::is_directory(name);
|
||||
}
|
||||
|
||||
void CFileInfo::setName(const std::string & name)
|
||||
{
|
||||
this->name = name;
|
||||
}
|
||||
|
||||
std::string CFileInfo::getName() const
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
std::string CFileInfo::getPath() const
|
||||
{
|
||||
size_t found = name.find_last_of("/\\");
|
||||
return name.substr(0, found);
|
||||
}
|
||||
|
||||
std::string CFileInfo::getExtension() const
|
||||
{
|
||||
// Get position of file extension dot
|
||||
size_t dotPos = name.find_last_of("/.");
|
||||
|
||||
if(dotPos != std::string::npos && name[dotPos] == '.')
|
||||
return name.substr(dotPos);
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
std::string CFileInfo::getFilename() const
|
||||
{
|
||||
size_t found = name.find_last_of("/\\");
|
||||
return name.substr(found + 1);
|
||||
}
|
||||
|
||||
std::string CFileInfo::getStem() const
|
||||
{
|
||||
std::string rslt = name;
|
||||
|
||||
// Remove file extension
|
||||
size_t dotPos = name.find_last_of("/.");
|
||||
|
||||
if(dotPos != std::string::npos && name[dotPos] == '.')
|
||||
rslt.erase(dotPos);
|
||||
|
||||
return rslt;
|
||||
}
|
||||
|
||||
std::string CFileInfo::getBaseName() const
|
||||
{
|
||||
size_t begin = name.find_last_of("/");
|
||||
size_t end = name.find_last_of("/.");
|
||||
|
||||
if(end != std::string::npos && name[end] == '/')
|
||||
end = std::string::npos;
|
||||
|
||||
if(begin == std::string::npos)
|
||||
begin = 0;
|
||||
else
|
||||
begin++;
|
||||
|
||||
return name.substr(begin, end - begin);
|
||||
}
|
||||
|
||||
EResType::Type CFileInfo::getType() const
|
||||
{
|
||||
return EResTypeHelper::getTypeFromExtension(getExtension());
|
||||
}
|
||||
|
||||
std::time_t CFileInfo::getDate() const
|
||||
{
|
||||
return boost::filesystem::last_write_time(name);
|
||||
}
|
Reference in New Issue
Block a user