1 #ifndef DllBuild_Merge7z
2 #define DllBuild_Merge7z 0 // traditional interfaces only
5 #if DllBuild_Merge7z >= 9
6 #define DllBuild_Merge7z_9 public
8 #define DllBuild_Merge7z_9 private
11 #if DllBuild_Merge7z >= 10
12 #define DllBuild_Merge7z_10 public
14 #define DllBuild_Merge7z_10 private
25 interface Merge7z *operator->();
33 Default = sizeof(TCHAR) == sizeof(WCHAR) ? Unicode : 0
36 virtual int Initialize(DWORD = Initialize::Default);
39 virtual void Free() = 0;
41 interface DirItemEnumerator
58 NeedFindFile = Attributes|CreationTime|LastAccessTime|LastWriteTime|Size|Name
63 FILETIME CreationTime;
64 FILETIME LastAccessTime;
65 FILETIME LastWriteTime;
70 virtual UINT32 Open() = 0;
71 virtual Envelope *Enum(Item &) = 0;
75 virtual HRESULT DeCompressArchive(HWND, LPCTSTR path, LPCTSTR folder) = 0;
76 virtual HRESULT CompressArchive(HWND, LPCTSTR path, DirItemEnumerator *) = 0;
80 virtual void Free() = 0;
81 virtual UINT32 Open() = 0;
82 virtual HRESULT Extract(HWND, LPCTSTR folder, const UINT32 *indices = 0, UINT32 numItems = -1) = 0;
83 virtual HRESULT GetProperty(UINT32, PROPID, PROPVARIANT *, VARTYPE) = 0;
84 virtual BSTR GetPath(UINT32) = 0;
85 virtual BSTR GetName(UINT32) = 0;
86 virtual BSTR GetExtension(UINT32) = 0;
87 virtual VARIANT_BOOL IsFolder(UINT32) = 0;
88 virtual FILETIME LastWriteTime(UINT32) = 0;
90 virtual BSTR GetDefaultName() = 0;
92 virtual Inspector *Open(HWND, LPCTSTR) = 0;
95 virtual void Free() = 0;
96 virtual UINT32 Add(DirItemEnumerator::Item &) = 0;
97 virtual HRESULT Commit(HWND) = 0;
99 virtual Updater *Update(HWND, LPCTSTR) = 0;
101 virtual HRESULT GetHandlerProperty(HWND, PROPID, PROPVARIANT *, VARTYPE) = 0;
102 virtual BSTR GetHandlerName(HWND) = 0;
103 virtual BSTR GetHandlerClassID(HWND) = 0;
104 virtual BSTR GetHandlerExtension(HWND) = 0;
105 virtual BSTR GetHandlerAddExtension(HWND) = 0;
106 virtual VARIANT_BOOL GetHandlerUpdate(HWND) = 0;
107 virtual VARIANT_BOOL GetHandlerKeepName(HWND) = 0;
108 virtual BSTR GetDefaultName(HWND, LPCTSTR) = 0;
114 Format &BZip2Handler;
116 virtual Format *GuessFormat(LPCTSTR);
118 virtual LPCTSTR LoadLang(LPCTSTR);