QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QGCCompression.h File Reference
#include "QGCCompressionTypes.h"
#include <QtCore/QByteArray>
#include <QtCore/QCryptographicHash>
#include <QtCore/QIODevice>
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonParseError>
#include <QtCore/QString>
#include <QtCore/QStringList>
+ Include dependency graph for QGCCompression.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  QGCCompression
 

Enumerations

enum class  QGCCompression::Error {
  QGCCompression::None , QGCCompression::FileNotFound , QGCCompression::PermissionDenied , QGCCompression::InvalidArchive ,
  QGCCompression::UnsupportedFormat , QGCCompression::SizeLimitExceeded , QGCCompression::Cancelled , QGCCompression::FileNotInArchive ,
  QGCCompression::IoError , QGCCompression::InternalError
}
 Error codes for decompression operations. More...
 
enum class  QGCCompression::Format {
  QGCCompression::Auto , QGCCompression::ZIP , QGCCompression::SEVENZ , QGCCompression::GZIP ,
  QGCCompression::XZ , QGCCompression::ZSTD , QGCCompression::BZIP2 , QGCCompression::LZ4 ,
  QGCCompression::TAR , QGCCompression::TAR_GZ , QGCCompression::TAR_XZ , QGCCompression::TAR_ZSTD ,
  QGCCompression::TAR_BZ2 , QGCCompression::TAR_LZ4
}
 Archive and compression format types (for decompression) More...
 
enum class  QGCCompression::CompressionLevel { QGCCompression::None = 0 , QGCCompression::Fast = 1 , QGCCompression::Default = 6 , QGCCompression::Best = 9 }
 

Functions

Error QGCCompression::lastError ()
 Get the error code from the last operation (thread-local)
 
QString QGCCompression::lastErrorString ()
 Get a human-readable error message from the last operation (thread-local)
 
QString QGCCompression::errorName (Error error)
 Get a human-readable name for an error code.
 
Format QGCCompression::detectFormat (const QString &filePath, bool useContentFallback)
 
Format QGCCompression::detectFormatFromFile (const QString &filePath)
 
Format QGCCompression::detectFormatFromData (const QByteArray &data)
 
QString QGCCompression::formatExtension (Format format)
 Get file extension for a format.
 
QString QGCCompression::formatName (Format format)
 Get human-readable name for a format.
 
bool QGCCompression::isArchiveFormat (Format format)
 Check if format is an archive (contains multiple files)
 
bool QGCCompression::isCompressionFormat (Format format)
 Check if format is a compression format (single stream)
 
bool QGCCompression::isCompressedFile (const QString &filePath)
 Check if file path indicates a compressed file (.gz, .xz, .zst)
 
bool QGCCompression::isArchiveFile (const QString &filePath)
 Check if file path indicates an archive file (.zip, .tar, .tar.gz, etc.)
 
QString QGCCompression::strippedPath (const QString &filePath)
 
QString QGCCompression::detectedFormatName ()
 
QString QGCCompression::detectedFilterName ()
 
bool QGCCompression::decompressFile (const QString &inputPath, const QString &outputPath, Format format, ProgressCallback progress, qint64 maxDecompressedBytes)
 
QString QGCCompression::decompressIfNeeded (const QString &filePath, const QString &outputPath, bool removeOriginal)
 
QByteArray QGCCompression::decompressData (const QByteArray &data, Format format, qint64 maxDecompressedBytes)
 
bool QGCCompression::extractArchive (const QString &archivePath, const QString &outputDirectoryPath, Format format, ProgressCallback progress, qint64 maxDecompressedBytes)
 
bool QGCCompression::extractArchiveAtomic (const QString &archivePath, const QString &outputDirectoryPath, Format format, ProgressCallback progress, qint64 maxDecompressedBytes)
 
bool QGCCompression::extractArchiveFiltered (const QString &archivePath, const QString &outputDirectoryPath, EntryFilter filter, ProgressCallback progress, qint64 maxDecompressedBytes)
 
QStringList QGCCompression::listArchive (const QString &archivePath, Format format)
 
QList< ArchiveEntryQGCCompression::listArchiveDetailed (const QString &archivePath, Format format)
 
ArchiveStats QGCCompression::getArchiveStats (const QString &archivePath, Format format)
 
bool QGCCompression::validateArchive (const QString &archivePath, Format format)
 
bool QGCCompression::fileExists (const QString &archivePath, const QString &fileName, Format format)
 
bool QGCCompression::extractFile (const QString &archivePath, const QString &fileName, const QString &outputPath, Format format)
 
QByteArray QGCCompression::extractFileData (const QString &archivePath, const QString &fileName, Format format)
 
bool QGCCompression::extractFiles (const QString &archivePath, const QStringList &fileNames, const QString &outputDirectoryPath, Format format)
 
bool QGCCompression::extractByPattern (const QString &archivePath, const QStringList &patterns, const QString &outputDirectoryPath, QStringList *extractedFiles, Format format)
 
bool QGCCompression::decompressFromDevice (QIODevice *device, const QString &outputPath, ProgressCallback progress, qint64 maxDecompressedBytes)
 
QByteArray QGCCompression::decompressFromDevice (QIODevice *device, qint64 maxDecompressedBytes)
 
bool QGCCompression::extractFromDevice (QIODevice *device, const QString &outputDirectoryPath, ProgressCallback progress, qint64 maxDecompressedBytes)
 
QByteArray QGCCompression::extractFileDataFromDevice (QIODevice *device, const QString &fileName)
 
QByteArray QGCCompression::compress (const QByteArray &data, CompressionLevel level)
 
QByteArray QGCCompression::uncompress (const QByteArray &data)
 
QByteArray QGCCompression::compressData (const QByteArray &data, CompressionLevel level, int minSize)
 
QByteArray QGCCompression::uncompressData (const QByteArray &data, qint64 maxDecompressedSize)
 
bool QGCCompression::isDataCompressed (const QByteArray &data)
 Check if data has the compressed framing header.
 
int QGCCompression::lastCompressionRatio ()
 Compression ratio from the last compressData() call (thread-local, percentage of original size).
 
QByteArray QGCCompression::readFile (const QString &filePath, QString *errorString=nullptr, qint64 maxBytes=0)
 Read file contents, transparently decompressing .gz/.xz/.zst/.bz2/.lz4 files.
 
QString QGCCompression::computeFileHash (const QString &filePath, QCryptographicHash::Algorithm algorithm=QCryptographicHash::Sha256)
 Hash file contents post-decompression.
 
bool QGCCompression::looksLikeCompressedData (const QByteArray &data)
 
QJsonDocument QGCCompression::parseCompressedJson (const QByteArray &data, QJsonParseError *error=nullptr)
 Parse JSON from data that may be compressed. Auto-detects gzip/xz/zstd/bzip2/lz4.