forked from qt-creator/qt-creator
ProjectExplorer: Remove RunControl::worker<Type>()
It looks like the case where workers need talk to each other by only knowing the type of the 'partner' does not exist in practice anymore. With the now-common setup of a 'primary' worker that one can introduce the 'lesser' workers to each other directly. That's also conceptually more robust that picking a partner by type only only from some 'pool' (all the workers in a runcontrol), scales better (it e.g. is imaginable that a RunControl needs more than one PortGatherer in complex setups where more than one device is involved) saves a few cycles, and even removes the need for workers to be qobject_cast-able. Change-Id: Ib3d8c942c893d6c198d9813cce7df28ba3260ce8 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -52,12 +52,12 @@ LinuxDeviceDebugSupport::LinuxDeviceDebugSupport(RunControl *runControl)
|
||||
{
|
||||
setDisplayName("LinuxDeviceDebugSupport");
|
||||
|
||||
auto portsGatherer = new GdbServerPortsGatherer(runControl);
|
||||
portsGatherer->setUseGdbServer(isCppDebugging());
|
||||
portsGatherer->setUseQmlServer(isQmlDebugging());
|
||||
m_portsGatherer = new GdbServerPortsGatherer(runControl);
|
||||
m_portsGatherer->setUseGdbServer(isCppDebugging());
|
||||
m_portsGatherer->setUseQmlServer(isQmlDebugging());
|
||||
|
||||
auto gdbServer = new GdbServerRunner(runControl);
|
||||
gdbServer->addDependency(portsGatherer);
|
||||
auto gdbServer = new GdbServerRunner(runControl, m_portsGatherer);
|
||||
gdbServer->addDependency(m_portsGatherer);
|
||||
|
||||
addDependency(gdbServer);
|
||||
|
||||
@@ -75,12 +75,9 @@ void LinuxDeviceDebugSupport::start()
|
||||
return;
|
||||
}
|
||||
|
||||
auto portsGatherer = runControl()->worker<GdbServerPortsGatherer>();
|
||||
QTC_ASSERT(portsGatherer, reportFailure(); return);
|
||||
|
||||
const QString host = device()->sshParameters().host;
|
||||
const Port gdbServerPort = portsGatherer->gdbServerPort();
|
||||
const Port qmlServerPort = portsGatherer->qmlServerPort();
|
||||
const Port gdbServerPort = m_portsGatherer->gdbServerPort();
|
||||
const Port qmlServerPort = m_portsGatherer->qmlServerPort();
|
||||
|
||||
DebuggerStartParameters params;
|
||||
params.startMode = AttachToRemoteServer;
|
||||
|
||||
Reference in New Issue
Block a user