debugger: simplify DebuggerEngine construction

The master engine pointer can be given later.

Change-Id: I4d72679dcbd5fe7291067a5e78c984d26cc187aa
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2012-08-15 14:33:39 +02:00
parent 081fb1f062
commit 8184d8e703
27 changed files with 76 additions and 130 deletions

View File

@@ -54,9 +54,6 @@ enum { debug = 0 };
const int ConnectionWaitTimeMs = 5000;
QmlEngine *createQmlEngine(const DebuggerStartParameters &,
DebuggerEngine *masterEngine);
DebuggerEngine *createQmlCppEngine(const DebuggerStartParameters &sp,
QString *errorMessage)
{
@@ -74,32 +71,17 @@ DebuggerEngine *createQmlCppEngine(const DebuggerStartParameters &sp,
//
////////////////////////////////////////////////////////////////////////
class QmlCppEnginePrivate : public QObject
class QmlCppEnginePrivate
{
Q_OBJECT
public:
QmlCppEnginePrivate(QmlCppEngine *parent,
const DebuggerStartParameters &sp);
~QmlCppEnginePrivate() {}
QmlCppEnginePrivate() {}
private:
friend class QmlCppEngine;
QmlCppEngine *q;
QmlEngine *m_qmlEngine;
DebuggerEngine *m_cppEngine;
DebuggerEngine *m_activeEngine;
};
QmlCppEnginePrivate::QmlCppEnginePrivate(QmlCppEngine *parent,
const DebuggerStartParameters &sp)
: q(parent), m_qmlEngine(createQmlEngine(sp, q)),
m_cppEngine(0), m_activeEngine(0)
{
setObjectName(QLatin1String("QmlCppEnginePrivate"));
}
////////////////////////////////////////////////////////////////////////
//
// QmlCppEngine
@@ -107,10 +89,14 @@ QmlCppEnginePrivate::QmlCppEnginePrivate(QmlCppEngine *parent,
////////////////////////////////////////////////////////////////////////
QmlCppEngine::QmlCppEngine(const DebuggerStartParameters &sp, QString *errorMessage)
: DebuggerEngine(sp), d(new QmlCppEnginePrivate(this, sp))
: DebuggerEngine(sp)
{
setObjectName(QLatin1String("QmlCppEngine"));
d->m_cppEngine = DebuggerRunControlFactory::createEngine(sp.firstSlaveEngineType, sp, this, errorMessage);
d = new QmlCppEnginePrivate;
d->m_qmlEngine = new QmlEngine(sp);
d->m_qmlEngine->setMasterEngine(this);
d->m_cppEngine = DebuggerRunControlFactory::createEngine(sp.firstSlaveEngineType, sp, errorMessage);
d->m_cppEngine->setMasterEngine(this);
if (!d->m_cppEngine) {
*errorMessage = tr("The slave debugging engine required for combined QML/C++-Debugging could not be created: %1").arg(*errorMessage);
return;
@@ -831,5 +817,3 @@ void QmlCppEngine::setActiveEngine(DebuggerEngine *engine)
} // namespace Internal
} // namespace Debugger
#include "qmlcppengine.moc"