diff options
-rw-r--r-- | examples/serialbus/modbus/adueditor/modbustcpclient_p.h | 2 | ||||
-rw-r--r-- | src/serialbus/qmodbusrtuserialslave_p.h | 6 | ||||
-rw-r--r-- | src/serialbus/qmodbustcpclient_p.h | 10 | ||||
-rw-r--r-- | src/serialbus/qmodbustcpserver_p.h | 15 |
4 files changed, 17 insertions, 16 deletions
diff --git a/examples/serialbus/modbus/adueditor/modbustcpclient_p.h b/examples/serialbus/modbus/adueditor/modbustcpclient_p.h index 9d091d8..c1b37a8 100644 --- a/examples/serialbus/modbus/adueditor/modbustcpclient_p.h +++ b/examples/serialbus/modbus/adueditor/modbustcpclient_p.h @@ -98,7 +98,7 @@ public: using TypeId = void (QTimer::*)(int); q->connect(q, &QModbusClient::timeoutChanged, element.timer.data(), static_cast<TypeId>(&QTimer::setInterval)); - QObject::connect(element.timer.data(), &QTimer::timeout, [this, writeToSocket]() { + QObject::connect(element.timer.data(), &QTimer::timeout, q, [this, writeToSocket]() { if (!m_transactionStore.contains(m_tId)) return; diff --git a/src/serialbus/qmodbusrtuserialslave_p.h b/src/serialbus/qmodbusrtuserialslave_p.h index 5c78d82..da59e5e 100644 --- a/src/serialbus/qmodbusrtuserialslave_p.h +++ b/src/serialbus/qmodbusrtuserialslave_p.h @@ -74,7 +74,7 @@ public: Q_Q(QModbusRtuSerialSlave); m_serialPort = new QSerialPort(q); - QObject::connect(m_serialPort, &QSerialPort::readyRead, [this]() { + QObject::connect(m_serialPort, &QSerialPort::readyRead, q, [this]() { if (m_interFrameTimer.isValid() && m_interFrameTimer.elapsed() > m_interFrameDelayMilliseconds @@ -281,7 +281,7 @@ public: }); using TypeId = void (QSerialPort::*)(QSerialPort::SerialPortError); - QObject::connect(m_serialPort, static_cast<TypeId>(&QSerialPort::error), + QObject::connect(m_serialPort, static_cast<TypeId>(&QSerialPort::error), q, [this](QSerialPort::SerialPortError error) { if (error == QSerialPort::NoError) return; @@ -330,7 +330,7 @@ public: } }); - QObject::connect(m_serialPort, &QSerialPort::aboutToClose, [this]() { + QObject::connect(m_serialPort, &QSerialPort::aboutToClose, q, [this]() { Q_Q(QModbusRtuSerialSlave); // update state if socket closure was caused by remote side if (q->state() != QModbusDevice::ClosingState) diff --git a/src/serialbus/qmodbustcpclient_p.h b/src/serialbus/qmodbustcpclient_p.h index e4dfa9e..db1d4e4 100644 --- a/src/serialbus/qmodbustcpclient_p.h +++ b/src/serialbus/qmodbustcpclient_p.h @@ -71,7 +71,7 @@ public: m_socket = new QTcpSocket(q); - QObject::connect(m_socket, &QAbstractSocket::connected, [this]() { + QObject::connect(m_socket, &QAbstractSocket::connected, q, [this]() { qCDebug(QT_MODBUS) << "(TCP client) Connected to" << m_socket->peerAddress() << "on port" << m_socket->peerPort(); Q_Q(QModbusTcpClient); @@ -79,7 +79,7 @@ public: q->setState(QModbusDevice::ConnectedState); }); - QObject::connect(m_socket, &QAbstractSocket::disconnected, [this]() { + QObject::connect(m_socket, &QAbstractSocket::disconnected, q, [this]() { qCDebug(QT_MODBUS) << "(TCP client) Connection closed."; Q_Q(QModbusTcpClient); q->setState(QModbusDevice::UnconnectedState); @@ -87,7 +87,7 @@ public: }); using TypeId = void (QAbstractSocket::*)(QAbstractSocket::SocketError); - QObject::connect(m_socket, static_cast<TypeId>(&QAbstractSocket::error), + QObject::connect(m_socket, static_cast<TypeId>(&QAbstractSocket::error), q, [this](QAbstractSocket::SocketError /*error*/) { Q_Q(QModbusTcpClient); @@ -100,7 +100,7 @@ public: QModbusDevice::ConnectionError); }); - QObject::connect(m_socket, &QIODevice::readyRead, [this](){ + QObject::connect(m_socket, &QIODevice::readyRead, q, [this](){ responseBuffer += m_socket->read(m_socket->bytesAvailable()); qCDebug(QT_MODBUS_LOW) << "(TCP client) Response buffer:" << responseBuffer.toHex(); @@ -196,7 +196,7 @@ public: using TypeId = void (QTimer::*)(int); q->connect(q, &QModbusClient::timeoutChanged, element.timer.data(), static_cast<TypeId>(&QTimer::setInterval)); - QObject::connect(element.timer.data(), &QTimer::timeout, [this, writeToSocket, tId]() { + QObject::connect(element.timer.data(), &QTimer::timeout, q, [this, writeToSocket, tId]() { if (!m_transactionStore.contains(tId)) return; diff --git a/src/serialbus/qmodbustcpserver_p.h b/src/serialbus/qmodbustcpserver_p.h index 91e3bfe..56c45e9 100644 --- a/src/serialbus/qmodbustcpserver_p.h +++ b/src/serialbus/qmodbustcpserver_p.h @@ -115,9 +115,9 @@ public: void setupTcpServer() { - Q_Q(QModbusTcpServer); - m_tcpServer = new QTcpServer(q); - QObject::connect(m_tcpServer, &QTcpServer::newConnection, [this]() { + m_tcpServer = new QTcpServer(q_func()); + QObject::connect(m_tcpServer, &QTcpServer::newConnection, q_func(), [this]() { + Q_Q(QModbusTcpServer); auto *socket = m_tcpServer->nextPendingConnection(); if (!socket) return; @@ -136,18 +136,18 @@ public: auto buffer = new QByteArray(); - QObject::connect(socket, &QObject::destroyed, [buffer]() { + QObject::connect(socket, &QObject::destroyed, q, [buffer]() { // cleanup buffer delete buffer; }); - QObject::connect(socket, &QTcpSocket::disconnected, [socket, this]() { + QObject::connect(socket, &QTcpSocket::disconnected, q, [socket, this]() { connections.removeAll(socket); Q_Q(QModbusTcpServer); emit q->modbusClientDisconnected(socket); socket->deleteLater(); }); - QObject::connect(socket, &QTcpSocket::readyRead, [buffer, socket, this]() { + QObject::connect(socket, &QTcpSocket::readyRead, q, [buffer, socket, this]() { if (!socket) return; @@ -214,7 +214,8 @@ public: } }); }); - QObject::connect(m_tcpServer, &QTcpServer::acceptError, + + QObject::connect(m_tcpServer, &QTcpServer::acceptError, q_func(), [this](QAbstractSocket::SocketError /*sError*/) { Q_Q(QModbusTcpServer); |