mailtransport
socket.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MAILTRANSPORT_SOCKET_H
00021 #define MAILTRANSPORT_SOCKET_H
00022
00023 #include <mailtransport/mailtransport_export.h>
00024
00025 #include <QtNetwork/QSslSocket>
00026
00027 namespace MailTransport
00028 {
00029 class SocketPrivate;
00030
00037 class MAILTRANSPORT_EXPORT Socket : public QObject
00038 {
00039 Q_OBJECT
00040
00041 public:
00042
00048 explicit Socket( QObject *parent );
00049
00053 ~Socket();
00054
00059 virtual void reconnect();
00060
00064 virtual void write( const QString &text );
00065
00069 virtual bool available();
00070
00074 void setProtocol( const QString &proto );
00075
00079 void setServer( const QString &server );
00080
00085 void setPort( int port );
00086
00090 void setSecure( bool what );
00091
00095 void startTLS();
00096
00097 private:
00098 Q_DECLARE_PRIVATE( Socket )
00099 SocketPrivate *const d;
00100
00101 Q_PRIVATE_SLOT( d, void slotConnected() )
00102 Q_PRIVATE_SLOT( d, void slotStateChanged( QAbstractSocket::SocketState state ) )
00103 Q_PRIVATE_SLOT( d, void slotModeChanged( QSslSocket::SslMode state ) )
00104 Q_PRIVATE_SLOT( d, void slotSocketRead() )
00105 Q_PRIVATE_SLOT( d, void slotSslErrors( const QList<QSslError> &errors ) )
00106
00107 Q_SIGNALS:
00111 void data( const QString & );
00112
00116 void connected();
00117
00121 void failed();
00122
00126 void tlsDone();
00127 };
00128 }
00129
00130 #endif // MAILTRANSPORT_SOCKET_H
00131