diff options
Diffstat (limited to 'webproxyconn.h')
-rw-r--r-- | webproxyconn.h | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/webproxyconn.h b/webproxyconn.h deleted file mode 100644 index c183462..0000000 --- a/webproxyconn.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef WEBPROXYCONN_H -#define WEBPROXYCONN_H - -#include <QtCore/QObject> -#include "sapconnection.h" -#include "sapsocket.h" - -class WebProxyTrans; - -class WebProxyConn : public QObject -{ - Q_OBJECT - -public: - WebProxyConn(SAPConnection *conn, QObject *parent = 0); - -protected: - enum MessageType { - MessageRequest = 1, - MessageResponse = 2, - MessageError = 3, - MessageAbort = 4 - }; - - struct Message { - quint8 command; // Seems to be always 1 - quint8 subCommand; // Seems to be always 1 - MessageType type; - quint8 transactionId; // Monotonically increasing - QByteArray payload; - }; - - static Message unpackMessage(const QByteArray &data); - static QByteArray packMessage(const Message &msg); - - struct RequestHeader { - /** Whether this is a CONNECT request, i.e. tunnel. */ - bool connect; - QString host; - int port; - }; - - static RequestHeader parseRequestHeader(const QByteArray &req); - static QByteArray removeHeaders(const QByteArray &req); - - void sendMessage(const Message &msg); - - void handleRequest(const Message &msg); - void handleAbort(const Message &msg); - -private slots: - void handleMessageReceived(); - void handleTransDataReceived(const QByteArray &data); - void handleTransDisconnected(); - -private: - SAPConnection *_conn; - SAPSocket *_in; - SAPSocket *_out; - QMap<int, WebProxyTrans*> _trans; -}; - -#endif // WEBPROXYCONN_H |