From 34faf3cdea798c1948229ec1bb53c828e2b40bb7 Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Thu, 12 Mar 2026 11:34:22 +0100 Subject: Three-socket Xpl2Client with per-port send/receive and demo port selector --- src/Xpl2Client.h | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'src/Xpl2Client.h') diff --git a/src/Xpl2Client.h b/src/Xpl2Client.h index d339bc3..7ce70ae 100644 --- a/src/Xpl2Client.h +++ b/src/Xpl2Client.h @@ -42,7 +42,9 @@ public: Q_INVOKABLE void connectToServer (); Q_INVOKABLE void disconnectFromServer (); - Q_INVOKABLE void sendCommand (const QString &command); + Q_INVOKABLE void sendToCommandSocket (const QString &message); + Q_INVOKABLE void sendToImagingSocket (const QString &message); + Q_INVOKABLE void sendToStatusSocket (const QString &message); signals: void hostChanged (); @@ -50,20 +52,37 @@ signals: void imagingPortChanged (); void statusPortChanged (); void connectedChanged (); - void responseReceived (const QString &response); + void commandSocketResponseReceived (const QString &response); + void imagingSocketResponseReceived (const QString &response); + void statusSocketResponseReceived (const QString &response); void errorOccurred (const QString &error); void statusMessage (const QString &message); private slots: - void onConnected (); - void onDisconnected (); - void onReadyRead (); - void onErrorOccurred (QAbstractSocket::SocketError error); + void onCommandSocketConnected (); + void onCommandSocketDisconnected (); + void onCommandSocketReadyRead (); + void onCommandSocketError (QAbstractSocket::SocketError error); + void onImagingSocketConnected (); + void onImagingSocketDisconnected (); + void onImagingSocketReadyRead (); + void onImagingSocketError (QAbstractSocket::SocketError error); + void onStatusSocketConnected (); + void onStatusSocketDisconnected (); + void onStatusSocketReadyRead (); + void onStatusSocketError (QAbstractSocket::SocketError error); private: - QTcpSocket m_socket; + void sendToSocket (QTcpSocket &socket, const QString &label, + const QString &message); + void updateConnectedState (); + + QTcpSocket m_commandSocket; + QTcpSocket m_imagingSocket; + QTcpSocket m_statusSocket; QString m_host = QStringLiteral ("127.0.0.1"); quint16 m_commandPort = 9110; quint16 m_imagingPort = 9111; quint16 m_statusPort = 9112; + bool m_connected = false; }; -- cgit v1.2.3