summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@nokia.com>2010-09-22 07:16:42 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2010-09-27 09:34:39 (GMT)
commit645e0a5c1beea5049e72e095ad3b6b126ad4941a (patch)
tree758a529914fb9efad6b8e0a798a1a50decf18a68 /src/declarative
parent7ad71b986fd9e8854a6eef049eea56cd5569e5fc (diff)
downloadQt-645e0a5c1beea5049e72e095ad3b6b126ad4941a.zip
Qt-645e0a5c1beea5049e72e095ad3b6b126ad4941a.tar.gz
Qt-645e0a5c1beea5049e72e095ad3b6b126ad4941a.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 (cherry picked from commit 63c4c0449361ced03838e51d18e1113740f27fa9)
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/debugger/debugger.pri6
-rw-r--r--src/declarative/debugger/qdeclarativedebug_p.h1
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper.cpp13
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper_p.h25
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