summaryrefslogtreecommitdiffstats
path: root/src/testlib/qsignalspy.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2024-03-21 17:21:19 +0100
committerMarc Mutz <marc.mutz@qt.io>2024-04-24 21:36:49 +0200
commitad755020e103b7d3c4f66173c74cf80f6bca3144 (patch)
tree74ce099673bb71290e74b505981747177808fe9d /src/testlib/qsignalspy.h
parent88b5b1bce978c0e1a67e66561b65251439fe4281 (diff)
QSignalSpy: de-inline verify() helper functions
Now that we're moving the code anyway, also move their declarations into the general private: section of the class. Task-number: QTBUG-123544 Change-Id: I6b1e7006b73b710daa4b511b2fd643293a3d4844 Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/testlib/qsignalspy.h')
-rw-r--r--src/testlib/qsignalspy.h43
1 files changed, 3 insertions, 40 deletions
diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h
index 7ae58ba82b..073e5aa8c0 100644
--- a/src/testlib/qsignalspy.h
+++ b/src/testlib/qsignalspy.h
@@ -27,35 +27,6 @@ class QSignalSpy: public QObject, public QList<QList<QVariant> >
public:
explicit QSignalSpy(const QObject *obj, const char *aSignal)
: QSignalSpy(verify(obj, aSignal)) {}
-
-private:
- static ObjectSignal verify(const QObject *obj, const char *aSignal)
- {
- if (!isObjectValid(obj))
- return {};
-
- if (!aSignal) {
- qWarning("QSignalSpy: Null signal name is not valid");
- return {};
- }
-
- if (((aSignal[0] - '0') & 0x03) != QSIGNAL_CODE) {
- qWarning("QSignalSpy: Not a valid signal, use the SIGNAL macro");
- return {};
- }
-
- const QByteArray ba = QMetaObject::normalizedSignature(aSignal + 1);
- const QMetaObject * const mo = obj->metaObject();
- const int sigIndex = mo->indexOfMethod(ba.constData());
- if (sigIndex < 0) {
- qWarning("QSignalSpy: No such signal: '%s'", ba.constData());
- return {};
- }
-
- return verify(obj, mo->method(sigIndex));
- }
-
-public:
#ifdef Q_QDOC
template <typename PointerToMemberFunction>
QSignalSpy(const QObject *object, PointerToMemberFunction signal);
@@ -64,20 +35,9 @@ public:
QSignalSpy(const typename QtPrivate::FunctionPointer<Func>::Object *obj, Func signal0)
: QSignalSpy(verify(obj, QMetaMethod::fromSignal(signal0))) {}
#endif // Q_QDOC
-
QSignalSpy(const QObject *obj, QMetaMethod signal)
: QSignalSpy(verify(obj, signal)) {}
-private:
- static ObjectSignal verify(const QObject *obj, QMetaMethod signal)
- {
- if (isObjectValid(obj) && isSignalMetaMethodValid(signal))
- return {obj, signal};
- else
- return {};
- }
-
-public:
inline bool isValid() const { return !sig.isEmpty(); }
inline QByteArray signal() const { return sig; }
@@ -127,6 +87,9 @@ private:
}
+ Q_TESTLIB_EXPORT static ObjectSignal verify(const QObject *obj, QMetaMethod signal);
+ Q_TESTLIB_EXPORT static ObjectSignal verify(const QObject *obj, const char *aSignal);
+
Q_TESTLIB_EXPORT bool connectToSignal(const QObject *sender, int sigIndex);
Q_TESTLIB_EXPORT static bool isSignalMetaMethodValid(const QMetaMethod &signal);