diff options
Diffstat (limited to 'installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterupdatesourcesinfo.h')
-rw-r--r-- | installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterupdatesourcesinfo.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterupdatesourcesinfo.h b/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterupdatesourcesinfo.h new file mode 100644 index 000000000..231002ee0 --- /dev/null +++ b/installerbuilder/libinstaller/kdtools/KDUpdater/kdupdaterupdatesourcesinfo.h @@ -0,0 +1,112 @@ +/**************************************************************************** +** 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_UPDATE_SOURCES_INFO_H +#define KD_UPDATER_UPDATE_SOURCES_INFO_H + +#include "kdupdater.h" + +#include <QObject> +#include <QVariant> +#include <QUrl> + +namespace KDUpdater +{ + class Application; + + struct KDTOOLS_UPDATER_EXPORT UpdateSourceInfo + { + UpdateSourceInfo() : priority(-1) { } + + QString name; + QString title; + QString description; + QUrl url; + int priority; + + }; + + KDTOOLS_UPDATER_EXPORT bool operator==( const UpdateSourceInfo & lhs, const UpdateSourceInfo & rhs ); + inline bool operator!= ( const UpdateSourceInfo & lhs, const UpdateSourceInfo & rhs ) { + return !operator==( lhs, rhs ); + } + + class KDTOOLS_UPDATER_EXPORT UpdateSourcesInfo : public QObject + { + Q_OBJECT + + public: + ~UpdateSourcesInfo(); + + enum Error + { + NoError=0, + NotYetReadError, + CouldNotReadSourceFileError, + InvalidXmlError, + InvalidContentError, + CouldNotSaveChangesError + }; + + Application* application() const; + + bool isValid() const; + QString errorString() const; + Error error() const; + + bool isModified() const; + void setModified(bool modified); + + void setFileName(const QString& fileName); + QString fileName() const; + + int updateSourceInfoCount() const; + UpdateSourceInfo updateSourceInfo(int index) const; + + void addUpdateSourceInfo(const UpdateSourceInfo& info); + void removeUpdateSourceInfo(const UpdateSourceInfo& info); + void removeUpdateSourceInfoAt(int index); + void setUpdateSourceInfoAt(int index, const UpdateSourceInfo& info); + + protected: + explicit UpdateSourcesInfo(Application* application); + + public Q_SLOTS: + void refresh(); + + Q_SIGNALS: + void reset(); + void updateSourceInfoAdded(const UpdateSourceInfo& info); + void updateSourceInfoRemoved(const UpdateSourceInfo& info); + void updateSourceInfoChanged(const UpdateSourceInfo& newInfo, + const UpdateSourceInfo& oldInfo); + + private: + friend class Application; + struct UpdateSourcesInfoData; + UpdateSourcesInfoData* d; + }; +} + +Q_DECLARE_METATYPE(KDUpdater::UpdateSourceInfo) + +#endif |