#ifndef SAPSOCKET_H #define SAPSOCKET_H #include #include class SAPConnection; class SAPPeer; class SAPSocket : public QObject { Q_OBJECT SAPSocket(SAPConnection *conn, int sessionId); public: SAPPeer *peer(); SAPConnection *connection(); bool isOpen() const; bool messageAvailable() const; QByteArray receive(); bool send(const QByteArray &data); signals: void connected(); void disconnected(); void messageReceived(); protected: void setOpen(bool open); void acceptIncomingData(const QByteArray &data); int sessionId() const; private: int _sessionId; bool _open; QQueue _in; friend class SAPPeer; }; #endif // SAPSOCKET_H