kmsender.h
00001
00002
00003
00004
00005 #ifndef kmsender_h
00006 #define kmsender_h
00007 #include "messagesender.h"
00008
00009 #ifndef KDE_USE_FINAL
00010 # ifndef REALLY_WANT_KMSENDER
00011 # error Do not include kmsender.h, but messagesender.h.
00012 # endif
00013 #endif
00014
00015 #include <qcstring.h>
00016 #include <qstring.h>
00017 #include <qstringlist.h>
00018 #include <qobject.h>
00019 #include <kdeversion.h>
00020
00021 class KMMessage;
00022 class KMFolder;
00023 class KMFolderMgr;
00024 class KConfig;
00025 class KProcess;
00026 class KMSendProc;
00027 class KMSendSendmail;
00028 class KMSendSMTP;
00029 class QStrList;
00030 class KMTransportInfo;
00031 class KMPrecommand;
00032
00033 namespace KPIM {
00034 class ProgressItem;
00035 }
00036
00037 class KMSender: public QObject, public KMail::MessageSender
00038 {
00039 Q_OBJECT
00040 friend class KMSendProc;
00041 friend class KMSendSendmail;
00042 friend class KMSendSMTP;
00043
00044 public:
00045 KMSender();
00046 ~KMSender();
00047
00048 protected:
00056 bool doSend(KMMessage* msg, short sendNow);
00057
00058 public:
00060 bool sendQueued();
00061
00062 private:
00064 bool sending(void) const { return mSendInProgress; }
00065
00066 public:
00069 bool sendImmediate(void) const { return mSendImmediate; }
00070 void setSendImmediate(bool);
00071
00074 bool sendQuotedPrintable(void) const { return mSendQuotedPrintable; }
00075 void setSendQuotedPrintable(bool);
00076
00077 private:
00079 KMTransportInfo * transportInfo() { return mTransportInfo; }
00080
00081 public:
00083 void readConfig(void);
00084
00086 void writeConfig(bool withSync=TRUE);
00087
00088 private:
00090 void setStatusMsg(const QString&);
00091
00093 void setStatusByLink(const KMMessage *aMsg);
00094
00096 void emitProgressInfo( int currentFileProgress );
00097
00098 private slots:
00100 void slotPrecommandFinished(bool);
00101
00102 void slotIdle();
00103
00105 void slotAbortSend();
00106
00108 void sendProcStarted(bool success);
00109
00111 void outboxMsgAdded(int idx);
00112
00113 private:
00115 void doSendMsg();
00116
00118 void doSendMsgAux();
00119
00121 void cleanup(void);
00122
00126 bool settingsOk(void) const;
00127
00130 KMSendProc* createSendProcFromString(QString transport);
00131
00132 private:
00133 bool mSendImmediate;
00134 bool mSendQuotedPrintable;
00135 KMTransportInfo *mTransportInfo;
00136 KMPrecommand *mPrecommand;
00137
00138 bool mSentOk, mSendAborted;
00139 QString mErrorMsg;
00140 KMSendProc *mSendProc;
00141 QString mMethodStr;
00142 bool mSendProcStarted;
00143 bool mSendInProgress;
00144 KMFolder *mOutboxFolder;
00145 KMFolder *mSentFolder;
00146 KMMessage * mCurrentMsg;
00147 KPIM::ProgressItem* mProgressItem;
00148 int mSentMessages, mTotalMessages;
00149 int mSentBytes, mTotalBytes;
00150 int mFailedMessages;
00151 };
00152
00153 #endif
This file is part of the documentation for kmail Library Version 3.3.2.