C++ API | Qt Installer Framework Manual

- Qt Installer Framework Manual
- C++ API

Scripting API ◦ Known Issues

# C++ API

The C++ API documentation is written for developers who develop the Qt Installer Framework. It describes the internal API, so there is no compatibility promise. Further, the documentation is a work in progress and therefore parts of it are missing while other parts might be out of date.

To create customized installers, use the Scripting API, instead. For more information, see Customizing Installers.

## Namespaces

Namespace | Description
--- | ---
QInstaller | Contains classes to implement the core functionality of the Qt Installer Framework and the installer UI.
KDUpdater | Contains classes to automatically detect updates to applications, to retrieve them from external repositories, and to install them. KDUpdater classes are a fork of KDAB's general KDUpdater module.
Lib7z | Contains classes to create and extract archives.

## QInstaller C++ Classes

QInstaller::AbstractArchive | The base class for classes representing different archive files. It cannot be instantiated on its own but defines the API and provides common functionality when subclassed
QInstaller::AbstractFileTask | The base class of file related tasks
QInstaller::AliasFinder | Creates component alias objects from parsed alias source files, based on version and source priorities
QInstaller::AliasSource | Describes a source for alias declarations
QInstaller::LibArchiveArchive::ArchiveData | Bundles a file device and associated read buffer for access as client data in libarchive callbacks
QInstaller::ArchiveEntry | Struct represents an entry in an archive file, which can be for example a file or a directory
QInstaller::ArchiveFactory | Used to create archive objects based on the suffix of a given filename
QInstaller::AspectRatioLabel | Label for displaying a pixmap that maintains its original aspect ratio when resized
QInstaller::CacheableItem | Pure virtual class that defines an interface for a type suited for storage with the GenericDataCache class
QInstaller::ComponentAlias | Represents an alias for single or multiple components
QInstaller::ComponentSortFilterProxyModel | Support for sorting and filtering data passed between another model and a view
QInstaller::DirectoryGuard | RAII class to create a directory and delete it on destruction unless released
QInstaller::FileTaskItem | Represents an item in a file task object
QInstaller::FileTaskResult | Represents the results of a file task
QInstaller::GenericDataCache | Template class for a checksum based storage of items on disk
QInstaller::Lib7zArchive | Represents an archive file handled with the LZMA software development kit
QInstaller::LibArchiveArchive | Represents an archive file handled with libarchive archive and compression library
QInstaller::LibArchiveWrapper | Interface for interacting with archives handled using the libarchive archive and compression library
QInstaller::MessageBoxHandler | Modal dialog for informing the user or asking the user a question and receiving an answer
QInstaller::Metadata | Represents fetched metadata from a repository
QInstaller::MetadataCache | Class for a checksum based storage of Metadata objects on disk
QInstaller::PackageSource | Specifies a single package source
QInstaller::PerformInstallationForm | Shows progress information about the installation state
QInstaller::ScriptEngine | Used to prepare and run the component scripts
QInstaller::SystemInfo | Provides information about the operating system

## KDUpdater C++ Classes

KDUpdater::FileDownloader | The base class for file downloaders used in KDUpdater
KDUpdater::FileDownloaderFactory | Acts as a factory for KDUpdater::FileDownloader
KDUpdater::FileDownloaderProxyFactory | Fine-grained proxy selection
GenericFactory | Implements a template-based generic factory
KDUpdater::HttpDownloader | Used to download files over FTP, HTTP, or HTTPS
KDUpdater::LocalFileDownloader | Used to copy files from the local file system
KDUpdater::ResourceFileDownloader | Can be used to download resource files
KDUpdater::Task | The base class for all tasks in KDUpdater
KDUpdater::UpdateOperationFactory | Used to create update operations based on their name

## Lib7z C++ Classes

Lib7z::ExtractCallback | Provides a callback for archive extraction
Lib7z::PercentPrinter | Displays the archiving process
Lib7z::SevenZipException | Class for lib7z exceptions

Scripting API ◦ Known Issues