251cced1f8
Various minor things done to project files Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way) Updated regex project file and makefile --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401971
41 lines
950 B
C++
41 lines
950 B
C++
#ifndef _INCLUDE_FOLDER_LIST_H_
|
|
#define _INCLUDE_FOLDER_LIST_H_
|
|
|
|
#include "platform_headers.h"
|
|
#include <list>
|
|
#include <vector>
|
|
|
|
struct CFileListEntry
|
|
{
|
|
TCHAR file[MAX_PATH];
|
|
unsigned __int64 size;
|
|
};
|
|
|
|
class CFileList
|
|
{
|
|
public:
|
|
CFileList(const TCHAR *name);
|
|
~CFileList();
|
|
public:
|
|
CFileList *PeekCurrentFolder();
|
|
void PopCurrentFolder();
|
|
const TCHAR *PeekCurrentFile();
|
|
void PopCurrentFile();
|
|
const TCHAR *GetFolderName();
|
|
public:
|
|
void AddFolder(CFileList *pFileList);
|
|
void AddFile(const TCHAR *name, unsigned __int64 size);
|
|
unsigned __int64 GetRecursiveSize();
|
|
public:
|
|
static CFileList *BuildFileList(const TCHAR *name, const TCHAR *root_folder);
|
|
private:
|
|
std::list<CFileList *> m_folder_list;
|
|
std::list<CFileListEntry> m_file_list;
|
|
TCHAR m_FolderName[MAX_PATH];
|
|
unsigned __int64 m_TotalSize;
|
|
unsigned __int64 m_RecursiveSize;
|
|
bool m_bGotRecursiveSize;
|
|
};
|
|
|
|
#endif //_INCLUDE_FOLDER_LIST_H_
|