Artifact c407465455d14dd7011548822622f6b8c977b602
1 #ifndef AFX_ARCACE_H__84B9CB87_29F7_428D_A3E7_F239213B127C__INCLUDED_
2 #define AFX_ARCACE_H__84B9CB87_29F7_428D_A3E7_F239213B127C__INCLUDED_
3
4 #include "Archiver.h"
5 #include "SubDlg.h"
6
7 #include "unacedef.h"
8
9 class CArcAce : public CArchiver
10 {
11 public: //-- CArchiver --------------------------------
12
13 CArcAce() : CArchiver("ace."), hDLL( NULL ) {}
14 virtual ~CArcAce()
15 {
16 if(hDLL)
17 ::FreeLibrary(hDLL);
18 }
19 private:
20 int v_load();
21 bool v_ver( kiStr& str );
22 bool v_check( const kiPath& aname );
23 int v_contents( const kiPath& aname, kiPath& dname );
24 int v_melt( const arcname& aname, const kiPath& ddir, const aflArray* files );
25 bool v_list( const arcname& aname, aflArray& files );
26 kiStr v_name(const char*) const { return "Unace32"; }
27
28 private: //-- UnAceV2.DLL ------------------------------
29
30 HINSTANCE hDLL;
31 static int __stdcall callback_error( pACEErrorCallbackProcStruc Error );
32 static int __stdcall callback_request( pACERequestCallbackProcStruc Request );
33 static int __stdcall callback_state( pACEStateCallbackProcStruc State );
34 static int __stdcall callback_info( pACEInfoCallbackProcStruc Info );
35 bool listup( tACEFileDataStruc& f );
36 aflArray* list;
37 CArcProgressDlg* dlg;
38 CArcPathCheckDlg* pathCheck;
39 char pwdBuf[100];
40 const char* m_aname;
41 int aCnt;
42 kiPath* dName;
43 bool m_bCanceled;
44
45 private: //-- UnAce.h ---------------------------------------
46
47 // API
48 typedef int (__stdcall *FI)( pACEInitDllStruc );
49 typedef int (__stdcall *FR)( LPSTR, pACEReadArchiveDataStruc );
50 typedef int (__stdcall *FL)( LPSTR, pACEListStruc );
51 typedef int (__stdcall *FT)( LPSTR, pACETestStruc );
52 typedef int (__stdcall *FE)( LPSTR, pACEExtractStruc );
53 FI aceInit; FR aceHead; FL aceList; FT aceTest; FE aceExtr;
54 };
55
56 #endif