Lhaz
読み取り中…
検索中…
一致する文字列を見つけられません
lhazxz.h
[詳解]
1/*==========================================================================*/
2/* Lhaz xzインタフェース lhaz@chitora.jp */
3/*==========================================================================*/
4#ifdef FEATURE_XZ
5#pragma once
6
7#include <windows.h>
8#include <stdio.h>
9#include <vector>
10#include "lhazarc.h"
11#include "mystr.h"
12#include "mybuf.h"
13#include "lzma.h"
14
15class LHAZPROCFILE;
16class PATH;
17
18namespace gui {
19
20class LHAZTREEVIEW;
21
22} // namespace gui
23
24class ARCXZ : public ARCHIVE {
25public:
26 static bool IsArchiveXZ(const WSTR& name, DWORD size, const MYBUF& buf);
27 static bool IsArchiveLZMA(const WSTR& name, DWORD size, const MYBUF& buf);
28 static uint64_t SetMemLimit(void);
29 //
30 // 全解凍用コンストラクタ
31 ARCXZ(HWND hwnd, const WSTR& name, TYPE type, bool lzma);
32 // 閲覧用コンストラクタ
33 ARCXZ(HWND hwnd, const WSTR& name, TYPE type, const WSTR& filter, gui::LHAZTREEVIEW* treeview, bool lzma);
34 // 全解凍
35 bool Extract(bool verify, const WSTR& temp, const WSTR& password);
36 // 個別解凍
37 bool Extract(const WSTR& temp);
38 // 圧縮
39 bool Compress(int method, int header, const WSTR& pass, const PATH& temp, const std::vector<LHAZPROCFILE>& v);
40 // 個別削除
41 bool Delete(const std::vector<LHAZFILE*>& v);
42
43private:
44 enum {
45#if BUFSIZ <= 1024
46 IO_BUFFER_SIZE = 8192
47#else
48 IO_BUFFER_SIZE = BUFSIZ
49#endif
50 };
51 //
52 static const char METHOD[];
53 //
54 bool Lzma;
55 uint64_t MemLimit;
56 //
57 bool Test(void);
58 MYSTR getname(void) const;
59
60};
61
62#endif // FEATURE_XZ
Definition lhazarc.h:25
virtual bool Delete(const std::vector< LHAZFILE * > &v)=0
virtual bool Extract(bool verify, const WSTR &temp, const WSTR &password)=0
virtual bool Compress(int method, int header, const WSTR &pass, const PATH &temp, const std::vector< LHAZPROCFILE > &v)=0
Definition lhazprocfile.h:11
Definition lhaztreeview.h:18
Archive
¥ type v
Definition lhazregs.h:21
Definition lhazbz2.h:17