From 99172852e11a84c8387dfcba02c9afd946c9837d Mon Sep 17 00:00:00 2001 From: Robert Loehning <robert.loehning@nokia.com> Date: Fri, 16 Oct 2009 10:50:59 +0200 Subject: [PATCH] Trk: Changed Launcher::handleResult so it can be used for running various processes on device. Reviewed-by: Friedemann Kleint --- src/shared/trk/launcher.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/shared/trk/launcher.cpp b/src/shared/trk/launcher.cpp index 3d808b22245..cae6796aff0 100644 --- a/src/shared/trk/launcher.cpp +++ b/src/shared/trk/launcher.cpp @@ -254,9 +254,10 @@ void Launcher::handleResult(const TrkResult &result) logMessage(prefix + "NAME: " + name); */ + if (result.data.size() < 10) + break; QByteArray ba; - appendInt(&ba, d->m_session.pid); - appendInt(&ba, d->m_session.tid); + ba.append(result.data.mid(2, 8)); d->m_device.sendTrkMessage(TrkContinue, TrkCallback(), ba, "CONTINUE"); //d->m_device.sendTrkAck(result.token) break; @@ -269,7 +270,9 @@ void Launcher::handleResult(const TrkResult &result) arg(QString::fromAscii(prefix)).arg(itemType ? QLatin1String("LIB") : QLatin1String("PROCESS")). arg(name)); d->m_device.sendTrkAck(result.token); - if (itemType == 0) { // process + if (itemType == 0 // process + && result.data.size() >= 10 + && d->m_session.pid == extractInt(result.data.data() + 6)) { d->m_device.sendTrkMessage(TrkDisconnect, TrkCallback(this, &Launcher::waitForTrkFinished)); } break; @@ -554,7 +557,7 @@ void Launcher::startInferiorIfNeeded() // It's not started yet QByteArray ba; appendByte(&ba, 0); // ? - appendByte(&ba, 0); // ? + appendByte(&ba, 0); // create new process appendByte(&ba, 0); // ? appendString(&ba, d->m_fileName.toLocal8Bit(), TargetByteOrder); d->m_device.sendTrkMessage(TrkCreateItem, TrkCallback(this, &Launcher::handleCreateProcess), ba); // Create Item -- GitLab