aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger/qqmldebugserver.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@digia.com>2014-02-05 15:38:51 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-05 18:42:36 +0100
commit9ca736fd3f77aff2bbc61f6deabe2dc44f6e1bfd (patch)
tree4d390f847807d62a41cb85a1209b85f7651d4cb0 /src/qml/debugger/qqmldebugserver.cpp
parent843202b6083f2b9d01391558b7e6e3e0d014cca6 (diff)
Unify the interface for QQmlDebugServices
Let the debug server handle adding and removing of engines through defined interfaces to prepare for multi-engine profiling and debugging. Change-Id: I7b277e54bdcce1d3e95e723f041a7db6b08b29fc Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/qml/debugger/qqmldebugserver.cpp')
-rw-r--r--src/qml/debugger/qqmldebugserver.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/qml/debugger/qqmldebugserver.cpp b/src/qml/debugger/qqmldebugserver.cpp
index cddac0e595..025bbc2113 100644
--- a/src/qml/debugger/qqmldebugserver.cpp
+++ b/src/qml/debugger/qqmldebugserver.cpp
@@ -42,6 +42,12 @@
#include "qqmldebugserver_p.h"
#include "qqmldebugservice_p.h"
#include "qqmldebugservice_p_p.h"
+#include "qqmlenginedebugservice_p.h"
+#include "qv4debugservice_p.h"
+#include "qv4profilerservice_p.h"
+#include "qdebugmessageservice_p.h"
+#include "qqmlprofilerservice_p.h"
+
#include <private/qqmlengine_p.h>
#include <private/qqmlglobal_p.h>
@@ -563,6 +569,34 @@ QStringList QQmlDebugServer::serviceNames() const
return d->plugins.keys();
}
+void QQmlDebugServer::addEngine(QQmlEngine *engine)
+{
+ Q_D(QQmlDebugServer);
+ QReadLocker lock(&d->pluginsLock);
+
+ foreach (QQmlDebugService *service, d->plugins)
+ service->engineAboutToBeAdded(engine);
+
+ // TODO: Later wait here for initialization.
+
+ foreach (QQmlDebugService *service, d->plugins)
+ service->engineAdded(engine);
+}
+
+void QQmlDebugServer::removeEngine(QQmlEngine *engine)
+{
+ Q_D(QQmlDebugServer);
+ QReadLocker lock(&d->pluginsLock);
+
+ foreach (QQmlDebugService *service, d->plugins)
+ service->engineAboutToBeRemoved(engine);
+
+ // TODO: Later wait here for cleanup
+
+ foreach (QQmlDebugService *service, d->plugins)
+ service->engineRemoved(engine);
+}
+
bool QQmlDebugServer::addService(QQmlDebugService *service)
{
Q_D(QQmlDebugServer);