From f52e9b117284d5dd80dcd4503e57d4cb8a839ae1 Mon Sep 17 00:00:00 2001 From: Illya Kovalevskyy Date: Sat, 20 Jul 2013 21:38:32 +0300 Subject: [PATCH] Symbol for max number of arguments in QMetaMethod::invoke() QMetaMethod::invoke(..) takes fixed number of arguments for execution. Adding preprocessor macros which literaly equals this number would be useful for writing some generic code. Task-number: QTBUG-31821 Change-Id: Ia2faf291f3f7df44a47c3cf18f5cd587d37d7d2e Reviewed-by: Oswald Buddenhagen Reviewed-by: Thiago Macieira --- src/corelib/kernel/qmetaobject.cpp | 8 ++++++++ src/corelib/kernel/qmetaobject.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 7211a730ec..4dc766ecc5 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -1589,6 +1589,14 @@ bool QMetaObject::invokeMethod(QObject *obj, \internal */ +/*! + \macro Q_METAMETHOD_INVOKE_MAX_ARGS + \relates QMetaMethod + + Equals maximum number of arguments available for + execution of the method via QMetaMethod::invoke() + */ + QByteArray QMetaMethodPrivate::signature() const { Q_ASSERT(priv(mobj->d.data)->revision >= 7); diff --git a/src/corelib/kernel/qmetaobject.h b/src/corelib/kernel/qmetaobject.h index 23fc89ffe3..0c8ad8591f 100644 --- a/src/corelib/kernel/qmetaobject.h +++ b/src/corelib/kernel/qmetaobject.h @@ -50,6 +50,8 @@ QT_BEGIN_NAMESPACE template class QList; +#define Q_METAMETHOD_INVOKE_MAX_ARGS 10 + class Q_CORE_EXPORT QMetaMethod { public: