From d8d8fc7a0d139e7b864eee3b573bd208f823ad4f Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 19 Oct 2014 18:45:03 +0200 Subject: initial import, no crypto --- sapsocket.cc | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 sapsocket.cc (limited to 'sapsocket.cc') diff --git a/sapsocket.cc b/sapsocket.cc new file mode 100644 index 0000000..ce85c0c --- /dev/null +++ b/sapsocket.cc @@ -0,0 +1,62 @@ +#include + +#include "sappeer.h" +#include "sapconnection.h" +#include "sapsocket.h" + +SAPSocket::SAPSocket(SAPConnection *conn, int sessionId) : + QObject(conn), _sessionId(sessionId), _open(false) +{ +} + +SAPPeer * SAPSocket::peer() +{ + return connection()->peer(); +} + +SAPConnection * SAPSocket::connection() +{ + return static_cast(parent()); +} + +bool SAPSocket::isOpen() const +{ + return _open; +} + +bool SAPSocket::messageAvailable() const +{ + return !_in.empty(); +} + +QByteArray SAPSocket::receive() +{ + if (!_in.empty()) { + return _in.dequeue(); + } else { + return QByteArray(); + } +} + +bool SAPSocket::send(const QByteArray &data) +{ + return peer()->writeToSession(_sessionId, data); +} + +void SAPSocket::setOpen(bool open) +{ + _open = open; +} + +void SAPSocket::acceptIncomingData(const QByteArray &data) +{ + if (data.isEmpty()) return; + _in.enqueue(data); + + emit messageReceived(); +} + +int SAPSocket::sessionId() const +{ + return _sessionId; +} -- cgit v1.2.3