summaryrefslogtreecommitdiff
path: root/agents/webproxytrans.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2016-01-01 22:05:42 +0100
committerJavier <dev.git@javispedro.com>2016-01-01 22:05:42 +0100
commita45977185a485624095bff1a15024e9199eee676 (patch)
tree6cc57d085bdd01e493477c870dbe0548137998e1 /agents/webproxytrans.h
parenta24034bdfea259cdc09c74217be75d4f9de0dce5 (diff)
downloadsapd-a45977185a485624095bff1a15024e9199eee676.tar.gz
sapd-a45977185a485624095bff1a15024e9199eee676.zip
reorganize source files into SAP and agents
Diffstat (limited to 'agents/webproxytrans.h')
-rw-r--r--agents/webproxytrans.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/agents/webproxytrans.h b/agents/webproxytrans.h
new file mode 100644
index 0000000..950c7b9
--- /dev/null
+++ b/agents/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