Artifact c407465455d14dd7011548822622f6b8c977b602
#ifndef AFX_ARCACE_H__84B9CB87_29F7_428D_A3E7_F239213B127C__INCLUDED_
#define AFX_ARCACE_H__84B9CB87_29F7_428D_A3E7_F239213B127C__INCLUDED_
#include "Archiver.h"
#include "SubDlg.h"
#include "unacedef.h"
class CArcAce : public CArchiver
{
public: //-- CArchiver --------------------------------
CArcAce() : CArchiver("ace."), hDLL( NULL ) {}
virtual ~CArcAce()
{
if(hDLL)
::FreeLibrary(hDLL);
}
private:
int v_load();
bool v_ver( kiStr& str );
bool v_check( const kiPath& aname );
int v_contents( const kiPath& aname, kiPath& dname );
int v_melt( const arcname& aname, const kiPath& ddir, const aflArray* files );
bool v_list( const arcname& aname, aflArray& files );
kiStr v_name(const char*) const { return "Unace32"; }
private: //-- UnAceV2.DLL ------------------------------
HINSTANCE hDLL;
static int __stdcall callback_error( pACEErrorCallbackProcStruc Error );
static int __stdcall callback_request( pACERequestCallbackProcStruc Request );
static int __stdcall callback_state( pACEStateCallbackProcStruc State );
static int __stdcall callback_info( pACEInfoCallbackProcStruc Info );
bool listup( tACEFileDataStruc& f );
aflArray* list;
CArcProgressDlg* dlg;
CArcPathCheckDlg* pathCheck;
char pwdBuf[100];
const char* m_aname;
int aCnt;
kiPath* dName;
bool m_bCanceled;
private: //-- UnAce.h ---------------------------------------
// API
typedef int (__stdcall *FI)( pACEInitDllStruc );
typedef int (__stdcall *FR)( LPSTR, pACEReadArchiveDataStruc );
typedef int (__stdcall *FL)( LPSTR, pACEListStruc );
typedef int (__stdcall *FT)( LPSTR, pACETestStruc );
typedef int (__stdcall *FE)( LPSTR, pACEExtractStruc );
FI aceInit; FR aceHead; FL aceList; FT aceTest; FE aceExtr;
};
#endif