Simplify file tree building for the filesystem view.

Technically this also simplifies on disc filename building in general.
This commit is contained in:
Lioncash
2014-03-14 23:38:14 -04:00
parent f325fc9634
commit bd1ce18f90
9 changed files with 78 additions and 98 deletions

View File

@ -22,17 +22,17 @@ struct SFileInfo
u64 m_NameOffset;
u64 m_Offset;
u64 m_FileSize;
char m_FullPath[512];
std::string m_FullPath;
bool IsDirectory() const { return (m_NameOffset & 0xFF000000) != 0 ? true : false; }
bool IsDirectory() const { return (m_NameOffset & 0xFF000000) != 0; }
SFileInfo() : m_NameOffset(0), m_Offset(0), m_FileSize(0) {
memset(m_FullPath, 0, sizeof(m_FullPath));
SFileInfo() : m_NameOffset(0), m_Offset(0), m_FileSize(0)
{
}
SFileInfo(const SFileInfo &rhs) : m_NameOffset(rhs.m_NameOffset),
m_Offset(rhs.m_Offset), m_FileSize(rhs.m_FileSize) {
memcpy(m_FullPath, rhs.m_FullPath, strlen(rhs.m_FullPath) + 1);
SFileInfo(const SFileInfo& rhs) : m_NameOffset(rhs.m_NameOffset),
m_Offset(rhs.m_Offset), m_FileSize(rhs.m_FileSize), m_FullPath(rhs.m_FullPath)
{
}
};
@ -49,7 +49,7 @@ public:
virtual bool ExportFile(const std::string& _rFullPath, const std::string& _rExportFilename) = 0;
virtual bool ExportApploader(const std::string& _rExportFolder) const = 0;
virtual bool ExportDOL(const std::string& _rExportFolder) const = 0;
virtual const char* GetFileName(u64 _Address) = 0;
virtual const std::string GetFileName(u64 _Address) = 0;
virtual bool GetBootDOL(u8* &buffer, u32 DolSize) const = 0;
virtual u32 GetBootDOLSize() const = 0;