kmail Library API Documentation

kmsender.h

00001 /* KMail Mail Sender
00002  *
00003  * Author: Stefan Taferner <taferner@alpin.or.at>
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(); // used by KMMainWidget
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 /*kmsender_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Jul 25 11:20:17 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003