Trk: Changed Launcher::handleResult so it can be used for running various processes on device.

Reviewed-by: Friedemann Kleint
This commit is contained in:
Robert Loehning
2009-10-16 10:50:59 +02:00
parent b7a0dbfa0c
commit 99172852e1

View File

@@ -254,9 +254,10 @@ void Launcher::handleResult(const TrkResult &result)
logMessage(prefix + "NAME: " + name); logMessage(prefix + "NAME: " + name);
*/ */
if (result.data.size() < 10)
break;
QByteArray ba; QByteArray ba;
appendInt(&ba, d->m_session.pid); ba.append(result.data.mid(2, 8));
appendInt(&ba, d->m_session.tid);
d->m_device.sendTrkMessage(TrkContinue, TrkCallback(), ba, "CONTINUE"); d->m_device.sendTrkMessage(TrkContinue, TrkCallback(), ba, "CONTINUE");
//d->m_device.sendTrkAck(result.token) //d->m_device.sendTrkAck(result.token)
break; break;
@@ -269,7 +270,9 @@ void Launcher::handleResult(const TrkResult &result)
arg(QString::fromAscii(prefix)).arg(itemType ? QLatin1String("LIB") : QLatin1String("PROCESS")). arg(QString::fromAscii(prefix)).arg(itemType ? QLatin1String("LIB") : QLatin1String("PROCESS")).
arg(name)); arg(name));
d->m_device.sendTrkAck(result.token); 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)); d->m_device.sendTrkMessage(TrkDisconnect, TrkCallback(this, &Launcher::waitForTrkFinished));
} }
break; break;
@@ -554,7 +557,7 @@ void Launcher::startInferiorIfNeeded()
// It's not started yet // It's not started yet
QByteArray ba; QByteArray ba;
appendByte(&ba, 0); // ? appendByte(&ba, 0); // ?
appendByte(&ba, 0); // ? appendByte(&ba, 0); // create new process
appendByte(&ba, 0); // ? appendByte(&ba, 0); // ?
appendString(&ba, d->m_fileName.toLocal8Bit(), TargetByteOrder); appendString(&ba, d->m_fileName.toLocal8Bit(), TargetByteOrder);
d->m_device.sendTrkMessage(TrkCreateItem, TrkCallback(this, &Launcher::handleCreateProcess), ba); // Create Item d->m_device.sendTrkMessage(TrkCreateItem, TrkCallback(this, &Launcher::handleCreateProcess), ba); // Create Item