diff options
Diffstat (limited to 'webproxytrans.h')
-rw-r--r-- | webproxytrans.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/webproxytrans.h b/webproxytrans.h new file mode 100644 index 0000000..950c7b9 --- /dev/null +++ b/webproxytrans.h @@ -0,0 +1,42 @@ +#ifndef WEBPROXYTRANS_H +#define WEBPROXYTRANS_H + +#include <QtCore/QIODevice> +#include <QtNetwork/QTcpSocket> + +class WebProxyConn; + +class WebProxyTrans : public QObject +{ + Q_OBJECT +public: + explicit WebProxyTrans(int transactionId, bool tunnel, const QString &host, int port, WebProxyConn *conn); + + int transactionId() const; + + void write(const QByteArray &data); + +signals: + void connected(); + void dataReceived(const QByteArray &data); + void error(); + void disconnected(); + +private slots: + void handleSocketConnected(); + void handleSocketDataWritten(qint64 written); + void handleSocketDataReady(); + void handleSocketDisconnected(); + +private: + WebProxyConn* conn(); + void writeFromBuffer(); + +private: + int _transactionId; + bool _tunnel; + QTcpSocket *_socket; + QByteArray _outBuf; +}; + +#endif // WEBPROXYTRANS_H |