File indexing completed on 2024-06-23 05:13:41

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     importcertificatefromdatacommand.cpp
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2007 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #include <config-kleopatra.h>
0011 
0012 #include "importcertificatefromdatacommand.h"
0013 #include "importcertificatescommand_p.h"
0014 
0015 #include <KLocalizedString>
0016 
0017 #include <memory>
0018 
0019 using namespace GpgME;
0020 using namespace Kleo;
0021 using namespace QGpgME;
0022 
0023 class ImportCertificateFromDataCommand::Private : public ImportCertificatesCommand::Private
0024 {
0025     friend class ::ImportCertificateFromDataCommand;
0026     ImportCertificateFromDataCommand *q_func() const
0027     {
0028         return static_cast<ImportCertificateFromDataCommand *>(q);
0029     }
0030 
0031 public:
0032     explicit Private(ImportCertificateFromDataCommand *qq, const QByteArray &data, GpgME::Protocol proto, const QString &id);
0033     ~Private() override;
0034 
0035 private:
0036     QByteArray mData;
0037     GpgME::Protocol mProto;
0038     QString mId;
0039 };
0040 
0041 ImportCertificateFromDataCommand::Private *ImportCertificateFromDataCommand::d_func()
0042 {
0043     return static_cast<Private *>(d.get());
0044 }
0045 const ImportCertificateFromDataCommand::Private *ImportCertificateFromDataCommand::d_func() const
0046 {
0047     return static_cast<const Private *>(d.get());
0048 }
0049 
0050 ImportCertificateFromDataCommand::Private::Private(ImportCertificateFromDataCommand *qq, const QByteArray &data, GpgME::Protocol proto, const QString &id)
0051     : ImportCertificatesCommand::Private(qq, nullptr)
0052     , mData(data)
0053     , mProto(proto)
0054     , mId(id)
0055 {
0056 }
0057 
0058 ImportCertificateFromDataCommand::Private::~Private()
0059 {
0060 }
0061 
0062 #define d d_func()
0063 #define q q_func()
0064 
0065 ImportCertificateFromDataCommand::ImportCertificateFromDataCommand(const QByteArray &data, GpgME::Protocol proto, const QString &id)
0066     : ImportCertificatesCommand(new Private(this, data, proto, id))
0067 {
0068 }
0069 
0070 ImportCertificateFromDataCommand::~ImportCertificateFromDataCommand()
0071 {
0072 }
0073 
0074 void ImportCertificateFromDataCommand::doStart()
0075 {
0076     d->setWaitForMoreJobs(true);
0077     d->startImport(d->mProto, d->mData, d->mId.isEmpty() ? i18n("Notepad") : d->mId);
0078     d->setWaitForMoreJobs(false);
0079 }
0080 
0081 #undef d
0082 #undef q
0083 
0084 #include "moc_importcertificatefromdatacommand.cpp"