diff options
author | Ulf Hermann <ulf.hermann@digia.com> | 2014-02-05 15:38:51 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-05 18:42:36 +0100 |
commit | 9ca736fd3f77aff2bbc61f6deabe2dc44f6e1bfd (patch) | |
tree | 4d390f847807d62a41cb85a1209b85f7651d4cb0 /src/qml/debugger/qqmldebugserver.cpp | |
parent | 843202b6083f2b9d01391558b7e6e3e0d014cca6 (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.cpp | 34 |
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); |