//
//     Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace KNS
{

class Entry
{
%TypeHeaderCode
#include <knewstuff2/core/entry.h>
%End

public:
    typedef QList<KNS::Entry*> List;

                            Entry ();
                            Entry (const KNS::Entry& other);
    void                    setName (const KNS::KTranslatable& name);
    KNS::KTranslatable      name () const;
    void                    setCategory (const QString& category);
    QString                 category () const;
    void                    setAuthor (const KNS::Author& author);
    KNS::Author             author () const;
    void                    setLicense (const QString& license);
    QString                 license () const;
    void                    setSummary (const KNS::KTranslatable& summary);
    KNS::KTranslatable      summary () const;
    void                    setVersion (const QString& version);
    QString                 version () const;
    void                    setRelease (int release);
    int                     release () const;
    void                    setReleaseDate (const QDate& releasedate);
    QDate                   releaseDate () const;
    void                    setPayload (const KNS::KTranslatable& url);
    KNS::KTranslatable      payload () const;
    void                    setPreview (const KNS::KTranslatable& url);
    KNS::KTranslatable      preview () const;
    void                    setInstalledFiles (const QStringList& files);
    void                    setUnInstalledFiles (const QStringList& files);
    QStringList             installedFiles () const;
    QStringList             uninstalledFiles () const;
    void                    setRating (int rating);
    int                     rating () const;
    void                    setDownloads (int downloads);
    int                     downloads () const;
    void                    setChecksum (const QString& checksum);
    void                    setSignature (const QString& signature);
    QString                 checksum () const;
    QString                 signature () const;

    enum Status
    {
        Invalid,
        Downloadable,
        Installed,
        Updateable,
        Deleted
    };

    void                    setStatus (KNS::Entry::Status status);
    KNS::Entry::Status      status ();

    enum Source
    {
        Cache,
        Online,
        Registry
    };

    void                    setSource (KNS::Entry::Source source);
    KNS::Entry::Source      source ();
    void                    setIdNumber (int number);
    int                     idNumber () const;
};   // Entry

};   // KNS


