Mercurial > trustbridge
view ui/createcertlistdialog.h @ 466:0d71ce440bcc
Factor out list creation to make it more testable
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 23 Apr 2014 15:48:08 +0000 |
parents | 88dfe16a0bb9 |
children | 78798d3af8f0 |
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 CREATECERTLISTDIALOG_H #define CREATECERTLISTDIALOG_H #include <QDialog> #include <QMainWindow> #include <QLineEdit> #include "certificate.h" #include <polarssl/pk.h> /** * @file createinstallerdialog.h * @brief The dialog to show settings and create an installer. */ class QListWidget; class AdministratorWindow; class CreateCertListDialog : public QDialog { Q_OBJECT public: /** @brief Create a dialog showing settings for the create certificate list * process * */ CreateCertListDialog(AdministratorWindow *parent); ~CreateCertListDialog(); /** @brief write a signed certificate list. * * @param [in] certs The certificates to include in the list * @param [in] filePath The path where the list should be written to * @param [in] listDate The date to write in the list * @param [in] pk The private key to sign with. * * @returns true on success false on error. */ static bool writeList(const QList<Certificate>& certs, const QString& filePath, const QDateTime& listDate, pk_context *pk); private: void setupGUI(); QLineEdit *mKeyFile; QLineEdit *mSaveDir; AdministratorWindow *mAdminWindow; pk_context *mPk; /** @brief show an error message with QMessageBox * * @param [in] msg The message to show */ void showErrorMessage(const QString &msg); /** @brief load a file into mPk * * If the file is not a valid key or an error * occurs mPk will be NULL after a call to this function. * * @param [in] the file to load */ void loadKeyFile(const QString& fileName); private slots: /** @brief Open the certificate selection dialog and parse the certificate * * If the certificate can be parsed mPk is replaced by the new key * otherwise an error message is shown to the user. */ void openCertificateSelect(); void openSaveLocation(); /** @brief create a valid certificate list file * * The contents of the certificate list are the certificates * shown in the adminWindow. It is signed with the currently * loaded certificate in mPk. On errors the user is * informed with showErrorMessage */ void createList(); }; #endif // CREATECERTLISTDIALOG_H