File indexing completed on 2024-05-12 05:25:41

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "libsieveeditor_export.h"
0010 #include <QObject>
0011 namespace QKeychain
0012 {
0013 class Job;
0014 }
0015 class LIBSIEVEEDITOR_EXPORT SieveEditorSavePasswordJob : public QObject
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit SieveEditorSavePasswordJob(QObject *parent = nullptr);
0020     ~SieveEditorSavePasswordJob() override;
0021 
0022     [[nodiscard]] bool canStart() const;
0023 
0024     void start();
0025 
0026     [[nodiscard]] QString password() const;
0027     void setPassword(const QString &password);
0028 
0029     [[nodiscard]] QString key() const;
0030     void setKey(const QString &key);
0031 
0032     [[nodiscard]] QString name() const;
0033     void setName(const QString &name);
0034 
0035 private:
0036     void slotPasswordWritten(QKeychain::Job *baseJob);
0037     QString mPassword;
0038     QString mKey;
0039     QString mName;
0040 };