Hex Artifact Content

Not logged in

Artifact 1bc7e46b14f145cf09f9a8189bc1a79b28e472fa:


0000: 2f 2f 20 4e 6f 61 68 41 4d 2e 68 0d 0a 2f 2f 2d  // NoahAM.h..//-
0010: 2d 20 43 4e 6f 61 68 41 72 63 68 69 76 65 72 4d  - CNoahArchiverM
0020: 61 6e 61 67 65 72 20 2d 2d 20 63 6f 6e 74 72 6f  anager -- contro
0030: 6c 20 6d 61 6e 79 20 61 72 63 68 69 76 65 72 20  l many archiver 
0040: 72 6f 75 74 69 6e 65 73 20 2d 2d 0d 0a 0d 0a 23  routines --....#
0050: 69 66 6e 64 65 66 20 41 46 58 5f 4e 4f 41 48 41  ifndef AFX_NOAHA
0060: 4d 5f 48 5f 5f 43 43 45 33 30 37 36 31 5f 44 39  M_H__CCE30761_D9
0070: 31 42 5f 34 35 37 30 5f 39 33 31 41 5f 36 43 31  1B_4570_931A_6C1
0080: 36 35 42 31 39 42 32 32 46 5f 5f 49 4e 43 4c 55  65B19B22F__INCLU
0090: 44 45 44 5f 0d 0a 23 64 65 66 69 6e 65 20 41 46  DED_..#define AF
00a0: 58 5f 4e 4f 41 48 41 4d 5f 48 5f 5f 43 43 45 33  X_NOAHAM_H__CCE3
00b0: 30 37 36 31 5f 44 39 31 42 5f 34 35 37 30 5f 39  0761_D91B_4570_9
00c0: 33 31 41 5f 36 43 31 36 35 42 31 39 42 32 32 46  31A_6C165B19B22F
00d0: 5f 5f 49 4e 43 4c 55 44 45 44 5f 0d 0a 0d 0a 23  __INCLUDED_....#
00e0: 69 6e 63 6c 75 64 65 20 22 41 72 63 68 69 76 65  include "Archive
00f0: 72 2e 68 22 0d 0a 0d 0a 63 6c 61 73 73 20 43 4e  r.h"....class CN
0100: 6f 61 68 41 72 63 68 69 76 65 72 4d 61 6e 61 67  oahArchiverManag
0110: 65 72 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a 20 2f  er..{..public: /
0120: 2f 2d 2d 20 8a 4f 8c fc 82 af 83 43 83 93 83 5e  /-- .O.....C...^
0130: 81 5b 83 74 83 46 83 43 83 58 20 2d 2d 2d 2d 2d  .[.t.F.C.X -----
0140: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f 20 8f  -------.....// .
0150: 89 8a fa 89 bb 0d 0a 09 76 6f 69 64 20 69 6e 69  ........void ini
0160: 74 28 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 74 83 40  t();.....// .t.@
0170: 83 43 83 8b 83 8a 83 58 83 67 82 f0 8b 4c 89 af  .C.....X.g...L..
0180: 0d 0a 09 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67  ...unsigned long
0190: 20 73 65 74 5f 66 69 6c 65 73 28 20 63 6f 6e 73   set_files( cons
01a0: 74 20 63 43 68 61 72 41 72 72 61 79 26 20 66 69  t cCharArray& fi
01b0: 6c 65 73 20 29 3b 0d 0a 09 75 6e 73 69 67 6e 65  les );...unsigne
01c0: 64 20 6c 6f 6e 67 20 66 69 6c 65 5f 6e 75 6d 28  d long file_num(
01d0: 29 20 7b 20 72 65 74 75 72 6e 20 6d 5f 46 4e 61  ) { return m_FNa
01e0: 6d 65 2e 6c 65 6e 28 29 3b 20 7d 0d 0a 09 63 6f  me.len(); }...co
01f0: 6e 73 74 20 6b 69 50 61 74 68 26 20 67 65 74 5f  nst kiPath& get_
0200: 62 61 73 65 70 61 74 68 28 29 20 7b 20 72 65 74  basepath() { ret
0210: 75 72 6e 20 6d 5f 42 61 73 65 50 61 74 68 3b 20  urn m_BasePath; 
0220: 7d 0d 0a 09 62 6f 6f 6c 20 6d 61 70 5f 6d 65 6c  }...bool map_mel
0230: 74 65 72 73 28 20 69 6e 74 20 6d 6f 64 65 20 29  ters( int mode )
0240: 3b 0d 0a 09 62 6f 6f 6c 20 6d 61 70 5f 63 6f 6d  ;...bool map_com
0250: 70 72 65 73 73 6f 72 28 20 63 6f 6e 73 74 20 63  pressor( const c
0260: 68 61 72 2a 20 65 78 74 2c 20 63 6f 6e 73 74 20  har* ext, const 
0270: 63 68 61 72 2a 20 6d 65 74 68 6f 64 2c 20 62 6f  char* method, bo
0280: 6f 6c 20 73 66 78 20 29 3b 0d 0a 0d 0a 09 2f 2f  ol sfx );.....//
0290: 20 89 f0 93 80 28 20 89 f0 93 80 90 e6 44 69 72   ....( ......Dir
02a0: 88 c8 8a 4f 82 cc 8f ee 95 f1 82 cd 92 86 82 c5  ...O............
02b0: 8f 9f 8e e8 82 c9 8e e6 93 be 82 b5 82 dc 82 b7  ................
02c0: 20 29 0d 0a 09 76 6f 69 64 20 64 6f 5f 6d 65 6c   )...void do_mel
02d0: 74 69 6e 67 28 20 6b 69 50 61 74 68 26 20 64 65  ting( kiPath& de
02e0: 73 74 64 69 72 20 29 3b 0d 0a 09 2f 2f 20 89 7b  stdir );...// .{
02f0: 97 97 28 20 89 f0 93 80 90 e6 44 69 72 88 c8 8a  ..( ......Dir...
0300: 4f 82 cc 8f ee 95 f1 82 cd 92 86 82 c5 8f 9f 8e  O...............
0310: e8 82 c9 8e e6 93 be 82 b5 82 dc 82 b7 20 29 0d  ............. ).
0320: 0a 09 76 6f 69 64 20 64 6f 5f 6c 69 73 74 69 6e  ..void do_listin
0330: 67 28 20 6b 69 50 61 74 68 26 20 64 65 73 74 64  g( kiPath& destd
0340: 69 72 20 29 3b 0d 0a 09 2f 2f 20 88 b3 8f 6b 0d  ir );...// ...k.
0350: 0a 09 76 6f 69 64 20 64 6f 5f 63 6f 6d 70 72 65  ..void do_compre
0360: 73 73 69 6e 67 28 20 6b 69 50 61 74 68 26 20 64  ssing( kiPath& d
0370: 65 73 74 64 69 72 2c 20 62 6f 6f 6c 20 65 61 63  estdir, bool eac
0380: 68 20 29 3b 0d 0a 0d 0a 0d 0a 09 2f 2f 20 83 6f  h );.......// .o
0390: 81 5b 83 57 83 87 83 93 8f ee 95 f1 0d 0a 09 76  .[.W...........v
03a0: 6f 69 64 20 67 65 74 5f 76 65 72 73 69 6f 6e 28  oid get_version(
03b0: 20 6b 69 53 74 72 26 20 73 74 72 20 29 3b 0d 0a   kiStr& str );..
03c0: 09 2f 2f 20 88 b3 8f 6b 8c 60 8e ae 83 8a 83 58  .// ...k.`.....X
03d0: 83 67 0d 0a 09 76 6f 69 64 20 67 65 74 5f 63 6d  .g...void get_cm
03e0: 70 6d 65 74 68 6f 64 28 20 63 6f 6e 73 74 20 63  pmethod( const c
03f0: 68 61 72 2a 20 73 65 74 2c 20 69 6e 74 26 20 64  har* set, int& d
0400: 65 66 5f 6d 68 64 2c 20 53 74 72 41 72 72 61 79  ef_mhd, StrArray
0410: 26 20 6d 68 64 5f 6c 69 73 74 2c 20 62 6f 6f 6c  & mhd_list, bool
0420: 20 6e 65 65 64 5f 65 78 74 3d 66 61 6c 73 65 2c   need_ext=false,
0430: 20 63 43 68 61 72 41 72 72 61 79 2a 20 65 78 74   cCharArray* ext
0440: 5f 6c 69 73 74 3d 4e 55 4c 4c 20 29 3b 0d 0a 09  _list=NULL );...
0450: 2f 2f 20 62 32 65 82 aa 88 ea 8c c2 88 c8 8f e3  // b2e..........
0460: 93 c7 82 dd 8d 9e 82 dc 82 ea 82 c4 82 a2 82 ea  ................
0470: 82 ce 74 72 75 65 0d 0a 09 62 6f 6f 6c 20 62 32  ..true...bool b2
0480: 65 5f 65 6e 61 62 6c 65 64 28 29 20 7b 20 72 65  e_enabled() { re
0490: 74 75 72 6e 20 6d 5f 62 32 65 3b 20 7d 0d 0a 0d  turn m_b2e; }...
04a0: 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d 2d  ...private: //--
04b0: 20 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d 2d 2d   ........ ------
04c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
04d0: 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f 20 82 51 8f  -----.....// .Q.
04e0: 64 83 74 83 48 83 8b 83 5f 89 f0 8f c1 82 c8 82  d.t.H..._.......
04f0: c7 0d 0a 09 62 6f 6f 6c 20 62 72 65 61 6b 5f 64  ....bool break_d
0500: 64 69 72 28 20 6b 69 50 61 74 68 26 20 64 69 72  dir( kiPath& dir
0510: 2c 20 62 6f 6f 6c 20 6f 6e 6c 79 64 69 72 20 29  , bool onlydir )
0520: 3b 0d 0a 09 43 41 72 63 68 69 76 65 72 2a 20 66  ;...CArchiver* f
0530: 72 6f 6d 45 78 74 28 20 63 6f 6e 73 74 20 63 68  romExt( const ch
0540: 61 72 2a 20 65 78 74 20 29 3b 0d 0a 09 76 6f 69  ar* ext );...voi
0550: 64 20 67 65 6e 65 72 61 74 65 5f 64 69 72 6e 61  d generate_dirna
0560: 6d 65 28 20 63 6f 6e 73 74 20 63 68 61 72 2a 20  me( const char* 
0570: 73 72 63 2c 20 6b 69 50 61 74 68 26 20 64 73 74  src, kiPath& dst
0580: 2c 20 62 6f 6f 6c 20 72 6d 6e 20 29 3b 0d 0a 0d  , bool rmn );...
0590: 0a 09 6b 69 50 61 74 68 20 20 20 6d 5f 42 61 73  ..kiPath   m_Bas
05a0: 65 50 61 74 68 3b 0d 0a 09 77 66 64 41 72 72 61  ePath;...wfdArra
05b0: 79 20 6d 5f 46 4e 61 6d 65 3b 0d 0a 09 6b 69 41  y m_FName;...kiA
05c0: 72 72 61 79 3c 43 41 72 63 68 69 76 65 72 2a 3e  rray<CArchiver*>
05d0: 20 6d 5f 41 4c 69 73 74 3b 0d 0a 09 6b 69 41 72   m_AList;...kiAr
05e0: 72 61 79 3c 6b 69 50 61 74 68 3e 20 6d 5f 42 61  ray<kiPath> m_Ba
05f0: 73 65 50 61 74 68 4c 69 73 74 3b 0d 0a 09 62 6f  sePathList;...bo
0600: 6f 6c 20 6d 5f 62 32 65 3b 0d 0a 0d 0a 09 2f 2f  ol m_b2e;.....//
0610: 20 89 f0 93 80 97 70 8a 84 82 e8 93 96 82 c4 0d   .....p.........
0620: 0a 09 6b 69 41 72 72 61 79 3c 43 41 72 63 68 69  ..kiArray<CArchi
0630: 76 65 72 2a 3e 20 6d 5f 4d 65 6c 74 65 72 73 3b  ver*> m_Melters;
0640: 0d 0a 09 2f 2f 20 88 b3 8f 6b 97 70 8a 84 82 e8  ...// ...k.p....
0650: 93 96 82 c4 0d 0a 09 43 41 72 63 68 69 76 65 72  .......CArchiver
0660: 2a 20 6d 5f 43 6f 6d 70 72 65 73 73 6f 72 3b 0d  * m_Compressor;.
0670: 0a 09 69 6e 74 20 20 20 20 20 20 20 20 6d 5f 4d  ..int        m_M
0680: 65 74 68 6f 64 3b 0d 0a 09 62 6f 6f 6c 20 20 20  ethod;...bool   
0690: 20 20 20 20 6d 5f 53 66 78 3b 0d 0a 0d 0a 70 75      m_Sfx;....pu
06a0: 62 6c 69 63 3a 0d 0a 09 7e 43 4e 6f 61 68 41 72  blic:...~CNoahAr
06b0: 63 68 69 76 65 72 4d 61 6e 61 67 65 72 28 29 0d  chiverManager().
06c0: 0a 09 09 7b 0d 0a 09 09 09 66 6f 72 28 20 75 6e  ...{.....for( un
06d0: 73 69 67 6e 65 64 20 69 6e 74 20 69 3d 30 3b 20  signed int i=0; 
06e0: 69 21 3d 6d 5f 41 4c 69 73 74 2e 6c 65 6e 28 29  i!=m_AList.len()
06f0: 3b 20 69 2b 2b 20 29 0d 0a 09 09 09 09 64 65 6c  ; i++ )......del
0700: 65 74 65 20 6d 5f 41 4c 69 73 74 5b 69 5d 3b 0d  ete m_AList[i];.
0710: 0a 09 09 7d 0d 0a 7d 3b 0d 0a 0d 0a 23 65 6e 64  ...}..};....#end
0720: 69 66 0d 0a                                      if..