#ifndef WEBPROXYCONN_H #define WEBPROXYCONN_H #include #include "sapconnection.h" #include "sapsocket.h" class WebProxyConn : public QObject { Q_OBJECT public: WebProxyConn(SAPConnection *conn, QObject *parent = 0); protected: enum RequestMessageType { RequestStartTransaction = 1, RequestCancelTransaction = 4 }; struct RequestMessage { quint8 command; // Seems to be always 1 quint8 subCommand; // Seems to be always 1 RequestMessageType type; quint8 transactionId; // Monotonically increasing QByteArray payload; }; static RequestMessage unpackRequestMessage(const QByteArray &data); void handleStartTransaction(const RequestMessage &msg); void handleCancelTransaction(const RequestMessage &msg); private slots: void handleMessageReceived(); private: SAPConnection *_conn; SAPSocket *_in; SAPSocket *_out; }; #endif // WEBPROXYCONN_H