diff --git a/tests/manual/trk/runner.cpp b/tests/manual/trk/runner.cpp index 1ed357b5df085e1d48fefc91f920e6f0c56b4690..cd0df3010d13650d70f2a8df3e2ad1e95772a60f 100755 --- a/tests/manual/trk/runner.cpp +++ b/tests/manual/trk/runner.cpp @@ -999,7 +999,6 @@ void Adapter::handleTrkError(const QString &msg) void Adapter::handleTrkResult(const TrkResult &result) { - logMessage("HANDLING RESULT: " + result.data); if (result.isDebugOutput) { sendTrkAck(result.token); logMessage(QLatin1String("APPLICATION OUTPUT: ") + diff --git a/tests/manual/trk/trkdevicex.cpp b/tests/manual/trk/trkdevicex.cpp index d9abfdf1dfb80c3eff065aaab1131f206754a997..12f4f08481d5ab22b6a9c8a5ec0e202768bf45f8 100644 --- a/tests/manual/trk/trkdevicex.cpp +++ b/tests/manual/trk/trkdevicex.cpp @@ -257,8 +257,18 @@ void TrkWriteQueue::queueTrkInitialPing() trkWriteQueue.append(TrkMessage(0, 0)); } -struct TrkDevicePrivate { + +/////////////////////////////////////////////////////////////////////// +// +// TrkDevicePrivate +// +/////////////////////////////////////////////////////////////////////// + +struct TrkDevicePrivate +{ TrkDevicePrivate(); + + TrkWriteQueue queue; #ifdef Q_OS_WIN HANDLE hdevice; #else @@ -298,11 +308,13 @@ TrkDevicePrivate::TrkDevicePrivate() : TrkDevice::TrkDevice(QObject *parent) : QObject(parent), - d(new TrkDevicePrivate), - qd(new TrkWriteQueue) + d(new TrkDevicePrivate) +{} + +TrkDevice::~TrkDevice() { - connect(this, SIGNAL(messageReceived(trk::TrkResult)), - this, SLOT(slotHandleResult(trk::TrkResult))); + close(); + delete d; } bool TrkDevice::open(const QString &port, QString *errorMessage) @@ -355,14 +367,6 @@ bool TrkDevice::open(const QString &port, QString *errorMessage) #endif } - -TrkDevice::~TrkDevice() -{ - close(); - delete d; - delete qd; -} - void TrkDevice::close() { if (!isOpen()) @@ -493,6 +497,7 @@ void TrkDevice::tryTrkRead() //if (verbose()) // logMessage("Read TrkResult " + r.data.toHex()); qDebug() << "RECEIVE DATA: " << r.data.toHex(); + d->queue.slotHandleResult(r); emit messageReceived(r); if (!rawData.isEmpty()) emit rawDataReceived(rawData); @@ -515,12 +520,12 @@ void TrkDevice::emitError(const QString &s) void TrkDevice::sendTrkMessage(byte code, Callback callback, const QByteArray &data, const QVariant &cookie, bool invokeOnNAK) { - qd->queueTrkMessage(code, callback, data, cookie, invokeOnNAK); + d->queue.queueTrkMessage(code, callback, data, cookie, invokeOnNAK); } void TrkDevice::sendTrkInitialPing() { - qd->queueTrkInitialPing(); + d->queue.queueTrkInitialPing(); } bool TrkDevice::sendTrkAck(byte token) @@ -536,10 +541,10 @@ bool TrkDevice::sendTrkAck(byte token) void TrkDevice::tryTrkWrite() { TrkMessage message; - if (!qd->pendingMessage(&message)) + if (!d->queue.pendingMessage(&message)) return; const bool success = trkWriteRawMessage(message); - qd->notifyWriteResult(success); + d->queue.notifyWriteResult(success); } bool TrkDevice::trkWriteRawMessage(const TrkMessage &msg) @@ -554,10 +559,5 @@ bool TrkDevice::trkWriteRawMessage(const TrkMessage &msg) return rc; } -void TrkDevice::slotHandleResult(const TrkResult &result) -{ - qd->slotHandleResult(result); -} - } // namespace trk diff --git a/tests/manual/trk/trkdevicex.h b/tests/manual/trk/trkdevicex.h index 9d0e9da0dcc62c0cf9bc925f26f194c645d8e7fe..1873f458e7ce8db4ac4194fa1a0d85fa60a7444e 100644 --- a/tests/manual/trk/trkdevicex.h +++ b/tests/manual/trk/trkdevicex.h @@ -46,8 +46,6 @@ namespace trk { struct TrkResult; struct TrkMessage; struct TrkDevicePrivate; -class TrkWriteQueue; -struct TrkWriteQueueIODevicePrivate; /* TrkDevice: Implements a Windows COM or Linux device for * Trk communications. Provides synchronous write and asynchronous @@ -116,15 +114,11 @@ public: // Send an Ack synchronously, bypassing the queue bool sendTrkAck(unsigned char token); -private slots: - void slotHandleResult(const trk::TrkResult &); - private: void tryTrkWrite(); bool trkWriteRawMessage(const TrkMessage &msg); TrkDevicePrivate *d; - TrkWriteQueue *qd; }; } // namespace trk