1 // includes from 7-Zip sources
2 #include "7zip/Archive/IArchive.h"
3 #include "7zip/UI/Agent/ArchiveExtractCallback.h"
4 #include "7zip/UI/Agent/ArchiveUpdateCallback.h"
5 #include "Common/StringConvert.h"
6 #include "Windows/PropVariant.h"
7 #include "Windows/PropVariantConversions.h"
8 #include "Windows/FileDir.h"
9 #include "Windows/Thread.h"
14 using namespace NWindows;
16 extern HINSTANCE g_hInstance;
17 extern DWORD g_dwFlags;
18 extern CHAR g_cPath7z[MAX_PATH];
20 typedef UINT32 (WINAPI * CreateObjectFunc)(
22 const GUID *interfaceID,
28 CreateObjectFunc CreateObject;
35 struct Format7zDLL::Proxy
39 &((struct Format7zDLL *)0)->handle
40 - &((struct Format7zDLL *)0)->origin
44 struct Format7zDLL *operator->();
47 interface Format7zDLL::Interface : Merge7z::Format
50 Interface(Proxy &proxy):proxy(proxy)
53 virtual IInArchive *GetInArchive();
54 virtual HRESULT DeCompressArchive(HWND, LPCTSTR path, LPCTSTR folder);
55 virtual IOutArchive *GetOutArchive();
56 virtual HRESULT CompressArchive(HWND, LPCTSTR path, Merge7z::DirItemEnumerator *);