view ui/certificatelist.h @ 249:6a7eb102716d

Remove code duplication by unifying the certificatelist. You should now check for isInstallCert to determine wether this certificate should be installed or removed. Leaving the getInstallCertificates and getRemoveCertificates in place for compatibilty would have been easier to keep the tests stable.
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 31 Mar 2014 08:06:17 +0000
parents 60c5df8e7980
children cb8d7af5ec3a
line wrap: on
line source
#ifndef CERTIFICATELIST_H
#define CERTIFICATELIST_H
/**
 * This class handles a certificate list file.
 * It checks for the validity of that certificate
 * list file and provides an API for working with that
 * file.
 *
 * The List is parsed on Initialization. You should
 * check the Status afterwards to see if the file
 * could be parsed.
 *
 */

class QByteArray;

#include <QString>
#include <QDateTime>
#include <QObject>

#include "../common/listutil.h"
#include "certificate.h"

class CertificateList
{
public:
    CertificateList();
    CertificateList(const char *fileName);

    list_status_t getStatus() {return mStatus;}

    /** @brief Read a list
     *
     * @param[in] fileName the filename of the list to read
     *
     * @return status of the read. Vaild on success.
     */
    list_status_t readList(const char *fileName);

    /** @brief Returns true if the list is Valid 
     *
     *  A list is valid only if the signature matched and the
     *  list could be parsed.
     */
    bool isValid() const {return mStatus == Valid;}

    /* @brief get a list of certificate objects in this list */
    const QList<Certificate>& getCertificates() const;

    /* @brief get the raw certificate list */
    const QString& rawData() const {return mData;}

private:
    QList<Certificate> mCertificates;
    QString mData;
    QString mFileName;
    list_status_t mStatus;
    QDateTime mDate;
};
#endif

http://wald.intevation.org/projects/trustbridge/