1 /*
2     This file is part of Akregator.
3 
4     SPDX-FileCopyrightText: 2008 Frank Osterfeld <osterfeld@kde.org>
5 
6     SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
7 */
8 
9 #pragma once
10 
11 #include "command.h"
12 
13 #include <QVector>
14 
15 #include <QWeakPointer>
16 
17 #include <memory>
18 
19 namespace Akregator
20 {
21 class FeedList;
22 class ExpireItemsCommandPrivate;
23 
24 class ExpireItemsCommand : public Command
25 {
26     Q_OBJECT
27 public:
28     explicit ExpireItemsCommand(QObject *parent = nullptr);
29     ~ExpireItemsCommand() override;
30 
31     void setFeedList(const QWeakPointer<FeedList> &feedList);
32     QWeakPointer<FeedList> feedList() const;
33 
34     void setFeeds(const QVector<uint> &feeds);
35     QVector<uint> feeds() const;
36 
37 private:
38     void doStart() override;
39     void doAbort() override;
40 
41 private:
42     friend class ExpireItemsCommandPrivate;
43     std::unique_ptr<ExpireItemsCommandPrivate> const d;
44 };
45 }
46 
47