dtkio
dtk library for dtkio.
载入中...
搜索中...
未找到
Dtk::Compressor::DArchiveManager类 参考

DArchiveManager类提供文档压缩解压功能 更多...

#include <darchivemanager.h>

类 Dtk::Compressor::DArchiveManager 继承关系图:
Dtk::Compressor::DArchiveManager 的协作图:

struct  MgrArchiveData
 压缩包数据 更多...
 
struct  MgrCompressOptions
 压缩选项 更多...
 
struct  MgrExtractionOptions
 解压选项 更多...
 
struct  MgrFileEntry
 文件数据 更多...
 
struct  MgrUpdateOptions
 更新选项 更多...
 

Public 类型

enum  ArchivePluginType {
  APT_Auto , APT_Cli7z , APT_Libarchive , APT_Libzip ,
  APT_Libpigz
}
 插件类型 更多...
 
enum  ArchiveJobType {
  JT_NoJob = 0 , JT_Create , JT_Add , JT_Load ,
  JT_Extract , JT_Delete , JT_Rename , JT_BatchExtract ,
  JT_Open , JT_Update , JT_Comment , JT_Convert ,
  JT_StepExtract
}
 操作类型 更多...
 
enum  MgrPluginFinishType { PFT_Nomral = 0 , PFT_Cancel , PFT_Error }
 插件结束类型 更多...
 
enum  MgrErrorType {
  ET_NoError = 0 , ET_PluginError , ET_WrongPassword , ET_NeedPassword ,
  ET_LongNameError , ET_ArchiveDamaged , ET_FileOpenError , ET_FileReadError ,
  ET_FileWriteError , ET_DeleteError , ET_RenameError , ET_MissingVolume ,
  ET_InsufficientDiskSpace , ET_UserCancelOpertion , ET_ExistVolume
}
 错误类型
更多...
 

信号

void signalError (MgrErrorType eErrorType)
 信号-错误信号
 
void signalJobFinished (ArchiveJobType eJobType, MgrPluginFinishType eFinishType, MgrErrorType eErrorType)
 信号-操作结束信号
 
void signalprogress (double dPercentage)
 信号-进度信号
 
void signalCurFileName (const QString &strName)
 信号-发送当前正在操作的文件名
 
void signalFileWriteErrorName (const QString &strName)
 信号-发送创建失败的文件名
 
void signalCurArchiveName (const QString &strArchiveName)
 信号-当前正在操作的压缩包信号
 

Public 成员函数

void destory_instance ()
 获取单例实例对象
 
bool createArchive (const QList< MgrFileEntry > &files, const QString &strDestination, const MgrCompressOptions &stOptions, ArchivePluginType eType)
 创建压缩包
 
bool loadArchive (const QString &strArchiveFullPath, ArchivePluginType eType=ArchivePluginType::APT_Auto)
 加载压缩包数据
 
MgrArchiveDataarchiveData ()
 获取压缩包数据
 
bool addFiles (const QString &strArchiveFullPath, const QList< MgrFileEntry > &listAddEntry, const MgrCompressOptions &stOptions)
 向压缩包中添加文件
 
bool extractFiles (const QString &strArchiveFullPath, const QList< MgrFileEntry > &files, const MgrExtractionOptions &stOptions, ArchivePluginType eType=ArchivePluginType::APT_Auto)
 解压文件
 
bool extractFiles2Path (const QString &strArchiveFullPath, const QList< MgrFileEntry > &listSelEntry, const MgrExtractionOptions &stOptions)
 提取文件至指定目录
 
bool deleteFiles (const QString &strArchiveFullPath, const QList< MgrFileEntry > &listSelEntry)
 删除压缩包中的文件
 
bool renameFiles (const QString &strArchiveFullPath, const QList< MgrFileEntry > &listSelEntry)
 重命名压缩包中的文件
 
bool batchExtractFiles (const QStringList &listFiles, const QString &strTargetPath)
 批量解压
 
bool openFile (const QString &strArchiveFullPath, const MgrFileEntry &stEntry, const QString &strTempExtractPath, const QString &strProgram)
 打开压缩包中文件
 
bool updateArchiveCacheData (const MgrUpdateOptions &stOptions)
 更新本地压缩包缓存数据
 
bool updateArchiveComment (const QString &strArchiveFullPath, const QString &strComment)
 更新压缩包注释信息
 
bool convertArchive (const QString &strOriginalArchiveFullPath, const QString &strTargetFullPath, const QString &strNewArchiveFullPath)
 压缩包格式转换
 
bool pauseOperation ()
 暂停操作
 
bool continueOperation ()
 继续操作
 
bool cancelOperation ()
 取消操作
 
QString getCurFilePassword ()
 获取当前文件密码
 
bool currentStatus ()
 当前任务状态
 

静态 Public 成员函数

static DArchiveManagerget_instance (void)
 获取单例实例对象
 

Protected 属性

QScopedPointer< DArchiveManagerPrivate > d_ptr
 

详细描述

DArchiveManager类提供文档压缩解压功能

成员枚举类型说明

◆ ArchiveJobType

操作类型

枚举值
JT_NoJob 

初始类型

JT_Create 

创建压缩包

JT_Add 

添加压缩文件

JT_Load 

加载压缩包

JT_Extract 

解压

JT_Delete 

删除

JT_Rename 

重命名

JT_BatchExtract 

批量解压

JT_Open 

打开

JT_Update 

更新

JT_Comment 

注释

JT_Convert 

转换

JT_StepExtract 

分步解压

◆ ArchivePluginType

插件类型

枚举值
APT_Auto 

自动

APT_Cli7z 

7z插件

APT_Libarchive 

archive插件

APT_Libzip 

zip插件

APT_Libpigz 

pigz插件

◆ MgrErrorType

错误类型

枚举值
ET_NoError 

无错误

ET_PluginError 

插件错误

ET_WrongPassword 

输入的密码错误

ET_NeedPassword 

需要密码

ET_LongNameError 

文件名过长错误

ET_ArchiveDamaged 

压缩包损坏

ET_FileOpenError 

文件打开错误

ET_FileReadError 

文件读取错误

ET_FileWriteError 

文件写错误

ET_DeleteError 

文件删除错误

ET_RenameError 

文件重命名错误

ET_MissingVolume 

分卷缺失

ET_InsufficientDiskSpace 

磁盘空间不足

ET_UserCancelOpertion 

用户取消操作

ET_ExistVolume 

分卷已存在

◆ MgrPluginFinishType

插件结束类型

枚举值
PFT_Nomral 

正常退出

PFT_Cancel 

取消

PFT_Error 

错误

成员函数说明

◆ addFiles()

bool DArchiveManager::addFiles ( const QString &  strArchiveFullPath,
const QList< MgrFileEntry > &  listAddEntry,
const MgrCompressOptions stOptions 
)

向压缩包中添加文件

参数
[in]strArchiveFullPath压缩包全路径
[in]listAddEntry添加的文件(夹)
[in]stOptions压缩参数
返回
是否调用成功,true为成功

◆ archiveData()

MgrArchiveData * DArchiveManager::archiveData ( )

获取压缩包数据

返回
压缩包数据

◆ batchExtractFiles()

bool DArchiveManager::batchExtractFiles ( const QStringList &  listFiles,
const QString &  strTargetPath 
)

批量解压

参数
[in]listFiles解压文件
[in]strTargetPath解压路径
返回
是否调用成功,true为成功

◆ cancelOperation()

bool DArchiveManager::cancelOperation ( )

取消操作

返回
是否调用成功,true为成功

◆ continueOperation()

bool DArchiveManager::continueOperation ( )

继续操作

返回
是否调用成功,true为成功

◆ convertArchive()

bool DArchiveManager::convertArchive ( const QString &  strOriginalArchiveFullPath,
const QString &  strTargetFullPath,
const QString &  strNewArchiveFullPath 
)

压缩包格式转换

参数
[in]strOriginalArchiveFullPath原始压缩包全路径
[in]strTargetFullPath压缩包解压的临时路径
[in]strNewArchiveFullPath转换之后的压缩包全路径
返回
是否调用成功,true为成功

◆ createArchive()

bool DArchiveManager::createArchive ( const QList< MgrFileEntry > &  files,
const QString &  strDestination,
const MgrCompressOptions stOptions,
ArchivePluginType  eType 
)

创建压缩包

参数
[in]files待压缩文件
[in]strDestination文件存储在压缩包的路径(为空时,处于根目录)
[in]stOptions压缩参数
[in]eType插件选择
返回
是否调用成功,true为成功

◆ currentStatus()

bool DArchiveManager::currentStatus ( )

当前任务状态

返回
是否调用成功,true为成功

◆ deleteFiles()

bool DArchiveManager::deleteFiles ( const QString &  strArchiveFullPath,
const QList< MgrFileEntry > &  listSelEntry 
)

删除压缩包中的文件

参数
[in]strArchiveFullPath压缩包全路径
[in]listSelEntry当前选中的文件
返回
是否调用成功,true为成功

◆ extractFiles()

bool DArchiveManager::extractFiles ( const QString &  strArchiveFullPath,
const QList< MgrFileEntry > &  files,
const MgrExtractionOptions stOptions,
ArchivePluginType  eType = ArchivePluginType::APT_Auto 
)

解压文件

参数
[in]strArchiveFullPath压缩包全路径
[in]files待解压的文件(若数目为空,属于全部解压,否则为提取)
[in]options解压参数
[in]eType插件选择
返回
是否调用成功,true为成功

◆ extractFiles2Path()

bool DArchiveManager::extractFiles2Path ( const QString &  strArchiveFullPath,
const QList< MgrFileEntry > &  listSelEntry,
const MgrExtractionOptions stOptions 
)

提取文件至指定目录

参数
[in]strArchiveFullPath压缩包全路径
[in]listSelEntry选中的提取文件
[in]stOptions提取参数
返回
是否调用成功,true为成功

◆ get_instance()

static DArchiveManager * DArchiveManager::get_instance ( void  )
static

获取单例实例对象

返回
单例实例对象

◆ getCurFilePassword()

QString DArchiveManager::getCurFilePassword ( )

获取当前文件密码

返回
是否调用成功,true为成功

◆ loadArchive()

bool DArchiveManager::loadArchive ( const QString &  strArchiveFullPath,
ArchivePluginType  eType = ArchivePluginType::APT_Auto 
)

加载压缩包数据

参数
[in]strArchiveFullPath压缩包全路径
[in]eType插件选择
返回
是否调用成功,true为成功

◆ openFile()

bool DArchiveManager::openFile ( const QString &  strArchiveFullPath,
const MgrFileEntry stEntry,
const QString &  strTempExtractPath,
const QString &  strProgram 
)

打开压缩包中文件

参数
[in]strArchiveFullPath压缩包全路径
[in]stEntry待打开文件数据
[in]strTempExtractPath临时解压路径
[in]strProgram应用程序名
返回
是否调用成功,true为成功

◆ pauseOperation()

bool DArchiveManager::pauseOperation ( )

暂停操作

返回
是否调用成功,true为成功

◆ renameFiles()

bool DArchiveManager::renameFiles ( const QString &  strArchiveFullPath,
const QList< MgrFileEntry > &  listSelEntry 
)

重命名压缩包中的文件

参数
[in]strArchiveFullPath压缩包全路径
[in]listSelEntry当前选中的文件
返回
是否调用成功,true为成功

◆ signalCurArchiveName

void DArchiveManager::signalCurArchiveName ( const QString &  strArchiveName)
signal

信号-当前正在操作的压缩包信号

参数
strArchiveName压缩包名称

◆ signalCurFileName

void DArchiveManager::signalCurFileName ( const QString &  strName)
signal

信号-发送当前正在操作的文件名

参数
strName当前文件名

◆ signalError

void DArchiveManager::signalError ( MgrErrorType  eErrorType)
signal

信号-错误信号

参数
eErrorType错误类型

◆ signalFileWriteErrorName

void DArchiveManager::signalFileWriteErrorName ( const QString &  strName)
signal

信号-发送创建失败的文件名

参数
strName当前文件名

◆ signalJobFinished

void DArchiveManager::signalJobFinished ( ArchiveJobType  eJobType,
MgrPluginFinishType  eFinishType,
MgrErrorType  eErrorType 
)
signal

信号-操作结束信号

参数
eJobTypejob类型
eFinishType结束类型
eErrorType错误类型

◆ signalprogress

void DArchiveManager::signalprogress ( double  dPercentage)
signal

信号-进度信号

参数
dPercentage进度值

◆ updateArchiveCacheData()

bool DArchiveManager::updateArchiveCacheData ( const MgrUpdateOptions stOptions)

更新本地压缩包缓存数据

参数
[in]stOptions更新选项
返回
是否调用成功,true为成功

◆ updateArchiveComment()

bool DArchiveManager::updateArchiveComment ( const QString &  strArchiveFullPath,
const QString &  strComment 
)

更新压缩包注释信息

参数
[in]strArchiveFullPath压缩包全路径
[in]strComment注释
返回
是否调用成功,true为成功

该类的文档由以下文件生成: