00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MAILTRANSPORT_SMTPSESSION_H
00021 #define MAILTRANSPORT_SMTPSESSION_H
00022 #include <qobject.h>
00023 #include <ktcpsocket.h>
00024
00025 class QIODevice;
00026 class KUrl;
00027
00028 namespace MailTransport {
00029
00030 class SmtpSessionPrivate;
00031
00033 class SmtpSession : public QObject
00034 {
00035 Q_OBJECT
00036 public:
00037 explicit SmtpSession( QObject *parent = 0 );
00038 ~SmtpSession();
00039
00041 void connectToHost( const KUrl &url );
00042
00044 void disconnectFromHost( bool nice = true );
00045
00047 void setSaslMethod( const QString &method );
00048
00050 void setUseTLS( bool useTLS );
00051
00053 void sendMessage( const KUrl& destination, QIODevice* data );
00054
00056 QString errorMessage() const;
00057
00058 signals:
00060 void result( MailTransport::SmtpSession *session );
00061
00062 private:
00063 friend class SmtpSessionPrivate;
00064 SmtpSessionPrivate * const d;
00065 Q_PRIVATE_SLOT( d, void socketConnected() )
00066 Q_PRIVATE_SLOT( d, void receivedNewData() )
00067 Q_PRIVATE_SLOT( d, void socketError(KTcpSocket::Error) )
00068 Q_PRIVATE_SLOT( d, void socketDisconnected() )
00069 };
00070
00071 }
00072
00073 #endif