diff options
Diffstat (limited to 'installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterapplication.h')
-rw-r--r-- | installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterapplication.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterapplication.h b/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterapplication.h new file mode 100644 index 000000000..3970236d3 --- /dev/null +++ b/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterapplication.h @@ -0,0 +1,93 @@ +/**************************************************************************** +** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB. All rights reserved. +** +** This file is part of the KD Tools library. +** +** Licensees holding valid commercial KD Tools licenses may use this file in +** accordance with the KD Tools Commercial License Agreement provided with +** the Software. +** +** +** This file may be distributed and/or modified under the terms of the +** GNU Lesser General Public License version 2 and version 3 as published by the +** Free Software Foundation and appearing in the file LICENSE.LGPL included. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** Contact info@kdab.com if any conditions of this licensing are not +** clear to you. +** +**********************************************************************/ + +#ifndef KD_UPDATER_APPLICATION_H +#define KD_UPDATER_APPLICATION_H + +#include "kdupdater.h" +#include <QObject> + +class QUrl; + +namespace KDUpdater +{ + class PackagesInfo; + class SignatureVerifier; + class UpdateSourcesInfo; + + class ConfigurationInterface { + public: + virtual ~ConfigurationInterface(); + virtual QVariant value( const QString& key ) const = 0; + virtual void setValue( const QString& key, const QVariant& value ) = 0; + }; + + class KDTOOLS_UPDATER_EXPORT Application : public QObject + { + Q_OBJECT + + public: + enum SignatureTarget { + Metadata, + Packages + }; + + explicit Application( ConfigurationInterface* config=0, QObject* parent=0); + ~Application(); + + static Application* instance(); + + void setApplicationDirectory(const QString& dir); + QString applicationDirectory() const; + + QString applicationName() const; + QString applicationVersion() const; + int compatLevel() const; + + const SignatureVerifier* signatureVerifier( SignatureTarget target ) const; + void setSignatureVerifier( SignatureTarget target, const SignatureVerifier* verifier ); + + void setPackagesXMLFileName(const QString& fileName); + QString packagesXMLFileName() const; + PackagesInfo* packagesInfo() const; + + void addUpdateSource( const QString& name, const QString& title, + const QString& description, const QUrl& url, int priority = -1 ); + + void setUpdateSourcesXMLFileName(const QString& fileName); + QString updateSourcesXMLFileName() const; + UpdateSourcesInfo* updateSourcesInfo() const; + + QStringList filesForDelayedDeletion() const; + void addFilesForDelayedDeletion( const QStringList& files ); + + public Q_SLOTS: + void printError( int errorCode, const QString& error ); + + private: + struct ApplicationData; + ApplicationData* d; + }; + +} + +#endif |