diff options
author | Kai Koehne <kai.koehne@nokia.com> | 2010-09-22 07:16:42 (GMT) |
---|---|---|
committer | Kai Koehne <kai.koehne@nokia.com> | 2010-09-22 09:12:53 (GMT) |
commit | 63c4c0449361ced03838e51d18e1113740f27fa9 (patch) | |
tree | bd86bbc06270ead4d3f1f86eb60c5df7a7bc07ec /src/declarative/debugger | |
parent | 38e11cfd56eba198e9d11b4084a02afa9a794da8 (diff) | |
download | Qt-63c4c0449361ced03838e51d18e1113740f27fa9.zip Qt-63c4c0449361ced03838e51d18e1113740f27fa9.tar.gz Qt-63c4c0449361ced03838e51d18e1113740f27fa9.tar.bz2 |
Mitigate private header problems in QtCreator by adding semi-private API
Add a semi-private API to get QScriptEngine for a QDeclarativeEngine. So far the qmljsdebugger lib in QtCreator
accessed the script engine via QDeclarativeEnginePrivate. Replace this by a minimal API that is still in a
private header, where we nevertheless can make some BC checks/guarantees.
Aaron Kennedy agreed with the idea.
Task-number: QTCREATORBUG-2179
Diffstat (limited to 'src/declarative/debugger')
-rw-r--r-- | src/declarative/debugger/debugger.pri | 6 | ||||
-rw-r--r-- | src/declarative/debugger/qdeclarativedebug_p.h | 1 | ||||
-rw-r--r-- | src/declarative/debugger/qdeclarativedebughelper.cpp | 13 | ||||
-rw-r--r-- | src/declarative/debugger/qdeclarativedebughelper_p.h | 25 |
4 files changed, 42 insertions, 3 deletions
diff --git a/src/declarative/debugger/debugger.pri b/src/declarative/debugger/debugger.pri index 33d0843..25f7687 100644 --- a/src/declarative/debugger/debugger.pri +++ b/src/declarative/debugger/debugger.pri @@ -6,7 +6,8 @@ SOURCES += \ $$PWD/qdeclarativedebugservice.cpp \ $$PWD/qdeclarativedebugclient.cpp \ $$PWD/qdeclarativedebug.cpp \ - $$PWD/qdeclarativedebugtrace.cpp + $$PWD/qdeclarativedebugtrace.cpp \ + $$PWD/qdeclarativedebughelper.cpp HEADERS += \ $$PWD/qdeclarativedebuggerstatus_p.h \ @@ -14,4 +15,5 @@ HEADERS += \ $$PWD/qdeclarativedebugservice_p.h \ $$PWD/qdeclarativedebugclient_p.h \ $$PWD/qdeclarativedebug_p.h \ - $$PWD/qdeclarativedebugtrace_p.h + $$PWD/qdeclarativedebugtrace_p.h \ + $$PWD/qdeclarativedebughelper_p.h diff --git a/src/declarative/debugger/qdeclarativedebug_p.h b/src/declarative/debugger/qdeclarativedebug_p.h index f0fc488..2b1a115 100644 --- a/src/declarative/debugger/qdeclarativedebug_p.h +++ b/src/declarative/debugger/qdeclarativedebug_p.h @@ -365,7 +365,6 @@ private: int m_queryId; QVariant m_expr; QVariant m_result; - }; QT_END_NAMESPACE diff --git a/src/declarative/debugger/qdeclarativedebughelper.cpp b/src/declarative/debugger/qdeclarativedebughelper.cpp new file mode 100644 index 0000000..99feff4 --- /dev/null +++ b/src/declarative/debugger/qdeclarativedebughelper.cpp @@ -0,0 +1,13 @@ +#include "private/qdeclarativedebughelper_p.h" +#include "private/qdeclarativeengine_p.h" + +#include <QtScript/QScriptEngine> + +QT_BEGIN_NAMESPACE + +QScriptEngine *QDeclarativeDebugHelper::getScriptEngine(QDeclarativeEngine *engine) +{ + return QDeclarativeEnginePrivate::getScriptEngine(engine); +} + +QT_END_NAMESPACE diff --git a/src/declarative/debugger/qdeclarativedebughelper_p.h b/src/declarative/debugger/qdeclarativedebughelper_p.h new file mode 100644 index 0000000..a403c45 --- /dev/null +++ b/src/declarative/debugger/qdeclarativedebughelper_p.h @@ -0,0 +1,25 @@ +#ifndef QDECLARATIVEDEBUGHELPER_P_H +#define QDECLARATIVEDEBUGHELPER_P_H + +#include <QtCore/qglobal.h> + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +class QScriptEngine; +class QDeclarativeEngine; + +// Helper methods to access private API through a stable interface +// This is used in the qmljsdebugger library of QtCreator. +class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper +{ +public: + static QScriptEngine *getScriptEngine(QDeclarativeEngine *engine); +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QDECLARATIVEDEBUGHELPER_P_H |