mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-07 05:15:01 -06:00
56 lines
1.3 KiB
C++
Executable File
56 lines
1.3 KiB
C++
Executable File
// AgentProxy.h
|
|
|
|
#ifndef __AGENT_PROXY_H
|
|
#define __AGENT_PROXY_H
|
|
|
|
#include "Common/MyString.h"
|
|
|
|
#include "../../Archive/IArchive.h"
|
|
|
|
class CProxyFile
|
|
{
|
|
public:
|
|
UINT32 Index;
|
|
UString Name;
|
|
};
|
|
|
|
class CProxyFolder: public CProxyFile
|
|
{
|
|
public:
|
|
CProxyFolder *Parent;
|
|
CObjectVector<CProxyFolder> Folders;
|
|
CObjectVector<CProxyFile> Files;
|
|
bool IsLeaf;
|
|
|
|
CProxyFolder(): Parent(NULL) {};
|
|
int FindDirSubItemIndex(const UString &name, int &insertPos) const;
|
|
int FindDirSubItemIndex(const UString &name) const;
|
|
CProxyFolder* AddDirSubItem(UINT32 index,
|
|
bool leaf, const UString &name);
|
|
void AddFileSubItem(UINT32 index, const UString &name);
|
|
void Clear();
|
|
|
|
UString GetFullPathPrefix() const;
|
|
UString GetItemName(UINT32 index) const;
|
|
void AddRealIndices(CUIntVector &realIndices) const;
|
|
void GetRealIndices(const UINT32 *indices, UINT32 numItems,
|
|
CUIntVector &realIndices) const;
|
|
};
|
|
|
|
class CProxyArchive
|
|
{
|
|
HRESULT ReadObjects(IInArchive *inArchive, IProgress *progress);
|
|
public:
|
|
UString DefaultName;
|
|
// FILETIME DefaultTime;
|
|
// UINT32 DefaultAttributes;
|
|
CProxyFolder RootFolder;
|
|
HRESULT Reload(IInArchive *archive, IProgress *progress);
|
|
HRESULT Load(IInArchive *archive,
|
|
const UString &defaultName,
|
|
// const FILETIME &defaultTime,
|
|
// UINT32 defaultAttributes,
|
|
IProgress *progress);
|
|
};
|
|
|
|
#endif |