2 * @file Merge7zFormatShellImpl.h
4 * @brief Declaration file for Merge7zFormatShellImpl class
11 #define DllBuild_Merge7z 10 // Minimum DllBuild of Merge7z plugin required
13 // We include dllpstub.h for Merge7z.h
14 // Merge7z::Proxy embeds a DLLPSTUB
16 #include "../ArchiveSupport/Merge7z/Merge7z.h"
17 #include "UnicodeString.h"
19 struct Merge7zFormatShellImpl : public Merge7z::Format
21 virtual HRESULT DeCompressArchive(HWND, LPCTSTR path, LPCTSTR folder);
22 virtual HRESULT CompressArchive(HWND, LPCTSTR path, Merge7z::DirItemEnumerator *);
23 virtual Inspector *Open(HWND, LPCTSTR);
24 virtual Updater *Update(HWND, LPCTSTR);
25 virtual HRESULT GetHandlerProperty(HWND, PROPID, PROPVARIANT *, VARTYPE);
26 virtual BSTR GetHandlerName(HWND);
27 virtual BSTR GetHandlerClassID(HWND);
28 virtual BSTR GetHandlerExtension(HWND);
29 virtual BSTR GetHandlerAddExtension(HWND);
30 virtual VARIANT_BOOL GetHandlerUpdate(HWND);
31 virtual VARIANT_BOOL GetHandlerKeepName(HWND);
32 virtual BSTR GetDefaultName(HWND, LPCTSTR);
33 static Merge7z::Format *GuessFormat(const String& path);