|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include "QGCCompression.h"#include <QtCore/QCollator>#include <QtCore/QDir>#include <QtCore/QFile>#include <QtCore/QFileInfo>#include <QtCore/QLocale>#include <QtCore/QMimeDatabase>#include <QtCore/QMimeType>#include <QtCore/QtEndian>#include <algorithm>#include <cstring>#include "QGCDecompressDevice.h"#include "QGCFileHelper.h"#include "QGCLoggingCategory.h"#include "QGClibarchive.h"
Include dependency graph for QGCCompression.cc:Go to the source code of this file.
Namespaces | |
| namespace | QGCCompression |
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. | |
| QString | QGCCompression::detectedFormatName () |
| QString | QGCCompression::detectedFilterName () |
| static bool | QGCCompression::validateFileInput (const QString &filePath, Format &format) |
| static bool | QGCCompression::validateArchiveInput (const QString &archivePath, Format &format) |
| Validate archive input: file exists, format detected, and is archive format. | |
| static bool | QGCCompression::validateDeviceInput (QIODevice *device) |
| Validate device input for streaming operations. | |
| static void | QGCCompression::captureFormatInfo () |
| Capture format detection info from QGClibarchive after an operation. | |
| static Format | QGCCompression::detectFormatFromExtension (const QString &filePath) |
| Extension-based format detection (internal helper) | |
| 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) | |
| QString | QGCCompression::strippedPath (const QString &filePath) |
| 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< ArchiveEntry > | QGCCompression::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. | |
Variables | |
| static constexpr quint8 | QGCCompression::kHeaderUncompressed = 0x00 |
| static constexpr quint8 | QGCCompression::kHeaderCompressed = 0x01 |
| static thread_local int | QGCCompression::s_lastCompressionRatio = 100 |
| Error error = Error::None |
Definition at line 114 of file QGCCompression.cc.
Referenced by PlanManager::_missionResultToString(), PlanManager::_sendError(), RallyPointManager::_sendError(), TerrainOnlineQuery::_sslErrors(), TerrainTileManager::addCarpetQuery(), TerrainTileManager::addCoordinateQuery(), TerrainTileManager::addPathQuery(), ADSBTCPLink::ADSBTCPLink(), QGeoServiceProviderFactoryQGC::createGeocodingManagerEngine(), QGeoServiceProviderFactoryQGC::createMappingManagerEngine(), QGeoServiceProviderFactoryQGC::createPlaceManagerEngine(), QGeoServiceProviderFactoryQGC::createRoutingManagerEngine(), FTPController::deleteFile(), FTPController::downloadFile(), QGCCompression::errorName(), TerrainAtCoordinateQuery::getAltitudesForCoordinates(), TerrainTileManager::getAltitudesForCoordinates(), QGCNetworkHelper::ignoreSslErrors(), QGeoTiledMapReplyQGC::init(), LogRemoteSink::loadTlsCaCertificates(), LogRemoteSink::loadTlsClientCertificate(), NTRIPHttpTransport::NTRIPHttpTransport(), QGCCompression::parseCompressedJson(), QGCNetworkHelper::parseJson(), QGCNetworkHelper::parseJsonReply(), QGCSensors::QGCAmbientTemperature::QGCAmbientTemperature(), QGCSensors::QGCCompass::QGCCompass(), QGCSensors::QGCPressure::QGCPressure(), QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(), QtMultimediaReceiver::QtMultimediaReceiver(), ParameterManager::readParametersFromStream(), QSerialPortPrivate::setError(), QGCMapTask::setError(), QGCMapEngineManager::setErrorMessage(), QGCMapEngineManager::taskError(), and FTPController::uploadFile().
| QString errorString |
Definition at line 115 of file QGCCompression.cc.
Referenced by TransectStyleComplexItem::_load(), LandingComplexItem::_load(), GeoJsonHelper::_loadFile(), KMLHelper::_loadFile(), SHPFileHelper::_loadShape(), KMLHelper::_parseCoordinateString(), SHPFileHelper::_validateSHPFiles(), FactMetaData::convertAndValidateCooked(), FactMetaData::convertAndValidateRaw(), FactMetaData::createFromJsonObject(), QGeoServiceProviderFactoryQGC::createGeocodingManagerEngine(), FactMetaData::createMapFromJsonFile(), QGeoServiceProviderFactoryQGC::createMappingManagerEngine(), QGeoServiceProviderFactoryQGC::createPlaceManagerEngine(), QGeoServiceProviderFactoryQGC::createRoutingManagerEngine(), KMLHelper::determineShapeType(), ShapeFileHelper::determineShapeType(), SHPFileHelper::determineShapeType(), GeoJsonHelper::determineShapeType(), Fact::forceSetRawValue(), ShapeFileHelper::getEntityCount(), KMLHelper::getEntityCount(), SHPFileHelper::getEntityCount(), TerrainTileCopernicus::getJsonFromData(), QGeoTiledMapReplyQGC::init(), AudioOutput::init(), JsonParsing::isJsonFile(), JsonParsing::isJsonFile(), QGCStateMachine::lastError(), CorridorScanComplexItem::load(), FixedWingLandingComplexItem::load(), StructureScanComplexItem::load(), SurveyComplexItem::load(), VTOLLandingComplexItem::load(), CameraCalc::load(), MissionItem::load(), SimpleMissionItem::load(), TakeoffMissionItem::load(), CameraSpec::load(), GeoFenceController::load(), MissionController::load(), RallyPointController::load(), PlanMasterController::loadFromFile(), QGCFencePolygon::loadFromJson(), QGCMapPolygon::loadFromJson(), QGCMapPolyline::loadFromJson(), QGCFenceCircle::loadFromJson(), QGCMapCircle::loadFromJson(), GeoJsonHelper::loadGeoCoordinate(), GeoJsonHelper::loadGeoCoordinateArray(), GeoJsonHelper::loadGeoCoordinateArray(), GeoJsonHelper::loadGeoJsonCoordinate(), MissionCommandUIInfo::loadJsonInfo(), QGCMapPolygon::loadKMLOrSHPFile(), QGCMapPolyline::loadKMLOrSHPFile(), ParameterMetaData::loadParameterFactMetaDataFile(), ShapeFileHelper::loadPointsFromFile(), KMLHelper::loadPointsFromFile(), SHPFileHelper::loadPointsFromFile(), GeoJsonHelper::loadPolygonFromFile(), ShapeFileHelper::loadPolygonsFromFile(), KMLHelper::loadPolygonsFromFile(), SHPFileHelper::loadPolygonsFromFile(), GeoJsonHelper::loadPolylineFromFile(), ShapeFileHelper::loadPolylinesFromFile(), KMLHelper::loadPolylinesFromFile(), SHPFileHelper::loadPolylinesFromFile(), CorridorScanComplexItem::loadPreset(), SurveyComplexItem::loadPreset(), MissionController::loadTextFile(), JsonParsing::openInternalQGCJsonFile(), CameraMetaData::parseCameraMetaData(), PowerModulePresetController::powerModulePresets(), QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(), QtMultimediaReceiver::QtMultimediaReceiver(), QGCCompression::readFile(), QGCFileHelper::readFile(), TerrainTileCopernicus::serializeFromData(), ParameterMetaData::setBitmaskFromPairs(), ParameterMetaData::setEnumFromPairs(), QGCMapTask::setError(), CompInfoGeneral::setJson(), CompInfoParam::setJson(), ParameterMetaData::setRawConvertedValue(), Fact::setRawValue(), SettingsFact::SettingsFact(), ComponentInformationTranslation::translateJsonUsingTS(), Fact::validate(), JsonParsing::validateExternalQGCJsonFile(), JsonParsing::validateInternalQGCJsonFile(), JsonParsing::validateKeys(), JsonParsing::validateKeysStrict(), JsonParsing::validateKeyTypes(), JsonParsing::validateRequiredKeys(), ParameterMetaData::versionFromJsonData(), and ParameterMetaData::versionFromMetaDataFile().
| QString filterName |
Definition at line 117 of file QGCCompression.cc.
| QString formatName |
Definition at line 116 of file QGCCompression.cc.
Referenced by QGCCompression::decompressData(), QGCCompression::decompressFile(), QGCCompression::detectFormat(), QGCCompression::detectFormatFromData(), QGCCompression::detectFormatFromFile(), QGCCompression::extractArchive(), QGCCompression::extractArchiveAtomic(), and QGCCompression::validateArchiveInput().