LocalPackageHub Class

class KDUpdater::LocalPackageHub

The LocalPackageHub class provides access to information about packages installed on the application side. More...

Header: #include <LocalPackageHub>

Public Types

enum Error { NoError, NotYetReadError, CouldNotReadPackageFileError, InvalidXmlError, InvalidContentError }

Public Functions

LocalPackageHub()
~LocalPackageHub()
void addPackage(const QString &name, const QString &version, const QString &title, const QString &description, const QStringList &dependencies, const QStringList &autoDependencies, bool forcedInstallation, bool virtualComp, quint64 uncompressedSize, const QString &inheritVersionFrom, bool checkable, bool expandedByDefault)
QString applicationName() const
QString applicationVersion() const
void clearPackageInfos()
KDUpdater::LocalPackageHub::Error error() const
QString errorString() const
QString fileName() const
bool isValid() const
KDUpdater::LocalPackage packageInfo(const QString &pkgName) const
int packageInfoCount() const
QList<KDUpdater::LocalPackage> packageInfos() const
QStringList packageNames() const
void refresh()
bool removePackage(const QString &name)
void setApplicationName(const QString &name)
void setApplicationVersion(const QString &version)
void setFileName(const QString &fileName)
void writeToDisk()

Detailed Description

This class parses the installation information XML file specified via the setFileName() method and provides access to the information defined within the file through an API. You can:

Member Type Documentation

enum LocalPackageHub::Error

Error codes related to retrieving information about installed packages:

ConstantValueDescription
KDUpdater::LocalPackageHub::NoError0No error occurred.
KDUpdater::LocalPackageHub::NotYetReadError1The installation information was not parsed yet from the XML file.
KDUpdater::LocalPackageHub::CouldNotReadPackageFileError2The specified installation information file could not be read (does not exist or is not readable).
KDUpdater::LocalPackageHub::InvalidXmlError3The installation information file contains invalid XML.
KDUpdater::LocalPackageHub::InvalidContentError4The installation information file contains valid XML, but does not match the expected format for package descriptions.

Member Function Documentation

LocalPackageHub::LocalPackageHub()

Constructs a local package hub. To fully setup the class you have to call setFileName().

See also setFileName.

LocalPackageHub::~LocalPackageHub()

Destructor

void LocalPackageHub::addPackage(const QString &name, const QString &version, const QString &title, const QString &description, const QStringList &dependencies, const QStringList &autoDependencies, bool forcedInstallation, bool virtualComp, quint64 uncompressedSize, const QString &inheritVersionFrom, bool checkable, bool expandedByDefault)

Marks the package specified by name as installed. Sets the values of version, title, description, dependencies, autoDependencies, forcedInstallation, virtualComp, uncompressedSize, inheritVersionFrom, checkable, and expandedByDefault for the package.

QString LocalPackageHub::applicationName() const

Returns the application name.

See also setApplicationName().

QString LocalPackageHub::applicationVersion() const

Returns the application version.

See also setApplicationVersion().

void LocalPackageHub::clearPackageInfos()

Clears the installed package list.

KDUpdater::LocalPackageHub::Error LocalPackageHub::error() const

Returns the error that was found during the processing of the installation information XML file. If no error was found, returns NoError.

QString LocalPackageHub::errorString() const

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

QString LocalPackageHub::fileName() const

Returns the name of the installation information XML file that this class refers to.

See also setFileName().

bool LocalPackageHub::isValid() const

Returns true if LocalPackageHub is valid; otherwise returns false. You can use the errorString() method to receive a descriptive error message.

KDUpdater::LocalPackage LocalPackageHub::packageInfo(const QString &pkgName) const

Returns the package info structure whose name is pkgName. If no such package was found, this function returns a default-constructed value.

int LocalPackageHub::packageInfoCount() const

Returns the number of KDUpdater::LocalPackage objects contained in this class.

QList<KDUpdater::LocalPackage> LocalPackageHub::packageInfos() const

Returns all package info structures.

QStringList LocalPackageHub::packageNames() const

Returns a list of all local installed packages.

void LocalPackageHub::refresh()

Re-reads the installation information XML file and updates itself. Changes to applicationName() and applicationVersion() are lost after this function returns. The function emits a reset() signal after completion.

bool LocalPackageHub::removePackage(const QString &name)

Removes the package specified by name. Returns false if the package is not found.

void LocalPackageHub::setApplicationName(const QString &name)

Sets the application name to name. By default, this is the name specified in the <ApplicationName> element of the installation information XML file.

See also applicationName().

void LocalPackageHub::setApplicationVersion(const QString &version)

Sets the application version to version. By default, this is the version specified in the <ApplicationVersion> element of the installation information XML file.

See also applicationVersion().

void LocalPackageHub::setFileName(const QString &fileName)

Sets the complete file name of the installation information XML file to fileName. The function also issues a call to refresh() to reload installation information from the XML file.

See also fileName().

void LocalPackageHub::writeToDisk()

Writes the installation information file to disk.

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