mailtransport
messagequeuejob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MAILTRANSPORT_MESSAGEQUEUEJOB_H
00021 #define MAILTRANSPORT_MESSAGEQUEUEJOB_H
00022
00023 #include <mailtransport/mailtransport_export.h>
00024
00025 #include "dispatchmodeattribute.h"
00026 #include "sentbehaviourattribute.h"
00027 #include "transportattribute.h"
00028
00029 #include <QtCore/QDateTime>
00030 #include <QtCore/QString>
00031 #include <QtCore/QStringList>
00032
00033 #include <KDE/KCompositeJob>
00034
00035 #include <akonadi/collection.h>
00036 #include <akonadi/kmime/addressattribute.h>
00037
00038 #include <kmime/kmime_message.h>
00039 #include <boost/shared_ptr.hpp>
00040
00041 namespace MailTransport {
00042
00084 class MAILTRANSPORT_EXPORT MessageQueueJob : public KCompositeJob
00085 {
00086 Q_OBJECT
00087
00088 public:
00093 explicit MessageQueueJob( QObject *parent = 0 );
00094
00099 virtual ~MessageQueueJob();
00100
00104 KMime::Message::Ptr message() const;
00105
00110 DispatchModeAttribute& dispatchModeAttribute();
00111
00117 Akonadi::AddressAttribute& addressAttribute();
00118
00124 TransportAttribute& transportAttribute();
00125
00130 SentBehaviourAttribute& sentBehaviourAttribute();
00131
00135 void setMessage( KMime::Message::Ptr message );
00136
00141 virtual void start();
00142
00143 protected Q_SLOTS:
00149 virtual void slotResult( KJob * );
00150
00151 private:
00152 class Private;
00153 friend class Private;
00154 Private *const d;
00155
00156 Q_PRIVATE_SLOT( d, void outboxRequestResult( KJob* ) )
00157
00158 };
00159
00160 }
00161
00162 #endif // MAILTRANSPORT_MESSAGEQUEUEJOB_H