LibArchiveWrapper Class
class QInstaller::LibArchiveWrapperThe LibArchiveWrapper class provides an interface for interacting with archives handled using the libarchive archive and compression library. More...
Header: | #include <LibArchiveWrapper> |
Inherits: | QInstaller::AbstractArchive |
Public Functions
LibArchiveWrapper(QObject *parent = nullptr) | |
LibArchiveWrapper(const QString &filename, QObject *parent = nullptr) | |
virtual | ~LibArchiveWrapper() |
Reimplemented Public Functions
virtual void | close() override |
virtual bool | create(const QStringList &data) override |
virtual QString | errorString() const override |
virtual bool | extract(const QString &dirPath) override |
virtual bool | extract(const QString &dirPath, const quint64 totalFiles) override |
virtual bool | isSupported() override |
virtual QVector<QInstaller::ArchiveEntry> | list() override |
virtual bool | open(QIODeviceBase::OpenMode mode) override |
virtual void | setCompressionLevel(const QInstaller::AbstractArchive::CompressionLevel level) override |
virtual void | setFilename(const QString &filename) override |
Public Slots
virtual void | cancel() override |
Detailed Description
The invoked archive operations are performed in a normal user mode, or in an on-demand elevated user mode through the remote client-server protocol of the framework.
This class is not thread-safe; extra care should be taken especially when elevated mode is active to not call its functions from any thread other than where the object was created.
Member Function Documentation
[explicit]
LibArchiveWrapper::LibArchiveWrapper(QObject *parent = nullptr)
Constructs an archive object with the given parent.
LibArchiveWrapper::LibArchiveWrapper(const QString &filename, QObject *parent = nullptr)
Constructs an archive object representing an archive file specified by filename with parent as the parent object.
[virtual noexcept]
LibArchiveWrapper::~LibArchiveWrapper()
Destroys the instance.
[override virtual slot]
void LibArchiveWrapper::cancel()
Reimplements: AbstractArchive::cancel().
Cancels the extract operation in progress.
If the remote connection is active, the method is called by the server instead.
[override virtual]
void LibArchiveWrapper::close()
Reimplements: AbstractArchive::close().
Closes the file device.
[override virtual]
bool LibArchiveWrapper::create(const QStringList &data)
Reimplements: AbstractArchive::create(const QStringList &data).
Packages the given data into the archive and creates the file on disk. Returns true
on success; false
otherwise.
If the remote connection is active, the method is called by the server instead.
[override virtual]
QString LibArchiveWrapper::errorString() const
Reimplements: AbstractArchive::errorString() const.
Returns a human-readable description of the last error that occurred.
If the remote connection is active, the method is called by the server instead.
[override virtual]
bool LibArchiveWrapper::extract(const QString &dirPath)
Reimplements: AbstractArchive::extract(const QString &dirPath).
Extracts the contents of this archive to dirPath. Returns true
on success; false
otherwise.
If the remote connection is active, the method is called by the server instead, with the client starting a new event loop waiting for the extraction to finish.
[override virtual]
bool LibArchiveWrapper::extract(const QString &dirPath, const quint64 totalFiles)
Reimplements: AbstractArchive::extract(const QString &dirPath, const quint64 totalFiles).
Extracts the contents of this archive to dirPath with precalculated count of totalFiles. Returns true
on success; false
otherwise.
If the remote connection is active, the method is called by the server instead, with the client starting a new event loop waiting for the extraction to finish.
[override virtual]
bool LibArchiveWrapper::isSupported()
Reimplements: AbstractArchive::isSupported().
Returns true
if the current archive is of a supported format; false
otherwise.
[override virtual]
QVector<QInstaller::ArchiveEntry> LibArchiveWrapper::list()
Reimplements: AbstractArchive::list().
Returns the contents of this archive as an array of ArchiveEntry
objects. On failure, returns an empty array.
[override virtual]
bool LibArchiveWrapper::open(QIODeviceBase::OpenMode mode)
Reimplements: AbstractArchive::open(QIODeviceBase::OpenMode mode).
Opens the file device using mode. Returns true
if succesfull; otherwise false
.
[override virtual]
void LibArchiveWrapper::setCompressionLevel(const QInstaller::AbstractArchive::CompressionLevel level)
Reimplements: AbstractArchive::setCompressionLevel(const QInstaller::AbstractArchive::CompressionLevel level).
Sets the compression level for new archives to level.
[override virtual]
void LibArchiveWrapper::setFilename(const QString &filename)
Reimplements: AbstractArchive::setFilename(const QString &filename).
Sets the filename for the archive.
If the remote connection is active, the same method is called by the server.
© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. The Qt Company, Qt and their respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.