Merge pull request #4011 from fritsch/vdpau-settings
[vuplus_xbmc] / lib / UnrarXLib / extract.hpp
1 #ifndef _RAR_EXTRACT_
2 #define _RAR_EXTRACT_
3
4 enum EXTRACT_ARC_CODE {EXTRACT_ARC_NEXT,EXTRACT_ARC_REPEAT};
5
6 class CmdExtract
7 {
8   private:
9     ComprDataIO DataIO;
10     Unpack *Unp;
11     long TotalFileCount;
12
13     long FileCount;
14     long MatchedArgs;
15     bool FirstFile;
16     bool AllMatchesExact;
17     bool ReconstructDone;
18
19     char ArcName[NM];
20     wchar ArcNameW[NM];
21
22     char Password[MAXPASSWORD];
23     bool PasswordAll;
24     bool PrevExtracted;
25     bool SignatureFound;
26     char DestFileName[NM];
27     wchar DestFileNameW[NM];
28     bool PasswordCancelled;
29   public:
30     CmdExtract();
31     ~CmdExtract();
32     void DoExtract(CommandData *Cmd);
33     void ExtractArchiveInit(CommandData *Cmd,Archive &Arc);
34     EXTRACT_ARC_CODE ExtractArchive(CommandData *Cmd);
35     bool ExtractCurrentFile(CommandData *Cmd,Archive &Arc,int HeaderSize,
36                             bool &Repeat);
37     static void UnstoreFile(ComprDataIO &DataIO,Int64 DestUnpSize);
38 //#ifdef XBMC
39     ComprDataIO &GetDataIO() {return DataIO;}
40 //#endif
41 };
42
43 #endif
44