Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/UI/Agent/Agent.h')
-rwxr-xr-xCPP/7zip/UI/Agent/Agent.h110
1 files changed, 19 insertions, 91 deletions
diff --git a/CPP/7zip/UI/Agent/Agent.h b/CPP/7zip/UI/Agent/Agent.h
index 1be181a6..0f2d7573 100755
--- a/CPP/7zip/UI/Agent/Agent.h
+++ b/CPP/7zip/UI/Agent/Agent.h
@@ -13,19 +13,14 @@
#include "AgentProxy.h"
#ifdef NEW_FOLDER_INTERFACE
-#include "../../FileManager/IFolder.h"
+#include "../FileManager/IFolder.h"
#include "../Common/LoadCodecs.h"
#endif
class CAgentFolder;
-// {23170F69-40C1-278A-0000-000100050001}
-DEFINE_GUID(IID_IArchiveFolderInternal,
-0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x01);
-MIDL_INTERFACE("23170F69-40C1-278A-0000-000100050001")
-IArchiveFolderInternal: public IUnknown
+DECL_INTERFACE(IArchiveFolderInternal, 0x01, 0xC)
{
-public:
STDMETHOD(GetAgentFolder)(CAgentFolder **agentFolder) PURE;
};
@@ -39,12 +34,11 @@ class CAgent;
class CAgentFolder:
public IFolderFolder,
+ public IFolderProperties,
+ public IGetFolderArchiveProperties,
public IArchiveFolder,
public IArchiveFolderInternal,
#ifdef NEW_FOLDER_INTERFACE
- public IEnumProperties,
- public IFolderGetTypeID,
- public IFolderGetPath,
public IFolderOperations,
public IFolderSetFlatMode,
#endif
@@ -54,31 +48,25 @@ public:
MY_QUERYINTERFACE_BEGIN
MY_QUERYINTERFACE_ENTRY(IFolderFolder)
+ MY_QUERYINTERFACE_ENTRY(IFolderProperties)
+ MY_QUERYINTERFACE_ENTRY(IGetFolderArchiveProperties)
MY_QUERYINTERFACE_ENTRY(IArchiveFolder)
MY_QUERYINTERFACE_ENTRY(IArchiveFolderInternal)
#ifdef NEW_FOLDER_INTERFACE
- MY_QUERYINTERFACE_ENTRY(IEnumProperties)
- MY_QUERYINTERFACE_ENTRY(IFolderGetTypeID)
- MY_QUERYINTERFACE_ENTRY(IFolderGetPath)
MY_QUERYINTERFACE_ENTRY(IFolderOperations)
MY_QUERYINTERFACE_ENTRY(IFolderSetFlatMode)
#endif
MY_QUERYINTERFACE_END
MY_ADDREF_RELEASE
- // IFolderFolder
-
void LoadFolder(CProxyFolder *folder);
HRESULT BindToFolder(CProxyFolder *folder, IFolderFolder **resultFolder);
void GetRealIndices(const UINT32 *indices, UINT32 numItems, CUIntVector &realIndices) const;
- STDMETHOD(LoadItems)();
- STDMETHOD(GetNumberOfItems)(UINT32 *numItems);
- STDMETHOD(GetProperty)(UINT32 itemIndex, PROPID propID, PROPVARIANT *value);
- STDMETHOD(BindToFolder)(UINT32 index, IFolderFolder **resultFolder);
- STDMETHOD(BindToFolder)(const wchar_t *name, IFolderFolder **resultFolder);
- STDMETHOD(BindToParentFolder)(IFolderFolder **resultFolder);
- STDMETHOD(GetName)(BSTR *name);
+ INTERFACE_FolderFolder(;)
+ INTERFACE_FolderProperties(;)
+
+ STDMETHOD(GetFolderArchiveProperties)(IFolderArchiveProperties **object);
// IArchiveFolder
STDMETHOD(Extract)(const UINT32 *indices, UINT32 numItems,
@@ -91,25 +79,7 @@ public:
STDMETHOD(GetAgentFolder)(CAgentFolder **agentFolder);
#ifdef NEW_FOLDER_INTERFACE
- STDMETHOD(GetNumberOfProperties)(UINT32 *numProperties);
- STDMETHOD(GetPropertyInfo)(UINT32 index,
- BSTR *name, PROPID *propID, VARTYPE *varType);
- STDMETHOD(GetTypeID)(BSTR *name);
- STDMETHOD(GetPath)(BSTR *path);
-
-
- // IFolderOperations
- STDMETHOD(CreateFolder)(const wchar_t *name, IProgress *progress);
- STDMETHOD(CreateFile)(const wchar_t *name, IProgress *progress);
- STDMETHOD(Rename)(UINT32 index, const wchar_t *newName, IProgress *progress);
- STDMETHOD(Delete)(const UINT32 *indices, UINT32 numItems, IProgress *progress);
- STDMETHOD(CopyTo)(const UINT32 *indices, UINT32 numItems,
- const wchar_t *path, IFolderOperationsExtractCallback *callback);
- STDMETHOD(MoveTo)(const UINT32 *indices, UINT32 numItems,
- const wchar_t *path, IFolderOperationsExtractCallback *callback);
- STDMETHOD(CopyFrom)(const wchar_t *fromFolderPath,
- const wchar_t **itemsPaths, UINT32 numItems, IProgress *progress);
- STDMETHOD(SetProperty)(UINT32 index, PROPID propID, const PROPVARIANT *value, IProgress *progress);
+ INTERFACE_FolderOperations(;)
STDMETHOD(SetFlatMode)(Int32 flatMode);
#endif
@@ -156,12 +126,9 @@ public:
private:
};
-// {23170F69-40C1-278A-1000-000100030000}
-DEFINE_GUID(CLSID_CAgentArchiveHandler,
- 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00);
-
class CAgent:
public IInFolderArchive,
+ public IFolderArchiveProperties,
#ifndef EXTRACT_ONLY
public IOutFolderArchive,
public ISetProperties,
@@ -172,6 +139,7 @@ public:
MY_QUERYINTERFACE_BEGIN
MY_QUERYINTERFACE_ENTRY(IInFolderArchive)
+ MY_QUERYINTERFACE_ENTRY(IFolderArchiveProperties)
#ifndef EXTRACT_ONLY
MY_QUERYINTERFACE_ENTRY(IOutFolderArchive)
MY_QUERYINTERFACE_ENTRY(ISetProperties)
@@ -179,45 +147,11 @@ public:
MY_QUERYINTERFACE_END
MY_ADDREF_RELEASE
- STDMETHOD(Open)(
- const wchar_t *filePath,
- BSTR *archiveType,
- IArchiveOpenCallback *openArchiveCallback);
-
- STDMETHOD(ReOpen)(IArchiveOpenCallback *openArchiveCallback);
- STDMETHOD(Close)();
- STDMETHOD(GetArchiveProperty)(PROPID propID, PROPVARIANT *value);
- STDMETHOD(GetNumberOfProperties)(UINT32 *numProperties);
- STDMETHOD(GetPropertyInfo)(UINT32 index,
- BSTR *name, PROPID *propID, VARTYPE *varType);
- STDMETHOD(GetNumberOfArchiveProperties)(UINT32 *numProperties);
- STDMETHOD(GetArchivePropertyInfo)(UINT32 index,
- BSTR *name, PROPID *propID, VARTYPE *varType);
- STDMETHOD(BindToRootFolder)(IFolderFolder **resultFolder);
- STDMETHOD(Extract)(
- NExtract::NPathMode::EEnum pathMode,
- NExtract::NOverwriteMode::EEnum overwriteMode,
- const wchar_t *path,
- INT32 testMode,
- IFolderArchiveExtractCallback *extractCallback2);
+ INTERFACE_IInFolderArchive(;)
+ INTERFACE_IFolderArchiveProperties(;)
#ifndef EXTRACT_ONLY
- STDMETHOD(SetFolder)(IFolderFolder *folder);
- STDMETHOD(SetFiles)(const wchar_t *folderPrefix, const wchar_t **names, UINT32 numNames);
- STDMETHOD(DeleteItems)(const wchar_t *newArchiveName, const UINT32 *indices,
- UINT32 numItems, IFolderArchiveUpdateCallback *updateCallback);
- STDMETHOD(DoOperation)(
- CCodecs *codecs,
- int formatIndex,
- const wchar_t *newArchiveName,
- const Byte *stateActions,
- const wchar_t *sfxModule,
- IFolderArchiveUpdateCallback *updateCallback);
- STDMETHOD(DoOperation2)(
- const wchar_t *newArchiveName,
- const Byte *stateActions,
- const wchar_t *sfxModule,
- IFolderArchiveUpdateCallback *updateCallback);
+ INTERFACE_IOutFolderArchive(;)
HRESULT CommonUpdate(
const wchar_t *newArchiveName,
@@ -252,9 +186,6 @@ public:
CArchiveLink _archiveLink;
// IInArchive *_archive2;
- // CLSID _CLSID;
- // CMyComPtr<IArchiveFolder> m_RootFolder;
-
UString DefaultName;
FILETIME DefaultTime;
@@ -286,12 +217,9 @@ class CArchiveFolderManager:
{
public:
MY_UNKNOWN_IMP1(IFolderManager)
- // IFolderManager
- STDMETHOD(OpenFolderFile)(const wchar_t *filePath, IFolderFolder **resultFolder, IProgress *progress);
- STDMETHOD(GetExtensions)(BSTR *extensions);
- STDMETHOD(GetIconPath)(const wchar_t *ext, BSTR *iconPath, Int32 *iconIndex);
- // STDMETHOD(GetTypes)(BSTR *types);
- // STDMETHOD(CreateFolderFile)(const wchar_t *type, const wchar_t *filePath, IProgress *progress);
+
+ INTERFACE_IFolderManager(;)
+
CArchiveFolderManager(): _codecs(0) {}
private:
void LoadFormats();