3 #ifndef __AGENT_PROXY_H
\r
4 #define __AGENT_PROXY_H
\r
6 #include "Common/MyString.h"
\r
8 #include "../Common/OpenArchive.h"
\r
16 struct CProxyFolder: public CProxyFile
\r
18 CProxyFolder *Parent;
\r
19 CObjectVector<CProxyFolder> Folders;
\r
20 CObjectVector<CProxyFile> Files;
\r
27 UInt32 NumSubFolders;
\r
30 CProxyFolder(): Parent(NULL) {};
\r
31 int FindDirSubItemIndex(const UString &name, int &insertPos) const;
\r
32 int FindDirSubItemIndex(const UString &name) const;
\r
33 CProxyFolder* AddDirSubItem(UInt32 index, bool leaf, const UString &name);
\r
34 void AddFileSubItem(UInt32 index, const UString &name);
\r
37 void GetPathParts(UStringVector &pathParts) const;
\r
38 UString GetFullPathPrefix() const;
\r
39 UString GetItemName(UInt32 index) const;
\r
40 void AddRealIndices(CUIntVector &realIndices) const;
\r
41 void GetRealIndices(const UInt32 *indices, UInt32 numItems, CUIntVector &realIndices) const;
\r
42 void CalculateSizes(IInArchive *archive);
\r
45 struct CProxyArchive
\r
47 CProxyFolder RootFolder;
\r
48 bool ThereIsPathProp;
\r
50 HRESULT Load(const CArc &arc, IProgress *progress);
\r