Warning, file /pim/mailcommon/src/job/expiremovejob.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /**
0002  * SPDX-FileCopyrightText: 2024 Laurent Montel <montel@kde.org>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include <Akonadi/Item>
0010 #include <QObject>
0011 
0012 class ExpireMoveJob : public QObject
0013 {
0014     Q_OBJECT
0015 public:
0016     explicit ExpireMoveJob(QObject *parent = nullptr);
0017     ~ExpireMoveJob() override;
0018 
0019     [[nodiscard]] Akonadi::Item::List removedMsgs() const;
0020     void setRemovedMsgs(const Akonadi::Item::List &newRemovedMsgs);
0021 
0022     void start();
0023 
0024     [[nodiscard]] Akonadi::Collection moveToFolder() const;
0025     void setMoveToFolder(const Akonadi::Collection &newMoveToFolder);
0026 
0027     [[nodiscard]] QString srcFolderName() const;
0028     void setSrcFolderName(const QString &newSrcFolderName);
0029 
0030 Q_SIGNALS:
0031     void expireMovedDone();
0032 
0033 private:
0034     void slotMoveDone(KJob *job);
0035     void slotExpireDone(KJob *job);
0036     void finished();
0037     QString mSrcFolderName;
0038     Akonadi::Collection mMoveToFolder;
0039     Akonadi::Item::List mRemovedMsgs;
0040     QList<KJob *> mRunningJobs;
0041 };