aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerrunner.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2010-09-16 17:08:07 +0200
committerChristian Kandeler <[email protected]>2010-09-16 17:08:58 +0200
commitae4c35bd86809650ab59f6b78ec70142663fdeac (patch)
treea0f7909e8d4dd23b26a9d277b0b66faaffe9f641 /src/plugins/debugger/debuggerrunner.cpp
parent82f4e73c7b9603beb71de0ac831e6a704ec7ade6 (diff)
Maemo: Support QML-only debugging.
Reviewed-by: kh1
Diffstat (limited to 'src/plugins/debugger/debuggerrunner.cpp')
-rw-r--r--src/plugins/debugger/debuggerrunner.cpp44
1 files changed, 28 insertions, 16 deletions
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index d22b393b02c..3cb2fb2653e 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -38,6 +38,7 @@
#include "gdb/gdbengine.h"
#include "gdb/remotegdbserveradapter.h"
#include "gdb/remoteplaingdbadapter.h"
+#include "qml/qmlengine.h"
#include "qml/qmlcppengine.h"
#ifdef Q_OS_WIN
@@ -435,6 +436,9 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &startParams
break;
case QmlEngineType:
d->m_engine = Internal::createQmlEngine(sp);
+ connect(qobject_cast<QmlEngine *>(d->m_engine),
+ SIGNAL(remoteStartupRequested()), this,
+ SIGNAL(engineRequestSetup()));
break;
case QmlCppEngineType:
d->m_engine = Internal::createQmlCppEngine(sp);
@@ -463,10 +467,10 @@ void DebuggerRunControl::initGdbEngine(Internal::GdbEngine *engine)
Internal::AbstractGdbAdapter *adapter = engine->gdbAdapter();
if (RemotePlainGdbAdapter *rpga = qobject_cast<RemotePlainGdbAdapter *>(adapter)) {
connect(rpga, SIGNAL(requestSetup()), this,
- SIGNAL(gdbAdapterRequestSetup()));
+ SIGNAL(engineRequestSetup()));
} else if (RemoteGdbServerAdapter *rgsa = qobject_cast<RemoteGdbServerAdapter *>(adapter)) {
connect(rgsa, SIGNAL(requestSetup()),
- this, SIGNAL(gdbAdapterRequestSetup()));
+ this, SIGNAL(engineRequestSetup()));
}
}
@@ -650,27 +654,35 @@ Internal::AbstractGdbAdapter *DebuggerRunControl::gdbAdapter() const
return engine->gdbAdapter();
}
-void DebuggerRunControl::remoteGdbHandleSetupDone()
+void DebuggerRunControl::handleRemoteSetupDone()
{
- Internal::AbstractGdbAdapter *adapter = gdbAdapter();
- QTC_ASSERT(adapter, return);
- if (RemotePlainGdbAdapter *rpga = qobject_cast<RemotePlainGdbAdapter *>(adapter)) {
- rpga->handleSetupDone();
- } else if (RemoteGdbServerAdapter *rgsa = qobject_cast<RemoteGdbServerAdapter *>(adapter)) {
- rgsa->handleSetupDone();
+ if (QmlEngine *qmlEngine = qobject_cast<QmlEngine *>(d->m_engine)) {
+ qmlEngine->handleRemoteSetupDone();
+ } else if (Internal::AbstractGdbAdapter *adapter = gdbAdapter()) {
+ if (RemotePlainGdbAdapter *rpga = qobject_cast<RemotePlainGdbAdapter *>(adapter)) {
+ rpga->handleSetupDone();
+ } else if (RemoteGdbServerAdapter *rgsa = qobject_cast<RemoteGdbServerAdapter *>(adapter)) {
+ rgsa->handleSetupDone();
+ } else {
+ QTC_ASSERT(false, /* */ );
+ }
} else {
QTC_ASSERT(false, /* */ );
}
}
-void DebuggerRunControl::remoteGdbHandleSetupFailed(const QString &message)
+void DebuggerRunControl::handleRemoteSetupFailed(const QString &message)
{
- Internal::AbstractGdbAdapter *adapter = gdbAdapter();
- QTC_ASSERT(adapter, return);
- if (RemotePlainGdbAdapter *rpga = qobject_cast<RemotePlainGdbAdapter *>(adapter)) {
- rpga->handleSetupFailed(message);
- } else if (RemoteGdbServerAdapter *rgsa = qobject_cast<RemoteGdbServerAdapter *>(adapter)) {
- rgsa->handleSetupFailed(message);
+ if (QmlEngine *qmlEngine = qobject_cast<QmlEngine *>(d->m_engine)) {
+ qmlEngine->handleRemoteSetupFailed(message);
+ } else if (Internal::AbstractGdbAdapter *adapter = gdbAdapter()) {
+ if (RemotePlainGdbAdapter *rpga = qobject_cast<RemotePlainGdbAdapter *>(adapter)) {
+ rpga->handleSetupFailed(message);
+ } else if (RemoteGdbServerAdapter *rgsa = qobject_cast<RemoteGdbServerAdapter *>(adapter)) {
+ rgsa->handleSetupFailed(message);
+ } else {
+ QTC_ASSERT(false, /* */ );
+ }
} else {
QTC_ASSERT(false, /* */ );
}