MailTransport

messagequeuejob.h
1 /*
2  SPDX-FileCopyrightText: 2009 Constantin Berzan <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #ifndef MAILTRANSPORT_MESSAGEQUEUEJOB_H
8 #define MAILTRANSPORT_MESSAGEQUEUEJOB_H
9 
10 #include <mailtransportakonadi_export.h>
11 
12 #include <MailTransportAkonadi/DispatchModeAttribute>
13 #include <MailTransportAkonadi/SentActionAttribute>
14 #include <MailTransportAkonadi/SentBehaviourAttribute>
15 #include <MailTransportAkonadi/TransportAttribute>
16 
17 #include <QString>
18 #include <QStringList>
19 
20 #include <KCompositeJob>
21 
22 #include <collection.h>
23 #include <Akonadi/KMime/AddressAttribute>
24 
25 #include <kmime/kmime_message.h>
26 
27 namespace MailTransport {
70 class MAILTRANSPORTAKONADI_EXPORT MessageQueueJob : public KCompositeJob
71 {
72  Q_OBJECT
73 
74 public:
80  explicit MessageQueueJob(QObject *parent = nullptr);
81 
86  ~MessageQueueJob() override;
87 
91  Q_REQUIRED_RESULT KMime::Message::Ptr message() const;
92 
97  DispatchModeAttribute &dispatchModeAttribute();
98 
104  Akonadi::AddressAttribute &addressAttribute();
105 
111  TransportAttribute &transportAttribute();
112 
117  SentBehaviourAttribute &sentBehaviourAttribute();
118 
123  SentActionAttribute &sentActionAttribute();
124 
128  void setMessage(const KMime::Message::Ptr &message);
129 
134  void start() override;
135 
136 protected Q_SLOTS:
142  void slotResult(KJob *) override;
143 
144 private:
145  class Private;
146  friend class Private;
147  Private *const d;
148 };
149 } // namespace MailTransport
150 
151 #endif // MAILTRANSPORT_MESSAGEQUEUEJOB_H
Attribute determining what will happen to a message after it is sent.
Attribute determining how and when a message from the outbox should be dispatched.
Provides an interface for sending email.
An Attribute that stores the action to execute after sending.
Attribute determining which transport to use for sending a message.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Fri Aug 14 2020 23:18:02 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.