Lhaz
クラス | 公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 静的限定公開変数類 | 静的非公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
ARCHIVE クラスabstract

#include <lhazarc.h>

ARCHIVE の継承関係図
ARC7ZIP ARCBZ2 ARCCAB ARCGZIP ARCLZ4 ARCLZH ARCRAR ARCTBZ ARCTGZ ARCZIP

クラス

struct  EXT_TABLE
 

公開型

enum  TYPE {
  NON, LZH, ZIP, ENCZIP,
  CAB, TGZ, TAR, GZIP,
  TBZ, BZ2, SZIP, SFXLZH,
  SFXCAB, SFXZIP, RAR, ISCAB,
  XZ, TXZ, LZ4, GOOGLE_DOC,
  ONEDRIVE, DROPBOX, MAX
}
 
enum  COMPLETE { ARC_NO_ERROR, ARC_CANCELED, ARC_STOPPED, ARC_ERROR }
 

公開メンバ関数

 ARCHIVE (HWND hwnd, const WSTR &name, TYPE type, gui::LHAZTREEVIEW *treeview)
 
virtual ‾ARCHIVE ()
 
virtual bool Extract (bool verify, const WSTR &temp, const WSTR &password)=0
 
virtual bool Extract (const WSTR &temp)=0
 
virtual bool Compress (int method, int header, const WSTR &pass, const PATH &temp, const std::vector< LHAZPROCFILE > &v)=0
 
virtual bool Delete (const std::vector< LHAZFILE * > &v)=0
 
bool CanAppend (UINT &mes_id)
 
void ClearExtFile ()
 
bool DoMakeDir () const
 
void Filt (const WSTR &filter)
 
void Filt (const WSTR &filter, const LHAZFILETREE *node)
 
const WSTR & GetAllName (int idx) const
 
std::size_t GetCount () const
 
const WSTR & GetCsizeText (int idx) const
 
const WSTR & GetCsizeTextKB (int idx) const
 
const WSTR & GetDir (int idx) const
 
::size_t GetDspCount () const
 
bool GetEncrypt () const
 
std::vector< LHAZFILE * > & GetExtFile ()
 
LONGLONG GetExtMemberTotal () const
 
LHAZFILEGetFile (int idx) const
 
const WSTR & GetFname (int idx) const
 
int GetImage (int idx) const
 
const std::vector< LHAZFILE * > & GetList () const
 
const WSTR & GetMethodText (int idx) const
 
const WSTR & GetName () const
 
const WSTR & GetName (int idx) const
 
const WSTR & GetOneDir () const
 
const WSTR & GetRatioText (int idx) const
 
LONGLONG GetSize (int idx) const
 
const WSTR & GetSizeText (int idx) const
 
const WSTR & GetSizeTextKB (int idx) const
 
const WSTR & GetTimeText (int idx) const
 
LONGLONG GetTotal () const
 
LHAZFILETREEGetTree () const
 
LHAZFILETREEGetTree (int idx) const
 
TYPE GetType () const
 
const WSTR & GetType (int idx) const
 
bool IsDir (int idx) const
 
bool IsVirtual (int idx) const
 
void ListAllMember ()
 
void ListExtMember (const std::vector< int > &indxs, bool add=false)
 
void ListExtMemberDescendant (const WSTR &dir, const WSTR &filter)
 
void SetName (const WSTR &name)
 
void Sort (int kind, int rev)
 

静的公開メンバ関数

static TYPE GetArchiveType (const WSTR &name, bool &pass_correct)
 
static TYPE GetArchiveTypeByName (const WSTR &name)
 
static bool IsSingleFileCompressed (TYPE type)
 IsSingleFileCompressed. [詳解]
 
static bool IsUnicodeSupport (TYPE type)
 
static ARCHIVECreate (HWND hwnd, const WSTR &name, TYPE type)
 
static ARCHIVECreate (HWND hwnd, const WSTR &name, TYPE type, TCHAR *filter, gui::LHAZTREEVIEW *treeview)
 

限定公開メンバ関数

bool IsSameDir (WSTR &dirbuf, const WSTR &curdir)
 
void AppendList (const WSTR &name, std::vector< WSTR > &list)
 
void AppendListWithDir (const WSTR &name, std::vector< WSTR > &list, bool &unicode_file_exist)
 
int ShareError (const WSTR &name)
 

限定公開変数類

HWND Hwnd
 
WSTR Name
 
TYPE Type
 
LONGLONG Total
 
bool MakeDir
 
WSTR OneDir
 
bool Encrypt
 
std::vector< LHAZFILE * > List
 
std::vector< LHAZFILE * > SortTable
 
std::vector< LHAZFILE * > ExtFile
 
LHAZFILETREETree
 

静的限定公開変数類

static const size_t SFXSIZE = 0xA0000
 

静的非公開メンバ関数

static bool IsOfficeOpenXML (const WSTR &name)
 

静的非公開変数類

static const EXT_TABLE m_ext_table []
 
static const char MZHEADER [] = { 'M', 'Z' }
 

列挙型メンバ詳解

列挙値
ARC_NO_ERROR 
ARC_CANCELED 
ARC_STOPPED 
ARC_ERROR 
列挙値
NON 
LZH 
ZIP 
ENCZIP 
CAB 
TGZ 
TAR 
GZIP 
TBZ 
BZ2 
SZIP 
SFXLZH 
SFXCAB 
SFXZIP 
RAR 
ISCAB 
XZ 
TXZ 
LZ4 
GOOGLE_DOC 
ONEDRIVE 
DROPBOX 
MAX 

構築子と解体子

ARCHIVE::ARCHIVE ( HWND  hwnd,
const WSTR &  name,
TYPE  type,
gui::LHAZTREEVIEW treeview 
)

関数詳解

void ARCHIVE::AppendList ( const WSTR &  name,
std::vector< WSTR > &  list 
)
protected
void ARCHIVE::AppendListWithDir ( const WSTR &  name,
std::vector< WSTR > &  list,
bool unicode_file_exist 
)
protected
bool ARCHIVE::CanAppend ( UINT &  mes_id)
void ARCHIVE::ClearExtFile ( )
inline
virtual bool ARCHIVE::Compress ( int  method,
int  header,
const WSTR &  pass,
const PATH &  temp,
const std::vector< LHAZPROCFILE > &  v 
)
pure virtual

ARC7ZIP, ARCBZ2, ARCZIP, ARCGZIP, ARCLZ4で実装されています。

ARCHIVE * ARCHIVE::Create ( HWND  hwnd,
const WSTR &  name,
TYPE  type 
)
static
ARCHIVE * ARCHIVE::Create ( HWND  hwnd,
const WSTR &  name,
TYPE  type,
TCHAR *  filter,
gui::LHAZTREEVIEW treeview 
)
static
virtual bool ARCHIVE::Delete ( const std::vector< LHAZFILE * > &  v)
pure virtual

ARC7ZIP, ARCBZ2, ARCZIP, ARCGZIP, ARCLZ4で実装されています。

bool ARCHIVE::DoMakeDir ( ) const
inline
virtual bool ARCHIVE::Extract ( bool  verify,
const WSTR &  temp,
const WSTR &  password 
)
pure virtual

ARCLZH, ARCCAB, ARC7ZIP, ARCBZ2, ARCTGZ, ARCZIP, ARCGZIP, ARCLZ4, ARCTBZ, ARCRARで実装されています。

virtual bool ARCHIVE::Extract ( const WSTR &  temp)
pure virtual

ARCLZH, ARCCAB, ARC7ZIP, ARCBZ2, ARCTGZ, ARCZIP, ARCGZIP, ARCLZ4, ARCTBZ, ARCRARで実装されています。

void ARCHIVE::Filt ( const WSTR &  filter)
void ARCHIVE::Filt ( const WSTR &  filter,
const LHAZFILETREE node 
)
const WSTR & ARCHIVE::GetAllName ( int  idx) const
ARCHIVE::TYPE ARCHIVE::GetArchiveType ( const WSTR &  name,
bool pass_correct 
)
static
ARCHIVE::TYPE ARCHIVE::GetArchiveTypeByName ( const WSTR &  name)
static
std::size_t ARCHIVE::GetCount ( ) const
inline
const WSTR & ARCHIVE::GetCsizeText ( int  idx) const
const WSTR & ARCHIVE::GetCsizeTextKB ( int  idx) const
const WSTR & ARCHIVE::GetDir ( int  idx) const
::size_t ARCHIVE::GetDspCount ( ) const
inline
bool ARCHIVE::GetEncrypt ( ) const
inline
std::vector<LHAZFILE*>& ARCHIVE::GetExtFile ( )
inline
LONGLONG ARCHIVE::GetExtMemberTotal ( ) const
LHAZFILE * ARCHIVE::GetFile ( int  idx) const
const WSTR & ARCHIVE::GetFname ( int  idx) const
int ARCHIVE::GetImage ( int  idx) const
const std::vector<LHAZFILE*>& ARCHIVE::GetList ( ) const
inline
const WSTR & ARCHIVE::GetMethodText ( int  idx) const
const WSTR& ARCHIVE::GetName ( ) const
inline
const WSTR & ARCHIVE::GetName ( int  idx) const
const WSTR& ARCHIVE::GetOneDir ( ) const
inline
const WSTR & ARCHIVE::GetRatioText ( int  idx) const
LONGLONG ARCHIVE::GetSize ( int  idx) const
const WSTR & ARCHIVE::GetSizeText ( int  idx) const
const WSTR & ARCHIVE::GetSizeTextKB ( int  idx) const
const WSTR & ARCHIVE::GetTimeText ( int  idx) const
LONGLONG ARCHIVE::GetTotal ( ) const
inline
LHAZFILETREE* ARCHIVE::GetTree ( ) const
inline
LHAZFILETREE * ARCHIVE::GetTree ( int  idx) const
TYPE ARCHIVE::GetType ( ) const
inline
const WSTR & ARCHIVE::GetType ( int  idx) const
bool ARCHIVE::IsDir ( int  idx) const
bool ARCHIVE::IsOfficeOpenXML ( const WSTR &  name)
staticprivate
bool ARCHIVE::IsSameDir ( WSTR &  dirbuf,
const WSTR &  curdir 
)
protected
bool ARCHIVE::IsSingleFileCompressed ( TYPE  type)
static

IsSingleFileCompressed.

bool ARCHIVE::IsUnicodeSupport ( TYPE  type)
static
bool ARCHIVE::IsVirtual ( int  idx) const
void ARCHIVE::ListAllMember ( )
void ARCHIVE::ListExtMember ( const std::vector< int > &  indxs,
bool  add = false 
)
void ARCHIVE::ListExtMemberDescendant ( const WSTR &  dir,
const WSTR &  filter 
)
void ARCHIVE::SetName ( const WSTR &  name)
int ARCHIVE::ShareError ( const WSTR &  name)
protected
void ARCHIVE::Sort ( int  kind,
int  rev 
)
ARCHIVE::‾ARCHIVE ( )
virtual

メンバ詳解

bool ARCHIVE::Encrypt
protected
std::vector<LHAZFILE*> ARCHIVE::ExtFile
protected
HWND ARCHIVE::Hwnd
protected
std::vector<LHAZFILE*> ARCHIVE::List
protected
const ARCHIVE::EXT_TABLE ARCHIVE::m_ext_table
staticprivate
初期値:
= {
{ LZH, _T(".lzh") },
{ ZIP, _T(".zip") },
{ CAB, _T(".cab") },
{ TGZ, _T(".tgz") },
{ TAR, _T(".tar") },
{ GZIP, _T(".gz") },
{ TBZ, _T(".tbz") },
{ BZ2, _T(".bz") },
{ SZIP, _T(".7z") },
{ SFXLZH, _T(".exe") },
{ RAR, _T(".rar") },
{ XZ, _T(".xz") },
{ TXZ, _T(".txz") },
{ LZ4, _T(".lz4") },
{ MAX, NULL },
}
bool ARCHIVE::MakeDir
protected
const char ARCHIVE::MZHEADER = { 'M', 'Z' }
staticprivate
WSTR ARCHIVE::Name
protected
WSTR ARCHIVE::OneDir
protected
const size_t ARCHIVE::SFXSIZE = 0xA0000
staticprotected
std::vector<LHAZFILE*> ARCHIVE::SortTable
protected
LONGLONG ARCHIVE::Total
protected
LHAZFILETREE* ARCHIVE::Tree
protected
TYPE ARCHIVE::Type
protected

このクラス詳解は次のファイルから抽出されました: