0000: 23 69 66 6e 64 65 66 20 41 46 58 5f 41 52 43 44 #ifndef AFX_ARCD
0010: 4c 4c 5f 48 5f 5f 39 31 31 43 31 30 39 44 5f 41 LL_H__911C109D_A
0020: 34 30 45 5f 34 37 32 32 5f 41 36 46 37 5f 45 33 40E_4722_A6F7_E3
0030: 41 43 42 38 43 32 44 32 45 33 5f 5f 49 4e 43 4c ACB8C2D2E3__INCL
0040: 55 44 45 44 5f 0d 0a 23 64 65 66 69 6e 65 20 41 UDED_..#define A
0050: 46 58 5f 41 52 43 44 4c 4c 5f 48 5f 5f 39 31 31 FX_ARCDLL_H__911
0060: 43 31 30 39 44 5f 41 34 30 45 5f 34 37 32 32 5f C109D_A40E_4722_
0070: 41 36 46 37 5f 45 33 41 43 42 38 43 32 44 32 45 A6F7_E3ACB8C2D2E
0080: 33 5f 5f 49 4e 43 4c 55 44 45 44 5f 0d 0a 0d 0a 3__INCLUDED_....
0090: 23 69 6e 63 6c 75 64 65 20 22 41 72 63 68 69 76 #include "Archiv
00a0: 65 72 2e 68 22 0d 0a 0d 0a 63 6c 61 73 73 20 43 er.h"....class C
00b0: 41 72 63 44 4c 4c 20 3a 20 70 75 62 6c 69 63 20 ArcDLL : public
00c0: 43 41 72 63 68 69 76 65 72 0d 0a 7b 0d 0a 70 75 CArchiver..{..pu
00d0: 62 6c 69 63 3a 0d 0a 09 43 41 72 63 44 4c 4c 28 blic:...CArcDLL(
00e0: 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 ....const char*
00f0: 20 44 6c 6c 6e 61 6d 65 2c 09 2f 2f 20 44 4c 4c Dllname,.// DLL
0100: 96 bc 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 ......const char
0110: 2a 20 20 45 78 74 73 2c 09 09 2f 2f 20 91 ce 89 * Exts,..// ...
0120: 9e 8a 67 92 a3 8e 71 0d 0a 09 09 63 6f 6e 73 74 ..g...q....const
0130: 20 63 68 61 72 2a 20 20 45 63 6d 64 2c 09 09 2f char* Ecmd,../
0140: 2f 20 89 f0 93 80 97 70 83 52 83 7d 83 93 83 68 / .....p.R.}...h
0150: 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 ....const char*
0160: 20 58 63 6d 64 2c 09 09 2f 2f 20 95 94 95 aa 89 Xcmd,..// .....
0170: f0 93 80 97 70 83 52 83 7d 83 93 83 68 0d 0a 09 ....p.R.}...h...
0180: 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 57 69 .unsigned int Wi
0190: 6c 64 3d 31 2c 09 2f 2f 20 83 8f 83 43 83 8b 83 ld=1,.// ...C...
01a0: 68 83 4a 81 5b 83 68 82 cc 8c 60 8e ae 28 20 30 h.J.[.h...`..( 0
01b0: 3d 6e 6f 28 2a 29 20 31 3d 2a 20 32 3d 2a 2e 2a =no(*) 1=* 2=*.*
01c0: 20 29 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 )....const char
01d0: 2a 20 20 53 63 6d 64 3d 4e 55 4c 4c 20 29 2f 2f * Scmd=NULL )//
01e0: 20 53 46 58 95 cf 8a b7 97 70 83 52 83 7d 83 93 SFX.....p.R.}..
01f0: 83 68 0d 0a 09 09 3a 20 64 6c 6c 28 20 44 6c 6c .h....: dll( Dll
0200: 6e 61 6d 65 20 29 2c 20 43 41 72 63 68 69 76 65 name ), CArchive
0210: 72 28 20 45 78 74 73 20 29 2c 20 6d 5f 45 63 6d r( Exts ), m_Ecm
0220: 64 28 20 45 63 6d 64 20 29 2c 0d 0a 09 09 09 6d d( Ecmd ),.....m
0230: 5f 58 63 6d 64 28 20 58 63 6d 64 20 29 2c 20 6d _Xcmd( Xcmd ), m
0240: 5f 57 69 6c 64 28 20 57 69 6c 64 20 29 2c 20 6d _Wild( Wild ), m
0250: 5f 53 63 6d 64 28 20 53 63 6d 64 20 29 20 7b 7d _Scmd( Scmd ) {}
0260: 0d 0a 0d 0a 70 72 6f 74 65 63 74 65 64 3a 20 2f ....protected: /
0270: 2f 2d 2d 20 94 68 90 b6 82 b5 82 c4 82 e0 82 e6 /-- .h..........
0280: 82 b5 0d 0a 09 76 69 72 74 75 61 6c 20 44 57 4f .....virtual DWO
0290: 52 44 20 73 65 74 5f 63 6d 70 72 5f 6d 68 64 28 RD set_cmpr_mhd(
02a0: 29 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 30 3b )....{ return 0;
02b0: 20 7d 0d 0a 09 76 69 72 74 75 61 6c 20 63 6f 6e }...virtual con
02c0: 73 74 20 63 68 61 72 2a 20 67 65 74 5f 63 6d 70 st char* get_cmp
02d0: 72 5f 65 78 74 28 20 69 6e 74 20 6d 65 74 68 6f r_ext( int metho
02e0: 64 20 29 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 d )....{ return
02f0: 63 6d 70 5f 65 78 74 28 29 3b 20 7d 0d 0a 09 76 cmp_ext(); }...v
0300: 69 72 74 75 61 6c 20 63 6f 6e 73 74 20 63 68 61 irtual const cha
0310: 72 2a 20 67 65 74 5f 63 6d 70 72 5f 63 6d 64 28 r* get_cmpr_cmd(
0320: 20 69 6e 74 20 6d 65 74 68 6f 64 20 29 0d 0a 09 int method )...
0330: 09 7b 20 72 65 74 75 72 6e 20 22 22 3b 20 7d 0d .{ return ""; }.
0340: 0a 09 76 69 72 74 75 61 6c 20 76 6f 69 64 20 64 ..virtual void d
0350: 65 63 6f 72 61 74 65 5f 61 64 64 5f 63 6d 70 72 ecorate_add_cmpr
0360: 28 20 6b 69 53 74 72 26 20 6c 73 74 2c 20 63 6f ( kiStr& lst, co
0370: 6e 73 74 20 63 68 61 72 2a 20 66 6e 61 6d 65 20 nst char* fname
0380: 29 3b 0d 0a 09 76 69 72 74 75 61 6c 20 76 6f 69 );...virtual voi
0390: 64 20 64 65 63 6f 72 61 74 65 5f 61 64 64 5f 6d d decorate_add_m
03a0: 65 6c 74 28 20 6b 69 53 74 72 26 20 6c 73 74 2c elt( kiStr& lst,
03b0: 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 66 6e 61 const char* fna
03c0: 6d 65 20 29 3b 0d 0a 0d 0a 70 72 6f 74 65 63 74 me );....protect
03d0: 65 64 3a 20 2f 2f 2d 2d 20 93 e0 95 94 8f 88 97 ed: //-- .......
03e0: 9d 0d 0a 09 43 41 72 63 4d 6f 64 75 6c 65 20 64 ....CArcModule d
03f0: 6c 6c 3b 0d 0a 09 62 6f 6f 6c 20 76 5f 76 65 72 ll;...bool v_ver
0400: 28 20 6b 69 53 74 72 26 20 73 74 72 20 29 7b 20 ( kiStr& str ){
0410: 64 6c 6c 2e 76 65 72 28 73 74 72 29 3b 20 72 65 dll.ver(str); re
0420: 74 75 72 6e 20 74 72 75 65 3b 20 7d 0d 0a 09 62 turn true; }...b
0430: 6f 6f 6c 20 76 5f 63 68 65 63 6b 28 20 63 6f 6e ool v_check( con
0440: 73 74 20 6b 69 50 61 74 68 26 20 61 6e 61 6d 65 st kiPath& aname
0450: 20 29 7b 20 72 65 74 75 72 6e 20 64 6c 6c 2e 63 ){ return dll.c
0460: 68 6b 28 61 6e 61 6d 65 29 3b 20 7d 0d 0a 09 69 hk(aname); }...i
0470: 6e 74 20 20 76 5f 63 6f 6e 74 65 6e 74 73 28 20 nt v_contents(
0480: 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 61 6e const kiPath& an
0490: 61 6d 65 2c 20 6b 69 50 61 74 68 26 20 64 6e 61 ame, kiPath& dna
04a0: 6d 65 20 29 7b 20 72 65 74 75 72 6e 20 64 6c 6c me ){ return dll
04b0: 2e 63 6e 74 28 61 6e 61 6d 65 2c 64 6e 61 6d 65 .cnt(aname,dname
04c0: 2c 6d 5f 57 69 6c 64 3d 3d 32 3f 22 2a 2e 2a 22 ,m_Wild==2?"*.*"
04d0: 3a 22 2a 22 29 3b 20 7d 0d 0a 09 62 6f 6f 6c 20 :"*"); }...bool
04e0: 76 5f 6c 69 73 74 28 20 63 6f 6e 73 74 20 61 72 v_list( const ar
04f0: 63 6e 61 6d 65 26 20 61 6e 61 6d 65 2c 20 61 66 cname& aname, af
0500: 6c 41 72 72 61 79 26 20 66 69 6c 65 73 20 29 7b lArray& files ){
0510: 20 72 65 74 75 72 6e 20 64 6c 6c 2e 6c 73 74 5f return dll.lst_
0520: 64 6c 6c 28 61 6e 61 6d 65 2c 66 69 6c 65 73 2c dll(aname,files,
0530: 6d 5f 57 69 6c 64 3d 3d 32 3f 22 2a 2e 2a 22 3a m_Wild==2?"*.*":
0540: 22 2a 22 29 3b 20 7d 0d 0a 0d 0a 09 69 6e 74 20 "*"); }.....int
0550: 20 76 5f 6c 6f 61 64 28 29 3b 0d 0a 09 69 6e 74 v_load();...int
0560: 20 20 76 5f 6d 65 6c 74 28 20 63 6f 6e 73 74 20 v_melt( const
0570: 61 72 63 6e 61 6d 65 26 20 61 6e 61 6d 65 2c 20 arcname& aname,
0580: 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 64 64 const kiPath& dd
0590: 69 72 2c 20 63 6f 6e 73 74 20 61 66 6c 41 72 72 ir, const aflArr
05a0: 61 79 2a 20 66 69 6c 65 73 20 29 3b 0d 0a 09 69 ay* files );...i
05b0: 6e 74 20 20 76 5f 63 6f 6d 70 72 65 73 73 28 20 nt v_compress(
05c0: 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 62 61 const kiPath& ba
05d0: 73 65 2c 20 63 6f 6e 73 74 20 77 66 64 41 72 72 se, const wfdArr
05e0: 61 79 26 20 66 69 6c 65 73 2c 20 63 6f 6e 73 74 ay& files, const
05f0: 20 6b 69 50 61 74 68 26 20 64 64 69 72 2c 20 69 kiPath& ddir, i
0600: 6e 74 20 6d 65 74 68 6f 64 2c 20 62 6f 6f 6c 20 nt method, bool
0610: 73 66 78 20 29 3b 0d 0a 09 6b 69 53 74 72 20 76 sfx );...kiStr v
0620: 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 72 _name(const char
0630: 2a 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 *) const { retur
0640: 6e 20 64 6c 6c 2e 6e 61 6d 65 28 29 3b 20 7d 0d n dll.name(); }.
0650: 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 63 6f ...private:...co
0660: 6e 73 74 20 63 68 61 72 20 2a 6d 5f 45 63 6d 64 nst char *m_Ecmd
0670: 2c 20 2a 6d 5f 58 63 6d 64 2c 20 2a 6d 5f 53 63 , *m_Xcmd, *m_Sc
0680: 6d 64 3b 0d 0a 09 75 6e 73 69 67 6e 65 64 20 69 md;...unsigned i
0690: 6e 74 20 6d 5f 57 69 6c 64 3b 0d 0a 09 69 6e 74 nt m_Wild;...int
06a0: 20 20 63 6d 70 72 28 20 69 6e 74 20 6d 68 64 2c cmpr( int mhd,
06b0: 20 6b 69 53 74 72 26 20 61 6e 61 6d 65 2c 63 6f kiStr& aname,co
06c0: 6e 73 74 20 6b 69 50 61 74 68 26 20 74 6f 2c 63 nst kiPath& to,c
06d0: 6f 6e 73 74 20 6b 69 53 74 72 26 20 6c 73 74 20 onst kiStr& lst
06e0: 29 3b 0d 0a 09 62 6f 6f 6c 20 61 72 63 32 73 66 );...bool arc2sf
06f0: 78 28 20 63 6f 6e 73 74 20 6b 69 53 74 72 26 20 x( const kiStr&
0700: 61 6e 61 6d 65 20 29 3b 0d 0a 7d 3b 0d 0a 0d 0a aname );..};....
0710: 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d //--------------
0720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f --------------//
0750: 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 44 4c ....class CArcDL
0760: 4c 5f 44 6f 74 53 6c 61 73 68 20 3a 20 70 75 62 L_DotSlash : pub
0770: 6c 69 63 20 43 41 72 63 44 4c 4c 0d 0a 7b 0d 0a lic CArcDLL..{..
0780: 09 2f 2f 20 22 2e 2f 2d 22 20 82 e2 20 22 2e 2f .// "./-" .. "./
0790: 40 22 20 82 c6 82 b7 82 e9 82 b1 82 c6 82 c5 82 @" .............
07a0: c6 82 e8 82 a0 82 a6 82 b8 96 b3 97 9d 96 ee 97 ................
07b0: 9d 88 b3 8f 6b 82 b7 82 e9 8c 60 8e ae 0d 0a 09 ....k.....`.....
07c0: 76 69 72 74 75 61 6c 20 76 6f 69 64 20 64 65 63 virtual void dec
07d0: 6f 72 61 74 65 5f 61 64 64 5f 63 6d 70 72 28 20 orate_add_cmpr(
07e0: 6b 69 53 74 72 26 20 6c 73 74 2c 20 63 6f 6e 73 kiStr& lst, cons
07f0: 74 20 63 68 61 72 2a 20 66 6e 61 6d 65 20 29 3b t char* fname );
0800: 0d 0a 0d 0a 70 72 6f 74 65 63 74 65 64 3a 0d 0a ....protected:..
0810: 09 43 41 72 63 44 4c 4c 5f 44 6f 74 53 6c 61 73 .CArcDLL_DotSlas
0820: 68 28 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 h(....const char
0830: 2a 20 20 44 6c 6c 6e 61 6d 65 2c 0d 0a 09 09 63 * Dllname,....c
0840: 6f 6e 73 74 20 63 68 61 72 2a 20 20 45 78 74 73 onst char* Exts
0850: 2c 0d 0a 09 09 63 6f 6e 73 74 20 63 68 61 72 2a ,....const char*
0860: 20 20 45 63 6d 64 2c 0d 0a 09 09 63 6f 6e 73 74 Ecmd,....const
0870: 20 63 68 61 72 2a 20 20 58 63 6d 64 2c 0d 0a 09 char* Xcmd,...
0880: 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 57 69 .unsigned int Wi
0890: 6c 64 3d 31 2c 0d 0a 09 09 63 6f 6e 73 74 20 63 ld=1,....const c
08a0: 68 61 72 2a 20 20 53 63 6d 64 3d 4e 55 4c 4c 20 har* Scmd=NULL
08b0: 29 0d 0a 09 09 3a 20 43 41 72 63 44 4c 4c 28 20 )....: CArcDLL(
08c0: 44 6c 6c 6e 61 6d 65 2c 20 45 78 74 73 2c 20 45 Dllname, Exts, E
08d0: 63 6d 64 2c 20 58 63 6d 64 2c 20 57 69 6c 64 2c cmd, Xcmd, Wild,
08e0: 20 53 63 6d 64 20 29 20 7b 7d 0d 0a 7d 3b 0d 0a Scmd ) {}..};..
08f0: 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..//------------
0900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0910: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0920: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0930: 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 //....class CArc
0940: 52 61 72 20 3a 20 70 75 62 6c 69 63 20 43 41 72 Rar : public CAr
0950: 63 44 4c 4c 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a cDLL..{..public:
0960: 0d 0a 09 43 41 72 63 52 61 72 28 29 20 3a 20 43 ...CArcRar() : C
0970: 41 72 63 44 4c 4c 28 0d 0a 09 09 22 55 6e 72 61 ArcDLL(...."Unra
0980: 72 33 32 2e 64 6c 6c 22 2c 0d 0a 09 09 22 72 61 r32.dll",...."ra
0990: 72 2e 22 2c 0d 0a 09 09 22 2d 78 22 2c 0d 0a 09 r.",...."-x",...
09a0: 09 22 2d 78 20 2d 73 20 2d 79 20 2d 2d 22 20 29 ."-x -s -y --" )
09b0: 20 7b 7d 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d {}....private:.
09c0: 0a 09 6b 69 53 74 72 20 76 5f 6e 61 6d 65 28 63 ..kiStr v_name(c
09d0: 6f 6e 73 74 20 63 68 61 72 2a 29 20 63 6f 6e 73 onst char*) cons
09e0: 74 20 7b 20 72 65 74 75 72 6e 20 22 52 41 52 22 t { return "RAR"
09f0: 3b 20 7d 0d 0a 09 2f 2f 20 93 c1 95 ca 82 c9 94 ; }...// .......
0a00: 68 90 b6 0d 0a 09 62 6f 6f 6c 20 76 5f 63 68 65 h.....bool v_che
0a10: 63 6b 28 20 63 6f 6e 73 74 20 6b 69 50 61 74 68 ck( const kiPath
0a20: 26 20 61 6e 61 6d 65 20 29 3b 0d 0a 09 69 6e 74 & aname );...int
0a30: 20 20 76 5f 6d 65 6c 74 28 20 63 6f 6e 73 74 20 v_melt( const
0a40: 61 72 63 6e 61 6d 65 26 20 61 6e 61 6d 65 2c 20 arcname& aname,
0a50: 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 64 64 const kiPath& dd
0a60: 69 72 2c 20 63 6f 6e 73 74 20 61 66 6c 41 72 72 ir, const aflArr
0a70: 61 79 2a 20 66 69 6c 65 73 20 29 3b 0d 0a 7d 3b ay* files );..};
0a80: 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....//----------
0a90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0aa0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0ab0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0ac0: 2d 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 --//....class CA
0ad0: 72 63 55 6e 5a 69 70 20 3a 20 70 75 62 6c 69 63 rcUnZip : public
0ae0: 20 43 41 72 63 44 4c 4c 0d 0a 7b 0d 0a 70 75 62 CArcDLL..{..pub
0af0: 6c 69 63 3a 0d 0a 09 43 41 72 63 55 6e 5a 69 70 lic:...CArcUnZip
0b00: 28 29 20 3a 20 43 41 72 63 44 4c 4c 28 0d 0a 09 () : CArcDLL(...
0b10: 09 22 55 6e 5a 69 70 33 32 2e 64 6c 6c 22 2c 0d ."UnZip32.dll",.
0b20: 0a 09 09 22 7a 69 70 2e 6a 61 72 2e 22 2c 0d 0a ..."zip.jar.",..
0b30: 09 09 22 2d 78 22 2c 0d 0a 09 09 22 2d 78 20 2d .."-x",...."-x -
0b40: 2d 69 20 2d 6f 22 20 29 20 7b 7d 0d 0a 70 72 69 -i -o" ) {}..pri
0b50: 76 61 74 65 3a 0d 0a 09 6b 69 53 74 72 20 76 5f vate:...kiStr v_
0b60: 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 72 2a name(const char*
0b70: 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e ) const { return
0b80: 20 22 5a 49 50 22 3b 20 7d 0d 0a 09 2f 2f 20 93 "ZIP"; }...// .
0b90: c1 95 ca 82 c9 94 68 90 b6 0d 0a 09 69 6e 74 20 ......h.....int
0ba0: 20 76 5f 6d 65 6c 74 28 20 63 6f 6e 73 74 20 61 v_melt( const a
0bb0: 72 63 6e 61 6d 65 26 20 61 6e 61 6d 65 2c 20 63 rcname& aname, c
0bc0: 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 64 64 69 onst kiPath& ddi
0bd0: 72 2c 20 63 6f 6e 73 74 20 61 66 6c 41 72 72 61 r, const aflArra
0be0: 79 2a 20 66 69 6c 65 73 20 29 3b 0d 0a 7d 3b 0d y* files );..};.
0bf0: 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...//-----------
0c00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0c10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0c20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0c30: 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 -//....class CAr
0c40: 63 4c 7a 68 20 3a 20 70 75 62 6c 69 63 20 43 41 cLzh : public CA
0c50: 72 63 44 4c 4c 0d 0a 7b 0d 0a 70 75 62 6c 69 63 rcDLL..{..public
0c60: 3a 0d 0a 09 43 41 72 63 4c 7a 68 28 29 20 3a 20 :...CArcLzh() :
0c70: 43 41 72 63 44 4c 4c 28 0d 0a 09 09 22 55 6e 6c CArcDLL(...."Unl
0c80: 68 61 33 32 2e 64 6c 6c 22 2c 0d 0a 09 09 22 6c ha32.dll",...."l
0c90: 7a 68 2e 6c 68 61 2e 6c 7a 73 2e 22 2c 0d 0a 09 zh.lha.lzs.",...
0ca0: 09 22 78 20 2d 61 31 20 2d 6a 66 30 22 2c 0d 0a ."x -a1 -jf0",..
0cb0: 09 09 22 78 20 2d 61 31 20 2d 6a 66 30 20 2d 6a .."x -a1 -jf0 -j
0cc0: 79 6f 20 2d 70 31 20 2d 6e 20 2d 67 6d 20 2d 2d yo -p1 -n -gm --
0cd0: 22 2c 0d 0a 09 09 30 2c 0d 0a 09 09 22 73 20 2d ",....0,...."s -
0ce0: 67 77 33 20 2d 78 31 22 20 29 20 7b 7d 0d 0a 70 gw3 -x1" ) {}..p
0cf0: 72 69 76 61 74 65 3a 0d 0a 09 6b 69 53 74 72 20 rivate:...kiStr
0d00: 76 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 v_name(const cha
0d10: 72 2a 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 r*) const { retu
0d20: 72 6e 20 22 4c 5a 48 22 3b 20 7d 0d 0a 09 44 57 rn "LZH"; }...DW
0d30: 4f 52 44 20 73 65 74 5f 63 6d 70 72 5f 6d 68 64 ORD set_cmpr_mhd
0d40: 28 29 3b 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 ();...const char
0d50: 2a 20 67 65 74 5f 63 6d 70 72 5f 63 6d 64 28 20 * get_cmpr_cmd(
0d60: 69 6e 74 20 6d 65 74 68 6f 64 20 29 3b 0d 0a 09 int method );...
0d70: 76 6f 69 64 20 64 65 63 6f 72 61 74 65 5f 61 64 void decorate_ad
0d80: 64 5f 63 6d 70 72 28 20 6b 69 53 74 72 26 20 6c d_cmpr( kiStr& l
0d90: 73 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 st, const char*
0da0: 66 6e 61 6d 65 20 29 3b 0d 0a 09 76 6f 69 64 20 fname );...void
0db0: 64 65 63 6f 72 61 74 65 5f 61 64 64 5f 6d 65 6c decorate_add_mel
0dc0: 74 28 20 6b 69 53 74 72 26 20 6c 73 74 2c 20 63 t( kiStr& lst, c
0dd0: 6f 6e 73 74 20 63 68 61 72 2a 20 66 6e 61 6d 65 onst char* fname
0de0: 20 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d );..};....//---
0df0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0e00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0e10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0e20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a 63 ---------//....c
0e30: 6c 61 73 73 20 43 41 72 63 5a 69 70 20 3a 20 70 lass CArcZip : p
0e40: 75 62 6c 69 63 20 43 41 72 63 44 4c 4c 0d 0a 7b ublic CArcDLL..{
0e50: 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 ..public:...CArc
0e60: 5a 69 70 28 29 20 3a 20 43 41 72 63 44 4c 4c 28 Zip() : CArcDLL(
0e70: 0d 0a 09 09 22 5a 69 70 33 32 6a 2e 64 6c 6c 22 ...."Zip32j.dll"
0e80: 2c 0d 0a 09 09 22 22 2c 0d 0a 09 09 4e 55 4c 4c ,...."",....NULL
0e90: 2c 0d 0a 09 09 4e 55 4c 4c 2c 0d 0a 09 09 31 2c ,....NULL,....1,
0ea0: 0d 0a 09 09 22 2d 2d 73 66 78 22 20 29 20 7b 7d ...."--sfx" ) {}
0eb0: 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 44 57 4f ..private:...DWO
0ec0: 52 44 20 73 65 74 5f 63 6d 70 72 5f 6d 68 64 28 RD set_cmpr_mhd(
0ed0: 29 3b 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 2a );...const char*
0ee0: 20 67 65 74 5f 63 6d 70 72 5f 63 6d 64 28 20 69 get_cmpr_cmd( i
0ef0: 6e 74 20 6d 65 74 68 6f 64 20 29 3b 0d 0a 09 76 nt method );...v
0f00: 6f 69 64 20 64 65 63 6f 72 61 74 65 5f 61 64 64 oid decorate_add
0f10: 5f 63 6d 70 72 28 20 6b 69 53 74 72 26 20 6c 73 _cmpr( kiStr& ls
0f20: 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 66 t, const char* f
0f30: 6e 61 6d 65 20 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f name );..};..../
0f40: 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d /---------------
0f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d -------------//.
0f80: 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 43 61 62 ...class CArcCab
0f90: 20 3a 20 70 75 62 6c 69 63 20 43 41 72 63 44 4c : public CArcDL
0fa0: 4c 5f 44 6f 74 53 6c 61 73 68 0d 0a 7b 0d 0a 70 L_DotSlash..{..p
0fb0: 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 43 61 62 ublic:...CArcCab
0fc0: 28 29 20 3a 20 43 41 72 63 44 4c 4c 5f 44 6f 74 () : CArcDLL_Dot
0fd0: 53 6c 61 73 68 28 0d 0a 09 09 22 43 61 62 33 32 Slash(...."Cab32
0fe0: 2e 64 6c 6c 22 2c 0d 0a 09 09 22 63 61 62 2e 22 .dll",...."cab."
0ff0: 2c 0d 0a 09 09 22 2d 78 22 2c 0d 0a 09 09 22 2d ,...."-x",...."-
1000: 78 20 2d 69 20 2d 6f 22 2c 0d 0a 09 09 31 2c 0d x -i -o",....1,.
1010: 0a 09 09 22 2d 66 22 20 29 20 7b 7d 0d 0a 70 72 ..."-f" ) {}..pr
1020: 69 76 61 74 65 3a 0d 0a 09 6b 69 53 74 72 20 76 ivate:...kiStr v
1030: 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 72 _name(const char
1040: 2a 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 *) const { retur
1050: 6e 20 22 43 41 42 22 3b 20 7d 0d 0a 09 44 57 4f n "CAB"; }...DWO
1060: 52 44 20 73 65 74 5f 63 6d 70 72 5f 6d 68 64 28 RD set_cmpr_mhd(
1070: 29 3b 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 2a );...const char*
1080: 20 67 65 74 5f 63 6d 70 72 5f 63 6d 64 28 20 69 get_cmpr_cmd( i
1090: 6e 74 20 6d 65 74 68 6f 64 20 29 3b 0d 0a 7d 3b nt method );..};
10a0: 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....//----------
10b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
10e0: 2d 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 --//....class CA
10f0: 72 63 54 61 72 20 3a 20 70 75 62 6c 69 63 20 43 rcTar : public C
1100: 41 72 63 44 4c 4c 5f 44 6f 74 53 6c 61 73 68 0d ArcDLL_DotSlash.
1110: 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 .{..public:...CA
1120: 72 63 54 61 72 28 29 20 3a 20 43 41 72 63 44 4c rcTar() : CArcDL
1130: 4c 5f 44 6f 74 53 6c 61 73 68 28 0d 0a 09 09 22 L_DotSlash(...."
1140: 54 61 72 33 32 2e 64 6c 6c 22 2c 0d 0a 09 09 22 Tar32.dll",...."
1150: 74 61 72 2e 74 67 7a 2e 74 62 7a 2e 67 7a 2e 62 tar.tgz.tbz.gz.b
1160: 7a 32 2e 7a 2e 74 61 7a 2e 72 70 6d 2e 64 65 62 z2.z.taz.rpm.deb
1170: 2e 61 72 2e 78 7a 2e 6c 7a 6d 61 2e 22 2c 0d 0a .ar.xz.lzma.",..
1180: 09 09 22 2d 78 76 66 22 2c 0d 0a 09 09 22 2d 2d .."-xvf",...."--
1190: 63 68 65 63 6b 2d 61 6c 6c 2d 70 61 74 68 3d 31 check-all-path=1
11a0: 20 2d 2d 64 69 73 70 6c 61 79 2d 64 69 61 6c 6f --display-dialo
11b0: 67 3d 30 20 2d 78 76 66 22 2c 0d 0a 09 09 32 20 g=0 -xvf",....2
11c0: 29 20 7b 7d 0d 0a 70 72 69 76 61 74 65 3a 0d 0a ) {}..private:..
11d0: 09 23 64 65 66 69 6e 65 20 41 52 43 48 49 56 45 .#define ARCHIVE
11e0: 54 59 50 45 5f 4e 4f 52 4d 41 4c 20 30 0d 0a 09 TYPE_NORMAL 0...
11f0: 23 64 65 66 69 6e 65 20 41 52 43 48 49 56 45 54 #define ARCHIVET
1200: 59 50 45 5f 54 41 52 20 31 0d 0a 09 23 64 65 66 YPE_TAR 1...#def
1210: 69 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ine ARCHIVETYPE_
1220: 54 41 52 47 5a 20 32 0d 0a 09 23 64 65 66 69 6e TARGZ 2...#defin
1230: 65 20 41 52 43 48 49 56 45 54 59 50 45 5f 54 41 e ARCHIVETYPE_TA
1240: 52 5a 20 33 0d 0a 09 23 64 65 66 69 6e 65 20 41 RZ 3...#define A
1250: 52 43 48 49 56 45 54 59 50 45 5f 47 5a 20 34 0d RCHIVETYPE_GZ 4.
1260: 0a 09 23 64 65 66 69 6e 65 20 41 52 43 48 49 56 ..#define ARCHIV
1270: 45 54 59 50 45 5f 5a 20 35 0d 0a 09 23 64 65 66 ETYPE_Z 5...#def
1280: 69 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ine ARCHIVETYPE_
1290: 54 41 52 42 5a 32 20 36 0d 0a 09 23 64 65 66 69 TARBZ2 6...#defi
12a0: 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f 42 ne ARCHIVETYPE_B
12b0: 5a 32 09 37 0d 0a 0d 0a 09 23 64 65 66 69 6e 65 Z2.7.....#define
12c0: 20 41 52 43 48 49 56 45 54 59 50 45 5f 43 50 49 ARCHIVETYPE_CPI
12d0: 4f 09 33 32 0d 0a 09 23 64 65 66 69 6e 65 20 41 O.32...#define A
12e0: 52 43 48 49 56 45 54 59 50 45 5f 43 50 49 4f 47 RCHIVETYPE_CPIOG
12f0: 5a 09 33 32 2b 34 0d 0a 09 23 64 65 66 69 6e 65 Z.32+4...#define
1300: 20 41 52 43 48 49 56 45 54 59 50 45 5f 43 50 49 ARCHIVETYPE_CPI
1310: 4f 5a 09 33 32 2b 35 0d 0a 09 23 64 65 66 69 6e OZ.32+5...#defin
1320: 65 20 41 52 43 48 49 56 45 54 59 50 45 5f 43 50 e ARCHIVETYPE_CP
1330: 49 4f 42 5a 32 09 33 32 2b 37 0d 0a 0d 0a 09 23 IOBZ2.32+7.....#
1340: 64 65 66 69 6e 65 20 41 52 43 48 49 56 45 54 59 define ARCHIVETY
1350: 50 45 5f 41 52 09 09 34 38 0d 0a 09 23 64 65 66 PE_AR..48...#def
1360: 69 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ine ARCHIVETYPE_
1370: 41 52 47 5a 09 34 38 2b 34 0d 0a 09 23 64 65 66 ARGZ.48+4...#def
1380: 69 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ine ARCHIVETYPE_
1390: 41 52 5a 09 09 34 38 2b 35 0d 0a 09 23 64 65 66 ARZ..48+5...#def
13a0: 69 6e 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ine ARCHIVETYPE_
13b0: 41 52 42 5a 32 09 34 38 2b 37 0d 0a 09 6b 69 53 ARBZ2.48+7...kiS
13c0: 74 72 20 76 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 tr v_name(const
13d0: 63 68 61 72 2a 20 61 6e 29 20 63 6f 6e 73 74 20 char* an) const
13e0: 7b 20 73 77 69 74 63 68 28 64 6c 6c 2e 61 72 63 { switch(dll.arc
13f0: 74 79 70 65 28 61 6e 29 29 20 7b 0d 0a 09 09 63 type(an)) {....c
1400: 61 73 65 20 41 52 43 48 49 56 45 54 59 50 45 5f ase ARCHIVETYPE_
1410: 47 5a 3a 20 20 20 20 20 72 65 74 75 72 6e 20 22 GZ: return "
1420: 47 5a 22 3b 0d 0a 09 09 63 61 73 65 20 41 52 43 GZ";....case ARC
1430: 48 49 56 45 54 59 50 45 5f 5a 3a 20 20 20 20 20 HIVETYPE_Z:
1440: 20 72 65 74 75 72 6e 20 22 5a 22 3b 0d 0a 09 09 return "Z";....
1450: 63 61 73 65 20 41 52 43 48 49 56 45 54 59 50 45 case ARCHIVETYPE
1460: 5f 42 5a 32 3a 20 20 20 20 72 65 74 75 72 6e 20 _BZ2: return
1470: 22 42 5a 32 22 3b 0d 0a 09 09 63 61 73 65 20 41 "BZ2";....case A
1480: 52 43 48 49 56 45 54 59 50 45 5f 54 41 52 47 5a RCHIVETYPE_TARGZ
1490: 3a 20 20 72 65 74 75 72 6e 20 22 54 41 52 2b 47 : return "TAR+G
14a0: 5a 22 3b 0d 0a 09 09 63 61 73 65 20 41 52 43 48 Z";....case ARCH
14b0: 49 56 45 54 59 50 45 5f 54 41 52 5a 3a 20 20 20 IVETYPE_TARZ:
14c0: 72 65 74 75 72 6e 20 22 54 41 52 2b 5a 22 3b 0d return "TAR+Z";.
14d0: 0a 09 09 63 61 73 65 20 41 52 43 48 49 56 45 54 ...case ARCHIVET
14e0: 59 50 45 5f 54 41 52 42 5a 32 3a 20 72 65 74 75 YPE_TARBZ2: retu
14f0: 72 6e 20 22 54 41 52 2b 42 5a 32 22 3b 0d 0a 09 rn "TAR+BZ2";...
1500: 09 63 61 73 65 20 41 52 43 48 49 56 45 54 59 50 .case ARCHIVETYP
1510: 45 5f 43 50 49 4f 47 5a 3a 20 72 65 74 75 72 6e E_CPIOGZ: return
1520: 20 6b 69 53 74 72 28 22 72 70 6d 22 29 2e 69 73 kiStr("rpm").is
1530: 53 61 6d 65 28 6b 69 50 61 74 68 3a 3a 65 78 74 Same(kiPath::ext
1540: 28 61 6e 29 29 20 3f 20 22 52 50 4d 22 20 3a 20 (an)) ? "RPM" :
1550: 22 43 50 49 4f 2b 47 5a 22 3b 0d 0a 09 09 63 61 "CPIO+GZ";....ca
1560: 73 65 20 41 52 43 48 49 56 45 54 59 50 45 5f 43 se ARCHIVETYPE_C
1570: 50 49 4f 5a 3a 20 20 72 65 74 75 72 6e 20 22 43 PIOZ: return "C
1580: 50 49 4f 2b 5a 22 3b 0d 0a 09 09 63 61 73 65 20 PIO+Z";....case
1590: 41 52 43 48 49 56 45 54 59 50 45 5f 43 50 49 4f ARCHIVETYPE_CPIO
15a0: 42 5a 32 3a 72 65 74 75 72 6e 20 22 43 50 49 4f BZ2:return "CPIO
15b0: 2b 42 5a 32 22 3b 0d 0a 09 09 63 61 73 65 20 41 +BZ2";....case A
15c0: 52 43 48 49 56 45 54 59 50 45 5f 41 52 47 5a 3a RCHIVETYPE_ARGZ:
15d0: 20 20 20 72 65 74 75 72 6e 20 22 41 52 2b 47 5a return "AR+GZ
15e0: 22 3b 0d 0a 09 09 63 61 73 65 20 41 52 43 48 49 ";....case ARCHI
15f0: 56 45 54 59 50 45 5f 41 52 5a 3a 20 20 20 20 72 VETYPE_ARZ: r
1600: 65 74 75 72 6e 20 22 41 52 2b 5a 22 3b 0d 0a 09 eturn "AR+Z";...
1610: 09 63 61 73 65 20 41 52 43 48 49 56 45 54 59 50 .case ARCHIVETYP
1620: 45 5f 41 52 42 5a 32 3a 20 20 72 65 74 75 72 6e E_ARBZ2: return
1630: 20 22 41 52 2b 42 5a 32 22 3b 0d 0a 09 09 63 61 "AR+BZ2";....ca
1640: 73 65 20 41 52 43 48 49 56 45 54 59 50 45 5f 41 se ARCHIVETYPE_A
1650: 52 3a 20 20 20 20 20 72 65 74 75 72 6e 20 22 41 R: return "A
1660: 52 22 3b 0d 0a 09 09 63 61 73 65 20 41 52 43 48 R";....case ARCH
1670: 49 56 45 54 59 50 45 5f 43 50 49 4f 3a 20 20 20 IVETYPE_CPIO:
1680: 72 65 74 75 72 6e 20 22 43 50 49 4f 22 3b 0d 0a return "CPIO";..
1690: 09 09 64 65 66 61 75 6c 74 3a 20 20 20 20 20 20 ..default:
16a0: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 retur
16b0: 6e 20 22 54 41 52 22 3b 0d 0a 09 7d 7d 0d 0a 09 n "TAR";...}}...
16c0: 63 6f 6e 73 74 20 63 68 61 72 2a 20 67 65 74 5f const char* get_
16d0: 63 6d 70 72 5f 65 78 74 28 20 69 6e 74 20 6d 65 cmpr_ext( int me
16e0: 74 68 6f 64 20 29 3b 0d 0a 09 44 57 4f 52 44 20 thod );...DWORD
16f0: 73 65 74 5f 63 6d 70 72 5f 6d 68 64 28 29 3b 0d set_cmpr_mhd();.
1700: 0a 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 67 65 ..const char* ge
1710: 74 5f 63 6d 70 72 5f 63 6d 64 28 20 69 6e 74 20 t_cmpr_cmd( int
1720: 6d 65 74 68 6f 64 20 29 3b 0d 0a 7d 3b 0d 0a 0d method );..};...
1730: 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//-------------
1740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1760: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f ---------------/
1770: 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 42 /....class CArcB
1780: 67 61 20 3a 20 70 75 62 6c 69 63 20 43 41 72 63 ga : public CArc
1790: 44 4c 4c 5f 44 6f 74 53 6c 61 73 68 0d 0a 7b 0d DLL_DotSlash..{.
17a0: 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 42 .public:...CArcB
17b0: 67 61 28 29 20 3a 20 43 41 72 63 44 4c 4c 5f 44 ga() : CArcDLL_D
17c0: 6f 74 53 6c 61 73 68 28 0d 0a 09 09 22 42 67 61 otSlash(...."Bga
17d0: 33 32 2e 64 6c 6c 22 2c 0d 0a 09 09 22 67 7a 61 32.dll",...."gza
17e0: 2e 62 7a 61 2e 22 2c 0d 0a 09 09 22 78 20 2d 61 .bza.",...."x -a
17f0: 22 2c 0d 0a 09 09 22 78 20 2d 61 20 2d 69 20 2d ",...."x -a -i -
1800: 6f 22 2c 0d 0a 09 09 30 2c 0d 0a 09 09 22 73 22 o",....0,...."s"
1810: 20 29 20 7b 7d 0d 0a 70 72 69 76 61 74 65 3a 0d ) {}..private:.
1820: 0a 09 6b 69 53 74 72 20 76 5f 6e 61 6d 65 28 63 ..kiStr v_name(c
1830: 6f 6e 73 74 20 63 68 61 72 2a 20 61 6e 29 20 63 onst char* an) c
1840: 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 6c onst { return dl
1850: 6c 2e 61 72 63 74 79 70 65 28 61 6e 29 3d 3d 32 l.arctype(an)==2
1860: 20 3f 20 22 42 5a 41 22 20 3a 20 22 47 5a 41 22 ? "BZA" : "GZA"
1870: 3b 20 7d 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 ; }...const char
1880: 2a 20 67 65 74 5f 63 6d 70 72 5f 65 78 74 28 20 * get_cmpr_ext(
1890: 69 6e 74 20 6d 65 74 68 6f 64 20 29 3b 0d 0a 09 int method );...
18a0: 44 57 4f 52 44 20 73 65 74 5f 63 6d 70 72 5f 6d DWORD set_cmpr_m
18b0: 68 64 28 29 3b 0d 0a 09 63 6f 6e 73 74 20 63 68 hd();...const ch
18c0: 61 72 2a 20 67 65 74 5f 63 6d 70 72 5f 63 6d 64 ar* get_cmpr_cmd
18d0: 28 20 69 6e 74 20 6d 65 74 68 6f 64 20 29 3b 0d ( int method );.
18e0: 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d .};....//-------
18f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1910: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1920: 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 -----//....class
1930: 20 43 41 72 63 59 7a 31 20 3a 20 70 75 62 6c 69 CArcYz1 : publi
1940: 63 20 43 41 72 63 44 4c 4c 0d 0a 7b 0d 0a 70 75 c CArcDLL..{..pu
1950: 62 6c 69 63 3a 0d 0a 09 43 41 72 63 59 7a 31 28 blic:...CArcYz1(
1960: 29 20 3a 20 43 41 72 63 44 4c 4c 28 0d 0a 09 09 ) : CArcDLL(....
1970: 22 59 7a 31 2e 64 6c 6c 22 2c 0d 0a 09 09 22 79 "Yz1.dll",...."y
1980: 7a 31 2e 22 2c 0d 0a 09 09 22 78 22 2c 0d 0a 09 z1.",...."x",...
1990: 09 22 78 20 2d 79 20 2d 7a 20 2d 69 32 20 2d 2d ."x -y -z -i2 --
19a0: 22 2c 0d 0a 09 09 30 2c 0d 0a 09 09 22 73 22 20 ",....0,...."s"
19b0: 29 20 7b 7d 0d 0a 70 72 69 76 61 74 65 3a 0d 0a ) {}..private:..
19c0: 09 6b 69 53 74 72 20 76 5f 6e 61 6d 65 28 63 6f .kiStr v_name(co
19d0: 6e 73 74 20 63 68 61 72 2a 29 20 63 6f 6e 73 74 nst char*) const
19e0: 20 7b 20 72 65 74 75 72 6e 20 22 59 5a 31 22 3b { return "YZ1";
19f0: 20 7d 0d 0a 09 44 57 4f 52 44 20 73 65 74 5f 63 }...DWORD set_c
1a00: 6d 70 72 5f 6d 68 64 28 29 3b 0d 0a 09 63 6f 6e mpr_mhd();...con
1a10: 73 74 20 63 68 61 72 2a 20 67 65 74 5f 63 6d 70 st char* get_cmp
1a20: 72 5f 63 6d 64 28 20 69 6e 74 20 6d 65 74 68 6f r_cmd( int metho
1a30: 64 20 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d d );..};....//--
1a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1a50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1a60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a ----------//....
1a80: 63 6c 61 73 73 20 43 41 72 63 41 72 6a 20 3a 20 class CArcArj :
1a90: 70 75 62 6c 69 63 20 43 41 72 63 44 4c 4c 0d 0a public CArcDLL..
1aa0: 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 {..public:...CAr
1ab0: 63 41 72 6a 28 29 20 3a 20 43 41 72 63 44 4c 4c cArj() : CArcDLL
1ac0: 0d 0a 09 09 28 20 22 55 6e 61 72 6a 33 32 6a 2e ....( "Unarj32j.
1ad0: 64 6c 6c 22 2c 20 22 61 72 6a 2e 22 2c 20 22 78 dll", "arj.", "x
1ae0: 20 2d 6a 79 63 22 2c 20 22 78 20 2d 79 20 2d 70 -jyc", "x -y -p
1af0: 20 2d 68 6d 20 2d 69 20 2d 21 22 20 29 20 7b 7d -hm -i -!" ) {}
1b00: 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 6b ....private:...k
1b10: 69 53 74 72 20 76 5f 6e 61 6d 65 28 63 6f 6e 73 iStr v_name(cons
1b20: 74 20 63 68 61 72 2a 29 20 63 6f 6e 73 74 20 7b t char*) const {
1b30: 20 72 65 74 75 72 6e 20 22 41 52 4a 22 3b 20 7d return "ARJ"; }
1b40: 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d ..};....//------
1b50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1b60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1b70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1b80: 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 ------//....clas
1b90: 73 20 43 41 72 63 47 63 61 20 3a 20 70 75 62 6c s CArcGca : publ
1ba0: 69 63 20 43 41 72 63 44 4c 4c 0d 0a 7b 0d 0a 70 ic CArcDLL..{..p
1bb0: 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 47 63 61 ublic:...CArcGca
1bc0: 28 29 20 3a 20 43 41 72 63 44 4c 4c 0d 0a 09 09 () : CArcDLL....
1bd0: 28 20 22 55 6e 47 43 41 33 32 2e 64 6c 6c 22 2c ( "UnGCA32.dll",
1be0: 20 22 67 63 61 2e 22 2c 20 22 65 20 2d 73 78 31 "gca.", "e -sx1
1bf0: 22 2c 20 22 65 78 20 2d 78 78 31 20 2d 73 78 30 ", "ex -xx1 -sx0
1c00: 20 2d 79 78 30 22 20 29 20 7b 7d 0d 0a 0d 0a 70 -yx0" ) {}....p
1c10: 72 69 76 61 74 65 3a 0d 0a 09 6b 69 53 74 72 20 rivate:...kiStr
1c20: 76 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 v_name(const cha
1c30: 72 2a 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 r*) const { retu
1c40: 72 6e 20 22 47 43 41 22 3b 20 7d 0d 0a 7d 3b 0d rn "GCA"; }..};.
1c50: 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...//-----------
1c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1c70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1c90: 2d 2f 2f 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 -//....class CAr
1ca0: 63 37 7a 20 3a 20 70 75 62 6c 69 63 20 43 41 72 c7z : public CAr
1cb0: 63 44 4c 4c 5f 44 6f 74 53 6c 61 73 68 0d 0a 7b cDLL_DotSlash..{
1cc0: 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 ..public:...CArc
1cd0: 37 7a 28 29 20 3a 20 43 41 72 63 44 4c 4c 5f 44 7z() : CArcDLL_D
1ce0: 6f 74 53 6c 61 73 68 28 0d 0a 09 09 22 37 2d 7a otSlash(...."7-z
1cf0: 69 70 33 32 2e 64 6c 6c 22 2c 0d 0a 09 09 22 37 ip32.dll",...."7
1d00: 7a 2e 7a 69 70 2e 6a 61 72 2e 22 2c 0d 0a 09 09 z.zip.jar.",....
1d10: 22 78 20 2d 2d 22 2c 0d 0a 09 09 22 78 20 2d 79 "x --",...."x -y
1d20: 20 2d 68 69 64 65 20 2d 2d 22 2c 0d 0a 09 09 31 -hide --",....1
1d30: 2c 0d 0a 09 09 22 22 20 29 20 7b 7d 0d 0a 70 72 ,...."" ) {}..pr
1d40: 69 76 61 74 65 3a 0d 0a 09 6b 69 53 74 72 20 76 ivate:...kiStr v
1d50: 5f 6e 61 6d 65 28 63 6f 6e 73 74 20 63 68 61 72 _name(const char
1d60: 2a 20 61 6e 29 20 63 6f 6e 73 74 20 7b 20 72 65 * an) const { re
1d70: 74 75 72 6e 20 64 6c 6c 2e 61 72 63 74 79 70 65 turn dll.arctype
1d80: 28 61 6e 29 3d 3d 31 20 3f 20 22 5a 49 50 22 20 (an)==1 ? "ZIP"
1d90: 3a 20 22 37 5a 22 3b 20 7d 0d 0a 09 44 57 4f 52 : "7Z"; }...DWOR
1da0: 44 20 73 65 74 5f 63 6d 70 72 5f 6d 68 64 28 29 D set_cmpr_mhd()
1db0: 3b 0d 0a 09 63 6f 6e 73 74 20 63 68 61 72 2a 20 ;...const char*
1dc0: 67 65 74 5f 63 6d 70 72 5f 63 6d 64 28 20 69 6e get_cmpr_cmd( in
1dd0: 74 20 6d 65 74 68 6f 64 20 29 3b 0d 0a 09 63 6f t method );...co
1de0: 6e 73 74 20 63 68 61 72 2a 20 67 65 74 5f 63 6d nst char* get_cm
1df0: 70 72 5f 65 78 74 28 20 69 6e 74 20 6d 65 74 68 pr_ext( int meth
1e00: 6f 64 20 29 3b 0d 0a 09 76 69 72 74 75 61 6c 20 od );...virtual
1e10: 69 6e 74 20 76 5f 63 6f 6d 70 72 65 73 73 28 20 int v_compress(
1e20: 63 6f 6e 73 74 20 6b 69 50 61 74 68 26 20 62 61 const kiPath& ba
1e30: 73 65 2c 20 63 6f 6e 73 74 20 77 66 64 41 72 72 se, const wfdArr
1e40: 61 79 26 20 66 69 6c 65 73 2c 20 63 6f 6e 73 74 ay& files, const
1e50: 20 6b 69 50 61 74 68 26 20 64 64 69 72 2c 20 69 kiPath& ddir, i
1e60: 6e 74 20 6d 65 74 68 6f 64 2c 20 62 6f 6f 6c 20 nt method, bool
1e70: 73 66 78 20 29 3b 0d 0a 09 62 6f 6f 6c 20 6d 5f sfx );...bool m_
1e80: 53 66 78 4d 6f 64 65 3b 0d 0a 7d 3b 0d 0a 0d 0a SfxMode;..};....
1e90: 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d //--------------
1ea0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1eb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1ec0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f --------------//
1ed0: 0d 0a 0d 0a 63 6c 61 73 73 20 43 41 72 63 37 7a ....class CArc7z
1ee0: 5a 69 70 20 3a 20 70 75 62 6c 69 63 20 43 41 72 Zip : public CAr
1ef0: 63 44 4c 4c 5f 44 6f 74 53 6c 61 73 68 0d 0a 7b cDLL_DotSlash..{
1f00: 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 43 41 72 63 ..public:...CArc
1f10: 37 7a 5a 69 70 28 29 20 3a 20 43 41 72 63 44 4c 7zZip() : CArcDL
1f20: 4c 5f 44 6f 74 53 6c 61 73 68 28 0d 0a 09 09 22 L_DotSlash(...."
1f30: 37 2d 7a 69 70 33 32 2e 64 6c 6c 22 2c 0d 0a 09 7-zip32.dll",...
1f40: 09 22 22 2c 4e 55 4c 4c 2c 4e 55 4c 4c 2c 31 2c ."",NULL,NULL,1,
1f50: 22 22 20 29 20 7b 7d 0d 0a 70 72 69 76 61 74 65 "" ) {}..private
1f60: 3a 0d 0a 09 44 57 4f 52 44 20 73 65 74 5f 63 6d :...DWORD set_cm
1f70: 70 72 5f 6d 68 64 28 29 3b 0d 0a 09 63 6f 6e 73 pr_mhd();...cons
1f80: 74 20 63 68 61 72 2a 20 67 65 74 5f 63 6d 70 72 t char* get_cmpr
1f90: 5f 63 6d 64 28 20 69 6e 74 20 6d 65 74 68 6f 64 _cmd( int method
1fa0: 20 29 3b 0d 0a 09 76 69 72 74 75 61 6c 20 62 6f );...virtual bo
1fb0: 6f 6c 20 76 5f 76 65 72 28 20 6b 69 53 74 72 26 ol v_ver( kiStr&
1fc0: 20 29 7b 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ){return false;
1fd0: 7d 2f 2f 43 41 72 63 37 7a 82 c9 94 43 82 b9 82 }//CArc7z...C...
1fe0: e9 0d 0a 09 76 69 72 74 75 61 6c 20 69 6e 74 20 ....virtual int
1ff0: 76 5f 63 6f 6d 70 72 65 73 73 28 20 63 6f 6e 73 v_compress( cons
2000: 74 20 6b 69 50 61 74 68 26 20 62 61 73 65 2c 20 t kiPath& base,
2010: 63 6f 6e 73 74 20 77 66 64 41 72 72 61 79 26 20 const wfdArray&
2020: 66 69 6c 65 73 2c 20 63 6f 6e 73 74 20 6b 69 50 files, const kiP
2030: 61 74 68 26 20 64 64 69 72 2c 20 69 6e 74 20 6d ath& ddir, int m
2040: 65 74 68 6f 64 2c 20 62 6f 6f 6c 20 73 66 78 20 ethod, bool sfx
2050: 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d );..};....//----
2060: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2070: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2080: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2090: 2d 2d 2d 2d 2d 2d 2d 2d 2f 2f 0d 0a 0d 0a 23 65 --------//....#e
20a0: 6e 64 69 66 0d 0a ndif..