aboutsummaryrefslogtreecommitdiffstats
path: root/src/Xpl2Client.cpp
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-03-11 15:25:11 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-03-11 15:25:11 +0100
commit094b8aa2bbb8b90dff9da199873cbc6b36549eb6 (patch)
treef7dea55e25ca4f9a0461c88a9c91953bb77336fc /src/Xpl2Client.cpp
parent920a1adeadef58eb04f2bf83af8fb8bc6c01a986 (diff)
downloadQtXpl2-094b8aa2bbb8b90dff9da199873cbc6b36549eb6.tar.gz
QtXpl2-094b8aa2bbb8b90dff9da199873cbc6b36549eb6.zip
Refactor: three XPL2 ports, EchoServer class, dark debug console, qmllint clean
- Xpl2Client: replace single port with commandPort/imagingPort/statusPort (9110/9111/9112) - Mock server: extract EchoServer class from lambda-based listenOn() - Demo: dark debug console matching BobinkQtOpcUa style, 2-column connection layout - Fix qmlls module resolution via IMPORT_PATH in qt_add_qml_module() - Add pragma ComponentBehavior: Bound, fix all qmllint warnings
Diffstat (limited to 'src/Xpl2Client.cpp')
-rw-r--r--src/Xpl2Client.cpp159
1 files changed, 109 insertions, 50 deletions
diff --git a/src/Xpl2Client.cpp b/src/Xpl2Client.cpp
index db53792..8ed032f 100644
--- a/src/Xpl2Client.cpp
+++ b/src/Xpl2Client.cpp
@@ -4,83 +4,142 @@
*/
#include "Xpl2Client.h"
-Xpl2Client::Xpl2Client(QObject *parent) : QObject(parent) {
- connect(&m_socket, &QTcpSocket::connected, this, &Xpl2Client::onConnected);
- connect(&m_socket, &QTcpSocket::disconnected, this,
- &Xpl2Client::onDisconnected);
- connect(&m_socket, &QTcpSocket::readyRead, this, &Xpl2Client::onReadyRead);
- connect(&m_socket, &QAbstractSocket::errorOccurred, this,
- &Xpl2Client::onErrorOccurred);
+Xpl2Client::Xpl2Client (QObject *parent) : QObject (parent)
+{
+ connect (&m_socket, &QTcpSocket::connected, this, &Xpl2Client::onConnected);
+ connect (&m_socket, &QTcpSocket::disconnected, this,
+ &Xpl2Client::onDisconnected);
+ connect (&m_socket, &QTcpSocket::readyRead, this, &Xpl2Client::onReadyRead);
+ connect (&m_socket, &QAbstractSocket::errorOccurred, this,
+ &Xpl2Client::onErrorOccurred);
}
-QString Xpl2Client::host() const { return m_host; }
+QString
+Xpl2Client::host () const
+{
+ return m_host;
+}
-void Xpl2Client::setHost(const QString &host) {
+void
+Xpl2Client::setHost (const QString &host)
+{
if (m_host == host)
return;
m_host = host;
- emit hostChanged();
+ emit hostChanged ();
}
-quint16 Xpl2Client::port() const { return m_port; }
+quint16
+Xpl2Client::commandPort () const
+{
+ return m_commandPort;
+}
-void Xpl2Client::setPort(quint16 port) {
- if (m_port == port)
+void
+Xpl2Client::setCommandPort (quint16 port)
+{
+ if (m_commandPort == port)
return;
- m_port = port;
- emit portChanged();
+ m_commandPort = port;
+ emit commandPortChanged ();
}
-bool Xpl2Client::isConnected() const {
- return m_socket.state() == QAbstractSocket::ConnectedState;
+quint16
+Xpl2Client::imagingPort () const
+{
+ return m_imagingPort;
}
-void Xpl2Client::connectToServer() {
- if (isConnected()) {
- emit statusMessage(QStringLiteral("Already connected"));
+void
+Xpl2Client::setImagingPort (quint16 port)
+{
+ if (m_imagingPort == port)
return;
- }
- emit statusMessage(
- QStringLiteral("Connecting to %1:%2…").arg(m_host).arg(m_port));
- m_socket.connectToHost(m_host, m_port);
+ m_imagingPort = port;
+ emit imagingPortChanged ();
}
-void Xpl2Client::disconnectFromServer() {
- if (!isConnected())
+quint16
+Xpl2Client::statusPort () const
+{
+ return m_statusPort;
+}
+
+void
+Xpl2Client::setStatusPort (quint16 port)
+{
+ if (m_statusPort == port)
return;
- m_socket.disconnectFromHost();
+ m_statusPort = port;
+ emit statusPortChanged ();
+}
+
+bool
+Xpl2Client::isConnected () const
+{
+ return m_socket.state () == QAbstractSocket::ConnectedState;
+}
+
+void
+Xpl2Client::connectToServer ()
+{
+ if (isConnected ())
+ {
+ emit statusMessage (QStringLiteral ("Already connected"));
+ return;
+ }
+ emit statusMessage (QStringLiteral ("Connecting to %1:%2…")
+ .arg (m_host)
+ .arg (m_commandPort));
+ m_socket.connectToHost (m_host, m_commandPort);
}
-void Xpl2Client::sendCommand(const QString &command) {
- if (!isConnected()) {
- emit errorOccurred(QStringLiteral("Not connected"));
+void
+Xpl2Client::disconnectFromServer ()
+{
+ if (!isConnected ())
return;
- }
- QByteArray data = command.toUtf8() + '\n';
- m_socket.write(data);
- emit statusMessage(QStringLiteral("Sent: %1").arg(command));
+ m_socket.disconnectFromHost ();
+}
+
+void
+Xpl2Client::sendCommand (const QString &command)
+{
+ if (!isConnected ())
+ {
+ emit errorOccurred (QStringLiteral ("Not connected"));
+ return;
+ }
+ QByteArray data = command.toUtf8 () + '\n';
+ m_socket.write (data);
+ emit statusMessage (QStringLiteral ("Sent: %1").arg (command));
}
-void Xpl2Client::onConnected() {
- emit connectedChanged();
- emit statusMessage(QStringLiteral("Connected to %1:%2")
- .arg(m_socket.peerName())
- .arg(m_socket.peerPort()));
+void
+Xpl2Client::onConnected ()
+{
+ emit connectedChanged ();
}
-void Xpl2Client::onDisconnected() {
- emit connectedChanged();
- emit statusMessage(QStringLiteral("Disconnected"));
+void
+Xpl2Client::onDisconnected ()
+{
+ emit connectedChanged ();
}
-void Xpl2Client::onReadyRead() {
- while (m_socket.canReadLine()) {
- QString line = QString::fromUtf8(m_socket.readLine()).trimmed();
- emit responseReceived(line);
- }
+void
+Xpl2Client::onReadyRead ()
+{
+ while (m_socket.canReadLine ())
+ {
+ QString line = QString::fromUtf8 (m_socket.readLine ()).trimmed ();
+ emit responseReceived (line);
+ }
}
-void Xpl2Client::onErrorOccurred(QAbstractSocket::SocketError error) {
- Q_UNUSED(error)
- emit errorOccurred(m_socket.errorString());
+void
+Xpl2Client::onErrorOccurred (QAbstractSocket::SocketError error)
+{
+ Q_UNUSED (error)
+ emit errorOccurred (m_socket.errorString ());
}