view ui/certificatelist.h @ 452:f8b480b08532

Factor out polarssl error handling and start new sslhelp file
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 23 Apr 2014 10:33:40 +0000
parents 17e1c8f37d72
children 4204ae2753d9
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#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 "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;}

    /* @brief get the absolute filename of the certificate */
    const QString& fileName() const {return mFileName;}

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

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