QInstaller::PackageManagerCore Class

class QInstaller::PackageManagerCore

The PackageManagerCore class provides the core functionality of the Qt Installer Framework. More...

Header: #include <PackageManagerCore>
Inherits: QObject

Public Types

enum class ComponentType { Root, Descendants, Dependencies, Replacements, AllNoReplacements, All }
flags ComponentTypes
enum Status { Success, Failure, Running, Canceled, Unfinished, …, NoPackagesFound }
enum WizardPage { Introduction, TargetDirectory, ComponentSelection, LicenseCheck, StartMenuSelection, …, InstallationFinished }

Properties

Public Functions

PackageManagerCore()
PackageManagerCore(qint64 magicmaker, const QList<QInstaller::OperationBlob> &operations, const QString &datFileName = QString(), const QString &socketName = QString(), const QString &key = QLatin1String(Protocol::DefaultAuthorizationKey), QInstaller::Protocol::Mode mode = Protocol::Mode::Production, const QHash<QString, QString> &params = QHash<QString, QString>(), const bool commandLineInstance = false)
virtual ~PackageManagerCore()
void acceptMessageBoxDefaultButton()
void addAliasSource(const QInstaller::AliasSource &source)
void addFilesForDelayedDeletion(const QStringList &files)
void addLicenseItem(const QHash<QString, QVariantMap> &licenses)
void addResourcesForOfflineGeneration(const QString &rcPath)
void addUserRepositories(const QStringList &repositories)
bool addWizardPage(QInstaller::Component *component, const QString &name, int page)
bool addWizardPageItem(QInstaller::Component *component, const QString &name, int page, int position = 100)
QInstaller::ComponentAlias *aliasByName(const QString &name) const
QList<QInstaller::ComponentAlias *> aliasesMarkedForInstallation() const
void appendRootComponent(QInstaller::Component *component)
void appendUpdaterComponent(QInstaller::Component *component)
void autoAcceptMessageBoxes()
void autoRejectMessageBoxes()
QString availableSpaceMessage() const
bool calculateComponentsToInstall() const
bool calculateComponentsToUninstall() const
bool checkAvailableSpace()
void clearLicenses()
bool clearLocalCache(QString *error = nullptr)
void commitSessionOperations()
QInstaller::Component *componentByName(const QString &name) const
QString componentResolveReasons() const
QInstaller::ScriptEngine *componentScriptEngine() const
QInstaller::ComponentSortFilterProxyModel *componentSortFilterProxyModel()
QList<QInstaller::Component *> components(const QString &regexp = QString()) const
QList<QInstaller::Component *> components(QInstaller::PackageManagerCore::ComponentTypes mask, const QString &regexp = QString()) const
QList<QInstaller::Component *> componentsMarkedForInstallation() const
QString componentsToInstallError() const
QList<QInstaller::Component *> componentsToUninstall() const
QString componentsToUninstallError() const
bool containsFileDialogAutomaticAnswer(const QString &identifier) const
bool containsValue(const QString &key) const
QInstaller::ScriptEngine *controlScriptEngine() const
void createAutoDependencyHash(const QString &component, const QString &oldDependencies, const QString &newDependencies) const
void createLocalDependencyHash(const QString &component, const QString &dependencies) const
QInstaller::PackageManagerCore::Status createOfflineInstaller(const QStringList &componentsToAdd)
QInstaller::ComponentModel *defaultComponentModel() const
QList<QInstaller::Component *> dependees(const QInstaller::Component *_component) const
void deselectComponent(const QString &id)
bool directoryWritable(const QString &path) const
void disableWriteMaintenanceTool(bool disable = true)
int downloadNeededArchives(double partProgressSize)
void dropAdminRights()
QString environmentVariable(const QString &name) const
QString error() const
QList<QVariant> execute(const QString &program, const QStringList &arguments = QStringList(), const QString &stdIn = QString(), const QString &stdInCodec = QLatin1String("latin1"), const QString &stdOutCodec = QLatin1String("latin1")) const
bool executeDetached(const QString &program, const QStringList &arguments = QStringList(), const QString &workingDirectory = QString()) const
bool fetchCompressedPackagesTree()
bool fetchLocalPackagesTree()
bool fetchRemotePackagesTree(const QStringList &components = QStringList())
QHash<QString, QString> fileDialogAutomaticAnswers() const
bool fileExists(const QString &filePath) const
QStringList filesForDelayedDeletion() const
bool finishedWithSuccess() const
bool foundEssentialUpdate() const
QString fromNativeSeparators(const QString &path)
bool gainAdminRights()
QStringList givenArguments() const
QObject *guiObject() const
bool hasAdminRights() const
QInstaller::PackageManagerCore::Status installDefaultComponentsSilently()
QString installReason(QInstaller::Component *component) const
QInstaller::PackageManagerCore::Status installSelectedComponentsSilently(const QStringList &components)
bool installationAllowedToDirectory(const QString &targetDirectory)
QString installerBaseBinary() const
QString installerBinaryPath() const
bool isCommandLineDefaultInstall() const
bool isCommandLineInstance() const
bool isDependencyForRequestedComponent(const QInstaller::Component *component) const
bool isFileExtensionRegistered(const QString &extension) const
bool isInstaller() const
bool isMaintainer() const
bool isOfflineGenerator() const
bool isOfflineOnly() const
bool isPackageManager() const
bool isPackageViewer() const
bool isProcessRunning(const QString &name) const
bool isUninstaller() const
bool isUpdater() const
bool isUserSetBinaryMarker() const
bool isValidCache() const
bool isVerbose() const
QString key(const QString &value) const
bool killProcess(const QString &absoluteFilePath) const
bool listAvailableAliases(const QString &regexp = QString())
bool listAvailablePackages(const QString &regexp = QString(), const QHash<QString, QString> &filters = QHash<QString, QString>())
void listInstalledPackages(const QString &regexp = QString())
QStringList localDependenciesToComponent(const QInstaller::Component *component) const
QInstaller::LocalPackagesMap localInstalledPackages()
bool localInstallerBinaryUsed()
QString maintenanceToolName() const
bool needsHardRestart() const
void networkSettingsChanged()
QString offlineBinaryName() const
bool operationExists(const QString &name)
QList<QInstaller::Component *> orderedComponentsToInstall() const
bool performOperation(const QString &name, const QStringList &arguments)
QInstaller::PackageManagerProxyFactory *proxyFactory() const
QString readConsoleLine(const QString &title = QString(), qint64 maxlen = 0) const
QString readFile(const QString &filePath, const QString &codecName) const
bool recalculateAllComponents()
QInstaller::PackagesList remotePackages()
void removeFileDialogAutomaticAnswer(const QString &identifier)
QInstaller::PackageManagerCore::Status removeInstallationSilently()
bool removeWizardPage(QInstaller::Component *component, const QString &name)
bool removeWizardPageItem(QInstaller::Component *component, const QString &name)
QString replaceVariables(const QString &str) const
QByteArray replaceVariables(const QByteArray &ba) const
QStringList replaceVariables(const QStringList &str) const
quint64 requiredDiskSpace() const
quint64 requiredTemporaryDiskSpace() const
void reset()
void resetBinaryMarkerSupplement()
bool resetLocalCache(bool init = false)
void rollBackInstallation()
bool run()
void saveGivenArguments(const QStringList &args)
void selectComponent(const QString &id)
void setAutoAcceptLicenses()
void setAutoConfirmCommand()
void setCheckAvailableSpace(bool check)
void setCommandLineInstance(bool commandLineInstance)
bool setDefaultPageVisible(int page, bool visible)
void setDependsOnLocalInstallerBinary()
void setFileDialogAutomaticAnswer(const QString &identifier, const QString &value)
void setFoundEssentialUpdate(bool foundEssentialUpdate = true)
void setGuiObject(QObject *gui)
void setInstaller()
void setInstallerBaseBinary(const QString &path)
void setMessageBoxAutomaticAnswer(const QString &identifier, int button)
void setNeedsHardRestart(bool needsHardRestart = true)
void setOfflineBaseBinary(const QString &path)
void setOfflineBinaryName(const QString &name)
void setOfflineGenerator()
void setPackageManager()
void setPackageViewer()
void setProxyFactory(QInstaller::PackageManagerProxyFactory *factory)
void setTemporaryRepositories(const QStringList &repositories, bool replace = false, bool compressed = false)
void setUninstaller()
void setUpdater()
void setUserSetBinaryMarker(qint64 magicMarker)
void setValidatorForCustomPage(QInstaller::Component *component, const QString &name, const QString &callbackName)
void setValue(const QString &key, const QString &value)
void setVerbose(bool on)
QInstaller::Settings &settings() const
quint64 size(QInstaller::Component *component, const QString &value) const
QHash<QString, QMap<QString, QString>> sortedLicenses()
QInstaller::PackageManagerCore::Status status() const
QString targetDirWarning(const QString &targetDirectory) const
QString toNativeSeparators(const QString &path)
QInstaller::PackageManagerCore::Status uninstallComponentsSilently(const QStringList &components)
QString uninstallReason(QInstaller::Component *component) const
QInstaller::PackageManagerCore::Status updateComponentsSilently(const QStringList &componentsToUpdate)
QInstaller::ComponentModel *updaterComponentModel() const
QString value(const QString &key, const QString &defaultValue = QString(), const int &format = QSettings::NativeFormat) const
QStringList values(const QString &key, const QStringList &defaultValue = QStringList()) const
void writeMaintenanceConfigFiles()
void writeMaintenanceTool()

Public Slots

Signals

void aboutCalculateComponentsToInstall() const
void aboutCalculateComponentsToUninstall() const
void componentAdded(QInstaller::Component *comp)
void componentsRecalculated()
void coreNetworkSettingsChanged()
void currentPageChanged(int page)
void defaultTranslationsLoadedForLanguage(QLocale lang)
void downloadArchivesFinished()
void finishAllComponentsReset(const QList<QInstaller::Component *> &rootComponents)
void finishButtonClicked()
void finishUpdaterComponentsReset(const QList<QInstaller::Component *> &componentsWithUpdates)
void finishedCalculateComponentsToInstall() const
void finishedCalculateComponentsToUninstall() const
void guiElementsReady()
void guiObjectChanged(QObject *gui)
void installDirectoryChanged(const QString &newDirectory)
void installationFinished()
void installationInterrupted()
void installationStarted()
void installerBinaryMarkerChanged(qint64 magicMarker)
void metaJobInfoMessage(const QString &message)
void metaJobProgress(int progress)
void metaJobTotalProgress(int progress)
void offlineGenerationFinished()
void offlineGenerationStarted()
void setAutomatedPageSwitchEnabled(bool request)
void setValidatorForCustomPageRequested(QInstaller::Component *component, const QString &name, const QString &callbackName)
void startAllComponentsReset()
void startUpdaterComponentsReset()
void statusChanged(QInstaller::PackageManagerCore::Status)
void titleMessageChanged(const QString &title)
void uninstallationFinished()
void uninstallationStarted()
void unstableComponentFound(const QString &type, const QString &errorMessage, const QString &component)
void updateFinished()
void valueChanged(const QString &key, const QString &value)
void wizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page)
void wizardPageRemovalRequested(QWidget *widget)
void wizardPageVisibilityChangeRequested(bool visible, int page)
void wizardWidgetInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page, int position)
void wizardWidgetRemovalRequested(QWidget *widget)

Static Public Members

QString checkableName(const QString &name)
QInstaller::Component *componentByName(const QString &name, const QList<QInstaller::Component *> &components)
bool createLocalRepositoryFromBinary()
QString findLibrary(const QString &name, const QStringList &paths = QStringList())
QString findPath(const QString &name, const QStringList &paths = QStringList())
int maxConcurrentOperations()
bool noDefaultInstallation()
bool noForceInstallation()
void parseNameAndVersion(const QString &requirement, QString *name, QString *version)
QStringList parseNames(const QStringList &requirements)
void setCreateLocalRepositoryFromBinary(bool create)
void setMaxConcurrentOperations(int count)
void setNoDefaultInstallation(bool value)
void setNoForceInstallation(bool value)
void setVirtualComponentsFont(const QFont &font)
void setVirtualComponentsVisible(bool visible)
bool versionMatches(const QString &version, const QString &requirement)
QFont virtualComponentsFont()
bool virtualComponentsVisible()

Detailed Description

Member Type Documentation

enum class PackageManagerCore::ComponentType
flags PackageManagerCore::ComponentTypes

This enum holds the type of the component list to be returned:

ConstantValueDescription
QInstaller::PackageManagerCore::ComponentType::Root0x1Returns a list of root components.
QInstaller::PackageManagerCore::ComponentType::Descendants0x2Returns a list of all descendant components. In updater mode the list is empty, because component updates cannot have children.
QInstaller::PackageManagerCore::ComponentType::Dependencies0x4Returns a list of all available dependencies when run as updater. When running as installer, package manager, or uninstaller, this will always result in an empty list.
QInstaller::PackageManagerCore::ComponentType::Replacements0x8Returns a list of all available replacement components relevant to the run mode.
QInstaller::PackageManagerCore::ComponentType::AllNoReplacements(Root | Descendants | Dependencies)Returns a list of available components, including root, descendant, and dependency components relevant to the run mode.
QInstaller::PackageManagerCore::ComponentType::All(Root | Descendants | Dependencies | Replacements)Returns a list of all available components, including root, descendant, dependency, and replacement components relevant to the run mode.

The ComponentTypes type is a typedef for QFlags<ComponentType>. It stores an OR combination of ComponentType values.

enum PackageManagerCore::Status

This enum type holds the package manager status:

ConstantValueDescription
QInstaller::PackageManagerCore::SuccessEXIT_SUCCESSInstallation was successful.
QInstaller::PackageManagerCore::FailureEXIT_FAILUREInstallation failed.
QInstaller::PackageManagerCore::Running2Installation is in progress.
QInstaller::PackageManagerCore::Canceled3Installation was canceled.
QInstaller::PackageManagerCore::Unfinished4Installation was not completed.
QInstaller::PackageManagerCore::ForceUpdate5Installation has to be updated.
QInstaller::PackageManagerCore::EssentialUpdated6Installation essential components were updated.
QInstaller::PackageManagerCore::NoPackagesFound7No packages found from remote.

enum PackageManagerCore::WizardPage

This enum type holds the pre-defined package manager pages:

ConstantValueDescription
QInstaller::PackageManagerCore::Introduction0x1000Introduction Page
QInstaller::PackageManagerCore::TargetDirectory0x2000Target Directory Page
QInstaller::PackageManagerCore::ComponentSelection0x3000Component Selection Page
QInstaller::PackageManagerCore::LicenseCheck0x4000License Agreement Page
QInstaller::PackageManagerCore::StartMenuSelection0x5000Start Menu Directory Page
QInstaller::PackageManagerCore::ReadyForInstallation0x6000Ready for Installation Page
QInstaller::PackageManagerCore::PerformInstallation0x7000Perform Installation Page
QInstaller::PackageManagerCore::InstallationFinished0x8000Finished Page

Property Documentation

[read-only] status : const int

Installation status.

Access functions:

QInstaller::PackageManagerCore::Status status() const

Notifier signal:

void statusChanged(QInstaller::PackageManagerCore::Status)

Member Function Documentation

PackageManagerCore::PackageManagerCore()

Used by operation runner to get a fake installer.

PackageManagerCore::PackageManagerCore(qint64 magicmaker, const QList<QInstaller::OperationBlob> &operations, const QString &datFileName = QString(), const QString &socketName = QString(), const QString &key = QLatin1String(Protocol::DefaultAuthorizationKey), QInstaller::Protocol::Mode mode = Protocol::Mode::Production, const QHash<QString, QString> &params = QHash<QString, QString>(), const bool commandLineInstance = false)

Creates an installer or uninstaller and performs sanity checks on the operations specified by operations. A hash table of variables to be stored as package manager core values can be specified by params. Sets the current instance type to be either a GUI or CLI one based on the value of commandLineInstance.

The magic marker magicmaker is a quint64 that identifies the type of the binary: installer or uninstaller.

Creates and initializes a remote client. Requests administrator's rights for QFile, QSettings, and QProcess operations. Calls init() with socketName, key, and mode to set the server side authorization key.

The datFileName contains the corresponding .dat file name for the running maintenance tool binary. datFileName can be empty if maintenance tool fails to find it or if installer is run instead of maintenance tool.

[virtual noexcept] PackageManagerCore::~PackageManagerCore()

Destroys the instance.

[signal] void PackageManagerCore::aboutCalculateComponentsToInstall() const

See also installer.aboutCalculateComponentsToInstall.

[signal] void PackageManagerCore::aboutCalculateComponentsToUninstall() const

See also installer.aboutCalculateComponentsToUninstall.

[invokable] void PackageManagerCore::acceptMessageBoxDefaultButton()

Automatically uses the default button value set for the message box.

This can be used for unattended (automatic) installations.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

void PackageManagerCore::addAliasSource(const QInstaller::AliasSource &source)

Add new source for looking component aliases.

void PackageManagerCore::addFilesForDelayedDeletion(const QStringList &files)

Adds files for delayed deletion.

void PackageManagerCore::addLicenseItem(const QHash<QString, QVariantMap> &licenses)

Adds new set of licenses. If a license with the key already exists, it is not added again.

void PackageManagerCore::addResourcesForOfflineGeneration(const QString &rcPath)

Adds the resource collection in rcPath to the list of resource files to be included into the generated offline installer binary.

[invokable] void PackageManagerCore::addUserRepositories(const QStringList &repositories)

Registers additional repositories.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.addUserRepositories and setTemporaryRepositories().

[invokable] bool PackageManagerCore::addWizardPage(QInstaller::Component *component, const QString &name, int page)

Adds the widget with object name name registered by component as a new page into the installer's GUI wizard. The widget is added before page.

See Controller Scripting for the possible values of page.

Returns true if the operation succeeded.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.addWizardPage.

[invokable] bool PackageManagerCore::addWizardPageItem(QInstaller::Component *component, const QString &name, int page, int position = 100)

Adds the widget with the object name name registered by component as a GUI element into the installer's GUI wizard. The widget is added on page ordered by position number. If several widgets are added to the same page, the widget with lower position number will be inserted on top.

See Controller Scripting for the possible values of page.

If the widget can be found in an UI file for the component, returns true and emits the wizardWidgetInsertionRequested() signal.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.addWizardPageItem, removeWizardPageItem(), and wizardWidgetInsertionRequested().

QInstaller::ComponentAlias *PackageManagerCore::aliasByName(const QString &name) const

Searches for a component alias matching name and returns it. If no alias matches the name, nullptr is returned.

QList<QInstaller::ComponentAlias *> PackageManagerCore::aliasesMarkedForInstallation() const

Returns a list of component aliases that are marked for installation. The list can be empty.

void PackageManagerCore::appendRootComponent(QInstaller::Component *component)

Appends component as the root component to the internal storage for installer or package manager components. To append a component as a child to an already existing component, use Component::appendComponent(). Emits the componentAdded() signal.

void PackageManagerCore::appendUpdaterComponent(QInstaller::Component *component)

Appends component to the internal storage for updater components. Emits the componentAdded() signal.

[invokable] void PackageManagerCore::autoAcceptMessageBoxes()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.autoAcceptMessageBoxes, autoRejectMessageBoxes(), and setMessageBoxAutomaticAnswer().

[invokable] void PackageManagerCore::autoRejectMessageBoxes()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.autoRejectMessageBoxes, autoAcceptMessageBoxes(), and setMessageBoxAutomaticAnswer().

QString PackageManagerCore::availableSpaceMessage() const

Returns informative text about disk space status

[invokable] bool PackageManagerCore::calculateComponentsToInstall() const

Determines which components to install based on the current run mode, including component aliases, dependencies and automatic dependencies. Returns true on success, false otherwise.

The aboutCalculateComponentsToInstall() signal is emitted before the calculation starts, the finishedCalculateComponentsToInstall() signal once all calculations are done.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.calculateComponentsToInstall.

[invokable] bool PackageManagerCore::calculateComponentsToUninstall() const

Calculates a list of components to uninstall.

The aboutCalculateComponentsToUninstall() signal is emitted before the calculation starts, the finishedCalculateComponentsToUninstall() signal once all calculations are done. Returns true on success, false otherwise.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.calculateComponentsToUninstall.

[slot] void PackageManagerCore::cancelMetaInfoJob()

See also installer.cancelMetaInfoJob.

bool PackageManagerCore::checkAvailableSpace()

Checks available disk space if the feature is not explicitly disabled. Returns true if there is sufficient free space on installation and temporary volumes.

See also setCheckAvailableSpace() and availableSpaceMessage().

[static] QString PackageManagerCore::checkableName(const QString &name)

Adds a colon symbol to the component name as a separator between component name and version.

void PackageManagerCore::clearLicenses()

Clears all previously added licenses.

bool PackageManagerCore::clearLocalCache(QString *error = nullptr)

Clears the contents of the cache used to store downloaded metadata. Returns true on success, false otherwise. An error string can be retrieved with error.

void PackageManagerCore::commitSessionOperations()

Saves temporarily current operations for installer usage. This is needed for unit tests when several commands (for example install and uninstall) are performed with the same installer instance.

[signal] void PackageManagerCore::componentAdded(QInstaller::Component *comp)

Emitted when the new root component comp is added.

See also installer.componentAdded.

[invokable] QInstaller::Component *PackageManagerCore::componentByName(const QString &name) const

Returns a component matching name. name can also contain a version requirement. For example, org.qt-project.sdk.qt returns any component with that name, whereas org.qt-project.sdk.qt->=4.5 requires the returned component to have at least version 4.5. If no component matches the requirement, 0 is returned.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[static] QInstaller::Component *PackageManagerCore::componentByName(const QString &name, const QList<QInstaller::Component *> &components)

Searches components for a component matching name and returns it. name can also contain a version requirement. For example, org.qt-project.sdk.qt returns any component with that name, whereas org.qt-project.sdk.qt->=4.5 requires the returned component to have at least version 4.5. If no component matches the requirement, 0 is returned.

QString PackageManagerCore::componentResolveReasons() const

Returns a HTML-formatted description of the reasons each component is about to be installed or uninstalled, or a description of the error occurred while calculating components to install and uninstall.

QInstaller::ScriptEngine *PackageManagerCore::componentScriptEngine() const

Returns the script engine that prepares and runs the component scripts.

See also Component Scripting.

QInstaller::ComponentSortFilterProxyModel *PackageManagerCore::componentSortFilterProxyModel()

Returns the proxy model

[invokable] QList<QInstaller::Component *> PackageManagerCore::components(const QString &regexp = QString()) const

Returns an array of all components currently available. If the repository metadata have not been fetched yet, the array will be empty. Optionally, a regexp expression can be used to further filter the listed packages.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.components.

QList<QInstaller::Component *> PackageManagerCore::components(QInstaller::PackageManagerCore::ComponentTypes mask, const QString &regexp = QString()) const

Returns a list of components depending on the component types passed in mask. Optionally, a regexp expression can be used to further filter the listed packages.

QList<QInstaller::Component *> PackageManagerCore::componentsMarkedForInstallation() const

Returns a list of components that are marked for installation. The list can be empty.

[signal] void PackageManagerCore::componentsRecalculated()

Emitted when the component tree is recalculated. In a graphical interface, this signal is emitted also after the categories are fetched.

QString PackageManagerCore::componentsToInstallError() const

Returns errors found in the components that are marked for installation.

QList<QInstaller::Component *> PackageManagerCore::componentsToUninstall() const

Returns a human-readable description of the error that occurred when evaluating the components to install. The error message is empty if no error occurred.

See also calculateComponentsToInstall.

QString PackageManagerCore::componentsToUninstallError() const

Returns errors found in the components that are marked for uninstallation.

[invokable] bool PackageManagerCore::containsFileDialogAutomaticAnswer(const QString &identifier) const

Returns true if QFileDialog with the ID identifier has an automatic answer set.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.containsFileDialogAutomaticAnswer, installer.removeFileDialogAutomaticAnswer, QFileDialog.getExistingDirectory, and QFileDialog.getOpenFileName.

[invokable] bool PackageManagerCore::containsValue(const QString &key) const

Returns true if the installer contains a value for key.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.containsValue, value(), setValue(), and valueChanged().

QInstaller::ScriptEngine *PackageManagerCore::controlScriptEngine() const

Returns the script engine that prepares and runs the control script.

See also Controller Scripting.

[signal] void PackageManagerCore::coreNetworkSettingsChanged()

See also installer.coreNetworkSettingsChanged.

void PackageManagerCore::createAutoDependencyHash(const QString &component, const QString &oldDependencies, const QString &newDependencies) const

Adds component newDependencies to a hash table for quicker search for install and uninstall autodependency components. Removes oldDependencies from the hash table if dependencies have changed.

void PackageManagerCore::createLocalDependencyHash(const QString &component, const QString &dependencies) const

Adds component local dependencies to a hash table for quicker search for uninstall dependency components.

[static] bool PackageManagerCore::createLocalRepositoryFromBinary()

Returns true if a local repository should be created from binary content.

See also setCreateLocalRepositoryFromBinary().

QInstaller::PackageManagerCore::Status PackageManagerCore::createOfflineInstaller(const QStringList &componentsToAdd)

Creates an offline installer from selected componentsToAdd without displaying a user interface. Virtual components cannot be selected unless made visible with –show-virtual-components as in installation. AutoDependOn nor non-checkable components cannot be selected directly. Returns PackageManagerCore::Status.

[signal] void PackageManagerCore::currentPageChanged(int page)

Emitted when the current page page changes.

See also installer.currentPageChanged.

QInstaller::ComponentModel *PackageManagerCore::defaultComponentModel() const

Returns the default component model.

[signal] void PackageManagerCore::defaultTranslationsLoadedForLanguage(QLocale lang)

Emitted when the language lang has changed.

QList<QInstaller::Component *> PackageManagerCore::dependees(const QInstaller::Component *_component) const

Returns a list of components that depend on _component. The list can be empty.

Note: Automatic dependencies are not resolved.

[invokable] void PackageManagerCore::deselectComponent(const QString &id)

Deselects the component with id.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.deselectComponent and selectComponent().

bool PackageManagerCore::directoryWritable(const QString &path) const

Returns true if directory specified by path is writable by the current user.

void PackageManagerCore::disableWriteMaintenanceTool(bool disable = true)

Disables writing of maintenance tool for the current session if disable is true.

[signal] void PackageManagerCore::downloadArchivesFinished()

Emitted when all data archives for components have been downloaded successfully.

See also installer.downloadArchivesFinished.

int PackageManagerCore::downloadNeededArchives(double partProgressSize)

Returns the number of archives that will be downloaded.

partProgressSize is reserved for the download progress.

[invokable] void PackageManagerCore::dropAdminRights()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.dropAdminRights and gainAdminRights().

[invokable] QString PackageManagerCore::environmentVariable(const QString &name) const

Returns the content of the environment variable name. An empty string is returned if the environment variable is not set.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.environmentVariable.

QString PackageManagerCore::error() const

Returns a human-readable description of the last error that occurred.

[invokable] QList<QVariant> PackageManagerCore::execute(const QString &program, const QStringList &arguments = QStringList(), const QString &stdIn = QString(), const QString &stdInCodec = QLatin1String("latin1"), const QString &stdOutCodec = QLatin1String("latin1")) const

Starts the program program with the arguments arguments in a new process and waits for it to finish.

stdIn is sent as standard input to the application.

stdInCodec is the name of the codec to use for converting the input string into bytes to write to the standard input of the application.

stdOutCodec is the name of the codec to use for converting data written by the application to standard output into a string.

Returns an empty array if the program could not be executed, otherwise the output of command as the first item, and the return code as the second.

Note: On Unix, the output is just the output to stdout, not to stderr.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.execute and executeDetached().

[invokable] bool PackageManagerCore::executeDetached(const QString &program, const QStringList &arguments = QStringList(), const QString &workingDirectory = QString()) const

Starts the program program with the arguments arguments in a new process, and detaches from it. Returns true on success; otherwise returns false. If the installer exits, the detached process will continue to live.

Note: Arguments that contain spaces are not passed to the process as separate arguments.

Unix: The started process will run in its own session and act like a daemon.

Windows: Arguments that contain spaces are wrapped in quotes. The started process will run as a regular standalone process.

The process will be started in the directory workingDirectory.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.executeDetached.

bool PackageManagerCore::fetchCompressedPackagesTree()

Checks for compressed packages to install. Returns true if newer versions exist and they can be installed.

bool PackageManagerCore::fetchLocalPackagesTree()

Returns true if the package manager is running and installed packages are found. Otherwise, returns false.

bool PackageManagerCore::fetchRemotePackagesTree(const QStringList &components = QStringList())

Checks for packages to install. Returns true if newer versions exist and they can be installed. Returns false if not components are found for install, or if error occurred when fetching and generating package tree.

QHash<QString, QString> PackageManagerCore::fileDialogAutomaticAnswers() const

Returns the hash of file dialog automatic answers

See also setFileDialogAutomaticAnswer().

[invokable] bool PackageManagerCore::fileExists(const QString &filePath) const

Returns true if the filePath exists; otherwise returns false.

Note: If the file is a symlink that points to a non existing file, false is returned.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.fileExists.

QStringList PackageManagerCore::filesForDelayedDeletion() const

Returns the file list used for delayed deletion.

[static invokable] QString PackageManagerCore::findLibrary(const QString &name, const QStringList &paths = QStringList())

Finds a library named name in paths. If paths is empty, it gets filled with platform dependent default paths. The resulting path is returned.

This method can be used by scripts to check external dependencies.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.findLibrary and findPath().

[static invokable] QString PackageManagerCore::findPath(const QString &name, const QStringList &paths = QStringList())

Tries to find the file name name in one of the paths specified by paths. The resulting path is returned.

This method can be used by scripts to check external dependencies.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.findPath and findLibrary().

[signal] void PackageManagerCore::finishAllComponentsReset(const QList<QInstaller::Component *> &rootComponents)

Triggered when the list of new root components, rootComponents, has been updated.

See also installer.finishAllComponentsReset and startAllComponentsReset().

[signal] void PackageManagerCore::finishButtonClicked()

See also installer.finishButtonClicked.

[signal] void PackageManagerCore::finishUpdaterComponentsReset(const QList<QInstaller::Component *> &componentsWithUpdates)

Triggered when the list of available remote updates, componentsWithUpdates, has been updated.

See also installer.finishUpdaterComponentsReset.

[signal] void PackageManagerCore::finishedCalculateComponentsToInstall() const

See also installer.finishedCalculateComponentsToInstall.

[signal] void PackageManagerCore::finishedCalculateComponentsToUninstall() const

See also installer.finishedCalculateComponentsToUninstall.

bool PackageManagerCore::finishedWithSuccess() const

Returns true if at least one complete installation or update was successful, even if the user cancelled the latest installation process.

bool PackageManagerCore::foundEssentialUpdate() const

Returns true if an essential component update is found.

See also setFoundEssentialUpdate().

[invokable] QString PackageManagerCore::fromNativeSeparators(const QString &path)

Returns path using '/' as file separator.

On Unix platforms the returned string is the same as the argument.

Note: Predefined variables, such as @TargetDir@, are not resolved by this function. To convert the separators to predefined variables, use installer.value() to resolve the variables first.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.fromNativeSeparators, toNativeSeparators(), and installer.value.

[invokable] bool PackageManagerCore::gainAdminRights()

Tries to gain admin rights. On success, it returns true.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.gainAdminRights and dropAdminRights().

QStringList PackageManagerCore::givenArguments() const

Returns the commands and options user has given when running installer.

[signal] void PackageManagerCore::guiElementsReady()

Emitted after installer has finished making QWizard and common QWizard pages.

QObject *PackageManagerCore::guiObject() const

Returns the GUI object.

See also setGuiObject().

[signal] void PackageManagerCore::guiObjectChanged(QObject *gui)

Emitted when the GUI object is set to gui.

[invokable] bool PackageManagerCore::hasAdminRights() const

Returns true if the installer has admin rights. For example, if the installer was started with a root account, or the internal admin rights elevation is active.

Returns false otherwise.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.hasAdminRights, gainAdminRights(), and dropAdminRights().

QInstaller::PackageManagerCore::Status PackageManagerCore::installDefaultComponentsSilently()

Installs components that are checked by default, i.e. those that are set with <Default> or <ForcedInstallation> and their respective dependencies without GUI. Returns PackageManagerCore installation status.

[signal] void PackageManagerCore::installDirectoryChanged(const QString &newDirectory)

Emitted when the installation directory is changed to newDirectory.

See also installer.installDirectoryChanged.

QString PackageManagerCore::installReason(QInstaller::Component *component) const

Returns the reason why component needs to be installed:

  • The component was scheduled for installation.
  • The component was added as a dependency for another component.
  • The component was added as an automatic dependency.

QInstaller::PackageManagerCore::Status PackageManagerCore::installSelectedComponentsSilently(const QStringList &components)

Installs the selected components components without displaying a user interface. Virtual components cannot be installed unless made visible with –show-virtual-components. AutoDependOn nor non-checkable components cannot be installed directly. Returns PackageManagerCore installation status.

bool PackageManagerCore::installationAllowedToDirectory(const QString &targetDirectory)

Checks whether installation is allowed to targetDirectory:

  • Returns true if the directory does not exist.
  • Returns true if the directory exists and is empty.
  • Returns false if the directory already exists and contains an installation.
  • Returns false if the target is a file or a symbolic link.
  • Returns true or false if the directory exists but is not empty, depending on the choice that the end users make in the displayed message box.

[signal] void PackageManagerCore::installationFinished()

See also installer.installationFinished, installationStarted(), and installationInterrupted().

[signal] void PackageManagerCore::installationInterrupted()

See also installer.installationInterrupted, interrupt(), installationStarted(), and installationFinished().

[signal] void PackageManagerCore::installationStarted()

See also installer.installationStarted, installationFinished(), and installationInterrupted().

QString PackageManagerCore::installerBaseBinary() const

Returns the value of installerbase binary which is used when writing the maintenance tool. Value can be empty.

See also setInstallerBaseBinary().

[signal] void PackageManagerCore::installerBinaryMarkerChanged(qint64 magicMarker)

Emitted when installer binary marker magicMarker has changed.

QString PackageManagerCore::installerBinaryPath() const

Returns the path to the installer binary.

[slot] void PackageManagerCore::interrupt()

See also installer.interrupt and installationInterrupted().

[invokable] bool PackageManagerCore::isCommandLineDefaultInstall() const

Returns true if installation is performed with default components.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isCommandLineDefaultInstall.

[invokable] bool PackageManagerCore::isCommandLineInstance() const

Returns true if running as command line instance.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isCommandLineInstance.

bool PackageManagerCore::isDependencyForRequestedComponent(const QInstaller::Component *component) const

Returns true if components which are about to be installed or updated are dependent on component.

[invokable] bool PackageManagerCore::isFileExtensionRegistered(const QString &extension) const

Returns whether the file extension extension is already registered in the Windows registry. Returns false on all other platforms.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isFileExtensionRegistered.

[invokable] bool PackageManagerCore::isInstaller() const

Returns true if running as installer.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isInstaller, isUninstaller(), isUpdater(), and isPackageManager().

bool PackageManagerCore::isMaintainer() const

Returns true if it is a package manager or an updater.

[invokable] bool PackageManagerCore::isOfflineGenerator() const

Returns true if current installer is executed as offline generator.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isOfflineGenerator.

[invokable] bool PackageManagerCore::isOfflineOnly() const

Returns true if this is an offline-only installer.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isOfflineOnly.

[invokable] bool PackageManagerCore::isPackageManager() const

Returns true if running as the package manager.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isPackageManager, setPackageManager(), isInstaller(), isUninstaller(), and isUpdater().

[invokable] bool PackageManagerCore::isPackageViewer() const

Returns true if the current installer is executed as package viewer.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isPackageViewer.

[invokable] bool PackageManagerCore::isProcessRunning(const QString &name) const

Returns true if a process with name is running. On Windows, the comparison is case-insensitive.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isProcessRunning.

[invokable] bool PackageManagerCore::isUninstaller() const

Returns true if running as uninstaller.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isUninstaller, setUninstaller(), isInstaller(), isUpdater(), and isPackageManager().

[invokable] bool PackageManagerCore::isUpdater() const

Returns true if running as updater.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isUpdater, setUpdater(), isInstaller(), isUninstaller(), and isPackageManager().

[invokable] bool PackageManagerCore::isUserSetBinaryMarker() const

Returns true if the magic binary marker has been set by user, for example from a command line argument.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.isUserSetBinaryMarker.

bool PackageManagerCore::isValidCache() const

Returns true if the metadata cache is initialized and valid, false otherwise.

bool PackageManagerCore::isVerbose() const

Returns true if the package manager displays detailed information.

[invokable] QString PackageManagerCore::key(const QString &value) const

Returns the installer key for value. If value is not known, empty string is returned.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.key.

[invokable] bool PackageManagerCore::killProcess(const QString &absoluteFilePath) const

Returns true if a process with absoluteFilePath could be killed or is not running.

Note: This is implemented in a semi blocking way (to keep the main thread to paint the UI).

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.killProcess.

[slot] void PackageManagerCore::languageChanged()

See also installer.languageChanged.

bool PackageManagerCore::listAvailableAliases(const QString &regexp = QString())

Lists available component aliases filtered with regexp without GUI. Virtual aliases are not listed unless set visible.

Returns true if matching package aliases were found, false otherwise.

See also setVirtualComponentsVisible().

bool PackageManagerCore::listAvailablePackages(const QString &regexp = QString(), const QHash<QString, QString> &filters = QHash<QString, QString>())

Lists available packages filtered with regexp without GUI. Virtual components are not listed unless set visible. Optionally, a filters hash containing package information elements and regular expressions can be used to further filter listed packages.

Returns true if matching packages were found, false otherwise.

See also setVirtualComponentsVisible().

void PackageManagerCore::listInstalledPackages(const QString &regexp = QString())

Lists installed packages without GUI. List of packages can be filtered with regexp.

QStringList PackageManagerCore::localDependenciesToComponent(const QInstaller::Component *component) const

Returns a list of local components which are dependent on component.

QInstaller::LocalPackagesMap PackageManagerCore::localInstalledPackages()

Returns a list of local installed packages. The list can be empty.

[invokable] bool PackageManagerCore::localInstallerBinaryUsed()

Returns false if the installer is run on Windows, and the installer has been started from a remote file system drive. Otherwise returns true.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.localInstallerBinaryUsed and setDependsOnLocalInstallerBinary().

QString PackageManagerCore::maintenanceToolName() const

Returns the path name of the maintenance tool binary.

[static] int PackageManagerCore::maxConcurrentOperations()

Returns the maximum count of operations that should be run concurrently at the given time.

Currently this affects only operations in the unpacking phase.

See also setMaxConcurrentOperations().

[signal] void PackageManagerCore::metaJobInfoMessage(const QString &message)

Triggered with informative updates, message, of the communication with a remote repository.

See also installer.metaJobInfoMessage.

[signal] void PackageManagerCore::metaJobProgress(int progress)

Triggered with progress updates of the communication with a remote repository. Values of progress range from 0 to 100.

See also installer.metaJobProgress.

[signal] void PackageManagerCore::metaJobTotalProgress(int progress)

Triggered when the total progress value of the communication with a remote repository changes.

See also installer.metaJobTotalProgress.

bool PackageManagerCore::needsHardRestart() const

Returns true if a hard restart of the application is requested.

See also setNeedsHardRestart().

void PackageManagerCore::networkSettingsChanged()

Emits the coreNetworkSettingsChanged() signal when network settings change.

[static invokable] bool PackageManagerCore::noDefaultInstallation()

Returns true if components are not selected by default although <Default> element is set in the package information file.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also setNoDefaultInstallation().

[static invokable] bool PackageManagerCore::noForceInstallation()

Returns true if forced installation is not set for all components for which the <ForcedInstallation> element is set in the package information file.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also setNoForceInstallation().

QString PackageManagerCore::offlineBinaryName() const

Returns the path set for the generated offline binary.

See also setOfflineBinaryName().

[signal] void PackageManagerCore::offlineGenerationFinished()

See also installer.offlineGenerationFinished().

[signal] void PackageManagerCore::offlineGenerationStarted()

See also installer.offlineGenerationStarted().

[invokable] bool PackageManagerCore::operationExists(const QString &name)

Returns true if the operation specified by name exists.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

QList<QInstaller::Component *> PackageManagerCore::orderedComponentsToInstall() const

Returns an ordered list of components to install. The list can be empty.

[static] void PackageManagerCore::parseNameAndVersion(const QString &requirement, QString *name, QString *version)

Parses name and version from requirement component. requirement contains both name and version separated either with ':' or with '-'.

[static] QStringList PackageManagerCore::parseNames(const QStringList &requirements)

Excludes version numbers from names from requirements components. requirements list contains names that have both name and version.

Returns a list containing names without version numbers.

[invokable] bool PackageManagerCore::performOperation(const QString &name, const QStringList &arguments)

Performs the operation name with arguments.

Returns false if the operation cannot be created or executed.

Note: The operation is performed threaded. It is not advised to call this function after installation finished signals.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.performOperation.

QInstaller::PackageManagerProxyFactory *PackageManagerCore::proxyFactory() const

Returns a copy of the proxy factory that the package manager uses to determine the proxies to be used for requests.

See also setProxyFactory().

[invokable] QString PackageManagerCore::readConsoleLine(const QString &title = QString(), qint64 maxlen = 0) const

Prints title to console and reads console input. Function will halt the installer and wait for user input. Returns a line which user has typed into console. The maximum allowed line length is set to maxlen. If the stream contains lines longer than this, then the line will be split after maxlen characters. If maxlen is 0, the line can be of any length.

Note: Can be only called when installing from command line instance without GUI. If the output device is not a TTY, i.e. when forwarding to a file, the function will throw an error.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.readConsoleLine.

[invokable] QString PackageManagerCore::readFile(const QString &filePath, const QString &codecName) const

Returns the contents of the file filePath using the encoding specified by codecName. The file is read in the text mode, that is, end-of-line terminators are translated to the local encoding.

Note: If the file does not exist or an error occurs while reading the file, an empty string is returned.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.readFile.

[invokable] bool PackageManagerCore::recalculateAllComponents()

Recalculates all components to install and uninstall. Returns true on success, false otherwise. Detailed error messages can be retrieved with {installer::componentsToInstallError} and {installer::componentsToUninstallError}.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

QInstaller::PackagesList PackageManagerCore::remotePackages()

Returns a list of packages available in all the repositories that were looked at.

[invokable] void PackageManagerCore::removeFileDialogAutomaticAnswer(const QString &identifier)

Removes the automatic answer from QFileDialog with the ID identifier. QFileDialog can be called from script.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.removeFileDialogAutomaticAnswer, QFileDialog.getExistingDirectory, and QFileDialog.getOpenFileName.

QInstaller::PackageManagerCore::Status PackageManagerCore::removeInstallationSilently()

Uninstalls all installed components without GUI and removes the program directory. Returns PackageManagerCore installation status.

[invokable] bool PackageManagerCore::removeWizardPage(QInstaller::Component *component, const QString &name)

Removes the widget with the object name name previously added to the installer's wizard by component.

Returns true if the operation succeeded.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.removeWizardPage, addWizardPage(), setDefaultPageVisible(), and wizardPageRemovalRequested().

[invokable] bool PackageManagerCore::removeWizardPageItem(QInstaller::Component *component, const QString &name)

Removes the widget with the object name name previously added to the installer's wizard by component.

If the widget can be found in an UI file for the component, returns true and emits the wizardWidgetRemovalRequested() signal.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.removeWizardPageItem and addWizardPageItem().

QString PackageManagerCore::replaceVariables(const QString &str) const

Replaces all variables within str by their respective values and returns the result.

QByteArray PackageManagerCore::replaceVariables(const QByteArray &ba) const

This is an overloaded function.

Replaces all variables within ba by their respective values and returns the result.

QStringList PackageManagerCore::replaceVariables(const QStringList &str) const

This is an overloaded function.

Replaces all variables in any instance of str by their respective values and returns the results.

[invokable] quint64 PackageManagerCore::requiredDiskSpace() const

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.requiredDiskSpace and requiredTemporaryDiskSpace().

[invokable] quint64 PackageManagerCore::requiredTemporaryDiskSpace() const

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.requiredTemporaryDiskSpace and requiredDiskSpace().

void PackageManagerCore::reset()

Resets the class to its initial state.

void PackageManagerCore::resetBinaryMarkerSupplement()

Resets the binary marker supplement of the installer to Default. The supplement enables or disables additional features on top of the binary marker state (Installer, Updater, PackageManager, Uninstaller).

bool PackageManagerCore::resetLocalCache(bool init = false)

Resets the cache used to store downloaded metadata, if one was previously initialized. If init is set to true, the cache is reinitialized for the path configured in installer's settings.

Returns true on success, false otherwise.

void PackageManagerCore::rollBackInstallation()

Cancels the installation and performs the UNDO step of all already executed operations.

bool PackageManagerCore::run()

Runs the installer, uninstaller, updater, package manager, or offline generator depending on the type of this binary. Returns true on success, otherwise false.

[slot] bool PackageManagerCore::runInstaller()

Runs the installer. Returns true on success, false otherwise.

See also installer.runInstaller.

[slot] bool PackageManagerCore::runOfflineGenerator()

Runs the offline generator. Returns true on success, false otherwise.

See also installer.runOfflineGenerator.

[slot] bool PackageManagerCore::runPackageUpdater()

Runs the updater. Returns true on success, false otherwise.

See also installer.runPackageUpdater.

[slot] bool PackageManagerCore::runUninstaller()

Runs the uninstaller. Returns true on success, false otherwise.

See also installer.runUninstaller.

void PackageManagerCore::saveGivenArguments(const QStringList &args)

Saves the installer args user has given when running installer. Command and option arguments are not saved.

[invokable] void PackageManagerCore::selectComponent(const QString &id)

Selects the component with id.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.selectComponent and deselectComponent().

[invokable] void PackageManagerCore::setAutoAcceptLicenses()

Automatically accepts all license agreements required to install the selected components.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setAutoAcceptLicenses.

void PackageManagerCore::setAutoConfirmCommand()

Set to automatically confirm install, update or remove without asking user.

[signal] void PackageManagerCore::setAutomatedPageSwitchEnabled(bool request)

Triggered when the automatic switching from the perform installation to the installation finished page is enabled (request is true) or disabled (request is false).

The automatic switching is disabled automatically when for example the user expands or unexpands the Details section of the PerformInstallation page.

See also installer.setAutomatedPageSwitchEnabled.

[slot] void PackageManagerCore::setCanceled()

See also installer.setCanceled.

void PackageManagerCore::setCheckAvailableSpace(bool check)

Sets checkAvailableSpace based on value of check.

See also checkAvailableSpace().

void PackageManagerCore::setCommandLineInstance(bool commandLineInstance)

Set to use command line instance based on commandLineInstance.

See also isCommandLineInstance().

[slot] void PackageManagerCore::setCompleteUninstallation(bool complete)

Sets the uninstallation to be complete. If complete is false, only components deselected by the user will be uninstalled. This option applies only on uninstallation.

See also installer.setCompleteUninstallation.

[static] void PackageManagerCore::setCreateLocalRepositoryFromBinary(bool create)

Determines that a local repository should be created from binary content if create is true.

See also createLocalRepositoryFromBinary().

[invokable] bool PackageManagerCore::setDefaultPageVisible(int page, bool visible)

Sets the visibility of the default page with the ID page to visible. That is, removes it from or adds it to the wizard. This works only for pages that were in the installer when it was started.

Returns true.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setDefaultPageVisible, addWizardPage(), and removeWizardPage().

[invokable] void PackageManagerCore::setDependsOnLocalInstallerBinary()

Makes sure the installer runs from a local drive. Otherwise the user will get an appropriate error message.

Note: This only works on Windows.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setDependsOnLocalInstallerBinary and localInstallerBinaryUsed().

[invokable] void PackageManagerCore::setFileDialogAutomaticAnswer(const QString &identifier, const QString &value)

Automatically sets the existing directory or filename value to QFileDialog with the ID identifier. QFileDialog can be called from script.

This can be used for unattended (automatic) installations.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setFileDialogAutomaticAnswer, QFileDialog.getExistingDirectory, and QFileDialog.getOpenFileName.

void PackageManagerCore::setFoundEssentialUpdate(bool foundEssentialUpdate = true)

Sets the value of foundEssentialUpdate, defaults to true.

See also foundEssentialUpdate().

void PackageManagerCore::setGuiObject(QObject *gui)

Sets the maintenance tool UI to gui.

See also guiObject().

[invokable] void PackageManagerCore::setInstaller()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setInstaller, isInstaller(), setUpdater(), and setPackageManager().

[invokable] void PackageManagerCore::setInstallerBaseBinary(const QString &path)

Sets the installerbase binary located at path to use when writing the maintenance tool. Set the path if an update to the binary is available.

If the path is not set, the executable segment of the running installer or uninstaller will be used.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installerBaseBinary() and installer.setInstallerBaseBinary.

[static] void PackageManagerCore::setMaxConcurrentOperations(int count)

Sets the maximum count of operations that should be run concurrently at the given time. A value of 0 is synonym for automatic count.

Currently this affects only operations in the unpacking phase.

See also maxConcurrentOperations().

[invokable] void PackageManagerCore::setMessageBoxAutomaticAnswer(const QString &identifier, int button)

Automatically closes the message box with the ID identifier as if the user had pressed button.

This can be used for unattended (automatic) installations.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setMessageBoxAutomaticAnswer, QMessageBox, autoAcceptMessageBoxes(), and autoRejectMessageBoxes().

void PackageManagerCore::setNeedsHardRestart(bool needsHardRestart = true)

Enables a component to request a hard restart of the application if needsHardRestart is set to true.

See also needsHardRestart().

[static] void PackageManagerCore::setNoDefaultInstallation(bool value)

Overwrites the value specified for the component in the <Default> element in the package information file with value. Setting value to true unselects the components.

See also noDefaultInstallation().

[static] void PackageManagerCore::setNoForceInstallation(bool value)

Overwrites the value specified for the component in the <ForcedInstallation> element in the package information file with value. This enables end users to select or deselect the component in the installer.

See also noForceInstallation().

void PackageManagerCore::setOfflineBaseBinary(const QString &path)

Sets the installerbase binary located at path to use when writing the offline installer. Setting this makes it possible to run the offline generator in cases where we are not running a real installer, i.e. when executing autotests.

For normal runs, the executable segment of the running installer will be used.

void PackageManagerCore::setOfflineBinaryName(const QString &name)

Sets the name for the generated offline binary.

See also offlineBinaryName().

void PackageManagerCore::setOfflineGenerator()

Sets current installer to be offline generator.

See also isOfflineGenerator().

[invokable] void PackageManagerCore::setPackageManager()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also isPackageManager() and installer.setPackageManager.

void PackageManagerCore::setPackageViewer()

Sets the current installer as the package viewer.

See also isPackageViewer().

void PackageManagerCore::setProxyFactory(QInstaller::PackageManagerProxyFactory *factory)

Sets the proxy factory for the package manager to be factory. A proxy factory is used to determine a more specific list of proxies to be used for a given request, instead of trying to use the same proxy value for all requests. This might only be of use for HTTP or FTP requests.

See also proxyFactory().

[invokable] void PackageManagerCore::setTemporaryRepositories(const QStringList &repositories, bool replace = false, bool compressed = false)

Sets additional repositories for this instance of the installer or updater if replace is false. compressed repositories can be added as well. Will be removed after invoking it again.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setTemporaryRepositories and addUserRepositories().

[invokable] void PackageManagerCore::setUninstaller()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setUninstaller, isUninstaller(), setUpdater(), and setPackageManager().

[invokable] void PackageManagerCore::setUpdater()

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setUpdater, isUpdater(), setUninstaller(), and setPackageManager().

void PackageManagerCore::setUserSetBinaryMarker(qint64 magicMarker)

Sets the installer magic binary marker based on magicMarker and userSetBinaryMarker to true.

See also isUserSetBinaryMarker().

[invokable] void PackageManagerCore::setValidatorForCustomPage(QInstaller::Component *component, const QString &name, const QString &callbackName)

Sets a validator for the custom page specified by name and callbackName for the component component.

When using this, name has to match a dynamic page starting with Dynamic. For example, if the page is called DynamicReadyToInstallWidget, then name should be set to ReadyToInstallWidget. The callbackName should be set to a function that returns a boolean. When the Next button is pressed on the custom page, then it will call the callbackName function. If this returns true, then it will move to the next page.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setValidatorForCustomPage and setValidatorForCustomPageRequested().

[signal] void PackageManagerCore::setValidatorForCustomPageRequested(QInstaller::Component *component, const QString &name, const QString &callbackName)

Requests that a validator be set for the custom page specified by name and callbackName for the component component. Triggered when setValidatorForCustomPage() is called.

See also installer.setValidatorForCustomPageRequested.

[invokable] void PackageManagerCore::setValue(const QString &key, const QString &value)

Sets the installer value for key to value.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.setValue, value(), containsValue(), and valueChanged().

void PackageManagerCore::setVerbose(bool on)

Determines that the package manager displays detailed information if on is true. Calling setVerbose() more than once increases verbosity.

See also isVerbose().

[static] void PackageManagerCore::setVirtualComponentsFont(const QFont &font)

Sets the virtual components' font to font.

See also virtualComponentsFont().

[static] void PackageManagerCore::setVirtualComponentsVisible(bool visible)

Shows virtual components if visible is true.

See also virtualComponentsVisible().

QInstaller::Settings &PackageManagerCore::settings() const

Returns the settings for the package manager.

quint64 PackageManagerCore::size(QInstaller::Component *component, const QString &value) const

Returns the size of the component component as value.

QHash<QString, QMap<QString, QString>> PackageManagerCore::sortedLicenses()

Returns licenses hash which can be sorted by priority.

[signal] void PackageManagerCore::startAllComponentsReset()

See also installer.startAllComponentsReset and finishAllComponentsReset().

[signal] void PackageManagerCore::startUpdaterComponentsReset()

See also installer.startUpdaterComponentsReset.

QString PackageManagerCore::targetDirWarning(const QString &targetDirectory) const

Returns a warning if the path to the target directory targetDirectory is not set or if it is invalid.

[signal] void PackageManagerCore::titleMessageChanged(const QString &title)

Emitted when the text of the installer status (on the PerformInstallation page) changes to title.

See also installer.titleMessageChanged.

[invokable] QString PackageManagerCore::toNativeSeparators(const QString &path)

Returns path with the '/' separators converted to separators that are appropriate for the underlying operating system.

On Unix platforms the returned string is the same as the argument.

Note: Predefined variables, such as @TargetDir@, are not resolved by this function. To convert the separators to predefined variables, use installer.value() to resolve the variables first.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.toNativeSeparators, fromNativeSeparators(), and installer.value.

QInstaller::PackageManagerCore::Status PackageManagerCore::uninstallComponentsSilently(const QStringList &components)

Uninstalls the selected components components without GUI. Returns PackageManagerCore installation status.

QString PackageManagerCore::uninstallReason(QInstaller::Component *component) const

Returns the reason why component needs to be uninstalled:

  • The component was scheduled for uninstallation.
  • The component was replaced by another component.
  • The component is virtual and its dependencies are uninstalled.
  • The components dependencies are uninstalled.
  • The components autodependencies are uninstalled.

[signal] void PackageManagerCore::uninstallationFinished()

See also installer.uninstallationFinished and uninstallationStarted().

[signal] void PackageManagerCore::uninstallationStarted()

See also installer.uninstallationStarted and uninstallationFinished().

[signal] void PackageManagerCore::unstableComponentFound(const QString &type, const QString &errorMessage, const QString &component)

Emitted when an unstable component is found containing an unstable type and errorMessage.

QInstaller::PackageManagerCore::Status PackageManagerCore::updateComponentsSilently(const QStringList &componentsToUpdate)

Updates the selected components componentsToUpdate without GUI. If essential components are found, then only those will be updated. Returns PackageManagerCore installation status.

[signal] void PackageManagerCore::updateFinished()

See also installer.installationFinished.

QInstaller::ComponentModel *PackageManagerCore::updaterComponentModel() const

Returns the updater component model.

[invokable] QString PackageManagerCore::value(const QString &key, const QString &defaultValue = QString(), const int &format = QSettings::NativeFormat) const

Returns the installer value for key. If key is not known to the system, defaultValue is returned. Additionally, on Windows, key can be a registry key. Optionally, you can specify the format of the registry key. By default the format is QSettings::NativeFormat. For accessing the 32-bit system registry from a 64-bit application running on 64-bit Windows, use QSettings::Registry32Format. For accessing the 64-bit system registry from a 32-bit application running on 64-bit Windows, use QSettings::Registry64Format.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.value, setValue(), containsValue(), and valueChanged().

[signal] void PackageManagerCore::valueChanged(const QString &key, const QString &value)

Emitted when the value value of the key key changes.

See also installer.valueChanged and setValue().

[invokable] QStringList PackageManagerCore::values(const QString &key, const QStringList &defaultValue = QStringList()) const

Returns the installer value for key. If key is not known to the system, defaultValue is returned. Additionally, on Windows, key can be a registry key.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.values and value().

[static invokable] bool PackageManagerCore::versionMatches(const QString &version, const QString &requirement)

Returns true when version matches the requirement. requirement can be a fixed version number or it can be prefixed by the comparators '>', '>=', '<', '<=' and '='.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also installer.versionMatches.

[static] QFont PackageManagerCore::virtualComponentsFont()

Returns the virtual components' font.

See also setVirtualComponentsFont().

[static invokable] bool PackageManagerCore::virtualComponentsVisible()

Returns true if virtual components are visible.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also setVirtualComponentsVisible().

[signal] void PackageManagerCore::wizardPageInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page)

Emitted when a custom widget is about to be inserted into page by addWizardPage().

See also installer.wizardPageInsertionRequested.

[signal] void PackageManagerCore::wizardPageRemovalRequested(QWidget *widget)

Emitted when a widget is removed by removeWizardPage().

See also installer.wizardPageRemovalRequested.

[signal] void PackageManagerCore::wizardPageVisibilityChangeRequested(bool visible, int page)

Emitted when the visibility of the page with the ID page changes to visible.

See also setDefaultPageVisible() and installer.wizardPageVisibilityChangeRequested.

[signal] void PackageManagerCore::wizardWidgetInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page, int position)

Emitted when a widget is inserted into page by addWizardPageItem(). If several widgets are added to the same page, widget with lower position number will be inserted on top.

See also installer.wizardWidgetInsertionRequested.

[signal] void PackageManagerCore::wizardWidgetRemovalRequested(QWidget *widget)

Emitted when a widget is removed by removeWizardPageItem().

See also installer.wizardWidgetRemovalRequested.

void PackageManagerCore::writeMaintenanceConfigFiles()

Creates the maintenance tool configuration files.

void PackageManagerCore::writeMaintenanceTool()

Creates the maintenance tool in the installation directory.

© 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.