Fix url
[kdepim.git] / kmail / agents / sendlateragent / sendlaterjob.h
bloba206c585454037a7da8bf19e37741154acf944e7
1 /*
2 Copyright (C) 2013-2016 Montel Laurent <montel@kde.org>
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; see the file COPYING. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
20 #ifndef SENDLATERJOB_H
21 #define SENDLATERJOB_H
23 #include <QObject>
25 #include "sendlatermanager.h"
27 #include <KMime/Message>
28 #include <ItemFetchScope>
29 #include <Item>
31 namespace SendLater
33 class SendLaterInfo;
35 class KJob;
36 class SendLaterJob : public QObject
38 Q_OBJECT
39 public:
40 explicit SendLaterJob(SendLaterManager *manager, SendLater::SendLaterInfo *info, QObject *parent = Q_NULLPTR);
41 ~SendLaterJob();
42 void start();
44 private:
45 void sendDone();
46 void sendError(const QString &error, SendLaterManager::ErrorType type);
47 void slotMessageTransfered(const Akonadi::Item::List &);
48 void slotJobFinished(KJob *);
49 void slotDeleteItem(KJob *);
50 void updateAndCleanMessageBeforeSending(const KMime::Message::Ptr &msg);
51 Akonadi::ItemFetchScope mFetchScope;
52 SendLaterManager *mManager;
53 SendLater::SendLaterInfo *mInfo;
54 Akonadi::Item mItem;
57 #endif // SENDLATERJOB_H