diff options
| author | Sonicadvance1 <sonicadvance1@gmail.com> | 2008-09-18 03:18:19 +0000 |
|---|---|---|
| committer | Sonicadvance1 <sonicadvance1@gmail.com> | 2008-09-18 03:18:19 +0000 |
| commit | 28cd7e220c5176b463c1602319fc9daf28f8b718 (patch) | |
| tree | e73c23fd072fcf1bcbca9111bb59934f689778ee /Source/Core/DiscIO | |
| parent | 07421b08eb67996e0318a96cb90e1aa424f80132 (diff) | |
Started Work on File System Viewer. It isn't very pretty yet
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@570 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DiscIO')
| -rw-r--r-- | Source/Core/DiscIO/Src/FileSystemGCWii.cpp | 11 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/FileSystemGCWii.h | 13 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/Filesystem.h | 2 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Src/Volume.h | 11 |
4 files changed, 24 insertions, 13 deletions
diff --git a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp index 439317d746..31efdb0ec4 100644 --- a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp +++ b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp @@ -159,8 +159,17 @@ void CFileSystemGCWii::GetStringFromOffset(u64 _Offset, char* Filename) const m_rVolume.Read(_Offset, 255, (u8*)Filename);
}
+size_t CFileSystemGCWii::GetFileList(std::vector<SFileInfo> *_rFilenames)
+{
+ (*_rFilenames).resize(m_FileInfoVector.size());
+ for (size_t i = 0; i < m_FileInfoVector.size(); i++)
+ {
+ (*_rFilenames)[i] = m_FileInfoVector[i];
+ }
+ return m_FileInfoVector.size();
+}
-const CFileSystemGCWii::SFileInfo*
+const SFileInfo*
CFileSystemGCWii::FindFileInfo(const char* _rFullPath) const
{
for (size_t i = 0; i < m_FileInfoVector.size(); i++)
diff --git a/Source/Core/DiscIO/Src/FileSystemGCWii.h b/Source/Core/DiscIO/Src/FileSystemGCWii.h index caadabe45d..0584c4e80f 100644 --- a/Source/Core/DiscIO/Src/FileSystemGCWii.h +++ b/Source/Core/DiscIO/Src/FileSystemGCWii.h @@ -48,17 +48,6 @@ class CFileSystemGCWii private:
- // file info of an FST entry
- struct SFileInfo
- {
- u32 m_NameOffset;
- u64 m_Offset;
- u32 m_FileSize;
- char m_FullPath[512];
-
- bool IsDirectory() {return((m_NameOffset& 0xFF000000) != 0 ? true : false);}
- };
-
typedef std::vector<SFileInfo>CFileInfoVector;
CFileInfoVector m_FileInfoVector;
@@ -68,6 +57,8 @@ class CFileSystemGCWii u32 Read32(u64 _Offset) const;
+ virtual size_t GetFileList(std::vector<SFileInfo> *_rFilenames);
+
void GetStringFromOffset(u64 _Offset, char* Filename) const;
const SFileInfo* FindFileInfo(const char* _rFullPath) const;
diff --git a/Source/Core/DiscIO/Src/Filesystem.h b/Source/Core/DiscIO/Src/Filesystem.h index 98ac81cf0e..b2532a3206 100644 --- a/Source/Core/DiscIO/Src/Filesystem.h +++ b/Source/Core/DiscIO/Src/Filesystem.h @@ -33,7 +33,7 @@ class IFileSystem virtual bool IsInitialized() = 0;
-// virtual size_t GetFileList(std::vector<std::string&> _rFilenames) = 0;
+ virtual size_t GetFileList(std::vector<SFileInfo> *_rFilenames) = 0;
virtual size_t GetFileSize(const char* _rFullPath) = 0;
diff --git a/Source/Core/DiscIO/Src/Volume.h b/Source/Core/DiscIO/Src/Volume.h index 6fb958d965..c6448dfbbb 100644 --- a/Source/Core/DiscIO/Src/Volume.h +++ b/Source/Core/DiscIO/Src/Volume.h @@ -19,9 +19,20 @@ #define _VOLUME_H
#include <string>
+#include <vector>
#include "Common.h"
+// file info of an FST entry
+struct SFileInfo
+{
+ u32 m_NameOffset;
+ u64 m_Offset;
+ u32 m_FileSize;
+ char m_FullPath[512];
+
+ bool IsDirectory() {return((m_NameOffset& 0xFF000000) != 0 ? true : false);}
+};
namespace DiscIO
{
class IVolume
|
