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

CAB書庫 [詳解]

#include <lhazcab.h>

ARCCAB の継承関係図
ARCHIVE

クラス

class  CFFILE
 
class  CFFOLDER
 
class  CFHEADER
 

公開型

enum  { CAB_TOTAL_BYTES_LIMIT = 0x7FFF8000 }
 
- 基底クラス ARCHIVE に属する継承公開型
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 }
 

公開メンバ関数

 ARCCAB (HWND hwnd, const WSTR &name, TYPE type)
 
 ARCCAB (HWND hwnd, const WSTR &name, TYPE type, const WSTR &filter, gui::LHAZTREEVIEW *treeview)
 
 ‾ARCCAB (void)
 
bool Extract (bool verify, const WSTR &temp, const WSTR &password)
 
bool Extract (const WSTR &temp)
 
bool Compress (int method, int header, const WSTR &pass, const PATH &temp, const vector< LHAZPROCFILE > &v)
 
bool Delete (const vector< LHAZFILE * > &v)
 
friend FNFCIGETTEMPFILE (get_temp_file)
 
friend FNFCISTATUS (progress)
 
friend FNFDINOTIFY (notification_function)
 
- 基底クラス ARCHIVE に属する継承公開メンバ関数
 ARCHIVE (HWND hwnd, const WSTR &name, TYPE type, gui::LHAZTREEVIEW *treeview)
 
virtual ‾ARCHIVE ()
 
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 bool Convert (const MYSTR &name)
 
static LONGLONG SkipSfxCode (MYFILE &file)
 
static bool IsArchiveSfxCab (int size, const char *buf)
 
- 基底クラス ARCHIVE に属する継承静的公開メンバ関数
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)
 

静的公開変数類

static MYSTR ARCNAME
 
static const char HEADER [4] = { 'M', 'S', 'C', 'F' }
 
static long coffFiles
 
static vector< long > coffCabstart
 
static LONGLONG SkipSize
 

非公開型

enum  { FOLDER_THRESHOLD = 900000 }
 
enum  { SETID = 0x1204 }
 

非公開メンバ関数

ARCHIVE::COMPLETE Extract (void)
 

非公開変数類

PATH Temp
 
long Total_compressed_size
 
long Total_uncompressed_size
 
vector< const WSTR * > Ext
 
bool OverWrite
 
bool SkipFlag
 
MYSTR ArcName
 

静的非公開変数類

static const ULONG MEDIA_SIZE = LONG_MAX
 
static const TCHAR * METHODS [] = { _T("STORED"), _T("MSZIP"), _T("QUANTUM"), _T("LZX"), _T("BAD") }
 
static const BYTE SfxCode []
 

その他の継承メンバ

- 基底クラス ARCHIVE に属する継承限定公開メンバ関数
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)
 
- 基底クラス ARCHIVE に属する継承限定公開変数類
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
 
- 基底クラス ARCHIVE に属する継承静的限定公開変数類
static const size_t SFXSIZE = 0xA0000
 

詳解

CAB書庫

列挙型メンバ詳解

anonymous enum
列挙値
CAB_TOTAL_BYTES_LIMIT 
anonymous enum
private
列挙値
FOLDER_THRESHOLD 
anonymous enum
private
列挙値
SETID 

構築子と解体子

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

関数詳解

bool ARCCAB::Compress ( int  method,
int  header,
const WSTR &  pass,
const PATH &  temp,
const vector< LHAZPROCFILE > &  v 
)
bool ARCCAB::Convert ( const MYSTR &  name)
static
bool ARCCAB::Delete ( const vector< LHAZFILE * > &  v)
bool ARCCAB::Extract ( bool  verify,
const WSTR &  temp,
const WSTR &  password 
)
virtual

ARCHIVEを実装しています。

bool ARCCAB::Extract ( const WSTR &  temp)
virtual

ARCHIVEを実装しています。

ARCHIVE::COMPLETE ARCCAB::Extract ( void  )
private
ARCCAB::FNFCIGETTEMPFILE ( get_temp_file  )
ARCCAB::FNFCISTATUS ( progress  )
ARCCAB::FNFDINOTIFY ( notification_function  )
bool ARCCAB::IsArchiveSfxCab ( int  size,
const char *  buf 
)
static
LONGLONG ARCCAB::SkipSfxCode ( MYFILE &  file)
static
ARCCAB::‾ARCCAB ( void  )

メンバ詳解

MYSTR ARCCAB::ARCNAME
static
MYSTR ARCCAB::ArcName
private
vector< long > ARCCAB::coffCabstart
static
long ARCCAB::coffFiles
static
vector<const WSTR*> ARCCAB::Ext
private
const char ARCCAB::HEADER = { 'M', 'S', 'C', 'F' }
static
const ULONG ARCCAB::MEDIA_SIZE = LONG_MAX
staticprivate
const TCHAR * ARCCAB::METHODS = { _T("STORED"), _T("MSZIP"), _T("QUANTUM"), _T("LZX"), _T("BAD") }
staticprivate
bool ARCCAB::OverWrite
private
const BYTE ARCCAB::SfxCode
staticprivate
bool ARCCAB::SkipFlag
private
LONGLONG ARCCAB::SkipSize
static
PATH ARCCAB::Temp
private
long ARCCAB::Total_compressed_size
private
long ARCCAB::Total_uncompressed_size
private

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