diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-05-31 21:49:07 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-04 01:18:52 +0200 |
commit | ff505197689062264bf2abc0661d03d371e997df (patch) | |
tree | c3c0caecf86858c8de92f51ae92895f7c4efbb07 /src/testlib/qsignaldumper.cpp | |
parent | 09163941268745bbe231d0b2c25697940aa40127 (diff) |
Change testlib signal dumper hooks to use signal index range
Another step towards getting rid of the class method offset
computation in QMetaObject::activate().
Since QMetaObjectPrivate::signal() is private API, this also
required adding a testlib dependency on core-private (and
getting rid of the duplicated QSignalSpyCallbackSet struct).
Change-Id: I0d830f35392a6b44fc321c5285877ec0bf437100
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/testlib/qsignaldumper.cpp')
-rw-r--r-- | src/testlib/qsignaldumper.cpp | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/testlib/qsignaldumper.cpp b/src/testlib/qsignaldumper.cpp index 2da4174e3a..53c70f3101 100644 --- a/src/testlib/qsignaldumper.cpp +++ b/src/testlib/qsignaldumper.cpp @@ -49,6 +49,8 @@ #include <QtTest/private/qtestlog_p.h> +#include <QtCore/private/qmetaobject_p.h> + QT_BEGIN_NAMESPACE namespace QTest @@ -64,12 +66,12 @@ static int iLevel = 0; static int ignoreLevel = 0; enum { IndentSpacesCount = 4 }; -static void qSignalDumperCallback(QObject *caller, int method_index, void **argv) +static void qSignalDumperCallback(QObject *caller, int signal_index, void **argv) { Q_ASSERT(caller); Q_ASSERT(argv); Q_UNUSED(argv); const QMetaObject *mo = caller->metaObject(); Q_ASSERT(mo); - QMetaMethod member = mo->method(method_index); + QMetaMethod member = QMetaObjectPrivate::signal(mo, signal_index); Q_ASSERT(member.isValid()); if (QTest::ignoreClasses() && QTest::ignoreClasses()->contains(mo->className())) { @@ -151,7 +153,7 @@ static void qSignalDumperCallbackSlot(QObject *caller, int method_index, void ** qPrintMessage(str); } -static void qSignalDumperCallbackEndSignal(QObject *caller, int /*method_index*/) +static void qSignalDumperCallbackEndSignal(QObject *caller, int /*signal_index*/) { Q_ASSERT(caller); Q_ASSERT(caller->metaObject()); if (QTest::ignoreClasses() @@ -166,19 +168,6 @@ static void qSignalDumperCallbackEndSignal(QObject *caller, int /*method_index*/ } -// this struct is copied from qobject_p.h to prevent us -// from including private Qt headers. -struct QSignalSpyCallbackSet -{ - typedef void (*BeginCallback)(QObject *caller, int method_index, void **argv); - typedef void (*EndCallback)(QObject *caller, int method_index); - BeginCallback signal_begin_callback, - slot_begin_callback; - EndCallback signal_end_callback, - slot_end_callback; -}; -extern void Q_CORE_EXPORT qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &); - void QSignalDumper::startDump() { static QSignalSpyCallbackSet set = { QTest::qSignalDumperCallback, |