Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QMetaMethodInvoker Class Reference

#include <qmetaobject_p.h>

Inheritance diagram for QMetaMethodInvoker:
Collaboration diagram for QMetaMethodInvoker:

Public Types

enum class  InvokeFailReason : int {
  ReturnTypeMismatch = -1 , DeadLockDetected = -2 , CallViaVirtualFailed = -3 , ConstructorCallOnObject = -4 ,
  ConstructorCallWithoutResult = -5 , ConstructorCallFailed = -6 , CouldNotQueueParameter = -0x1000 , None = 0 ,
  TooFewArguments , FormalParameterMismatch = 0x1000
}
Public Types inherited from QMetaMethod
enum  Access { Private , Protected , Public }
 This enum describes the access level of a method, following the conventions used in C++. More...
enum  MethodType { Method = QMETHOD_CODE , QT7_ONLY =(= QSIGNAL_CODE) , QT7_ONLY =(= QSIGNAL_CODE) , Constructor = 3 }
 \value Method The function is a plain member function. More...
enum  Attributes { Compatibility = 0x1 , Cloned = 0x2 , Scriptable = 0x4 }

Static Public Member Functions

static InvokeFailReason Q_CORE_EXPORT invokeImpl (QMetaMethod self, void *target, Qt::ConnectionType, qsizetype paramCount, const void *const *parameters, const char *const *typeNames, const QtPrivate::QMetaTypeInterface *const *metaTypes)
Static Public Member Functions inherited from QMetaMethod
template<typename PointerToMemberFunction>
static QMetaMethod fromSignal (PointerToMemberFunction signal)

Additional Inherited Members

Public Member Functions inherited from QMetaMethod
constexpr QMetaMethod ()
QByteArray methodSignature () const
QByteArray name () const
QByteArrayView nameView () const
const char * typeName () const
 Returns the return type name of this method.
int returnType () const
QMetaType returnMetaType () const
int parameterCount () const
int parameterType (int index) const
QMetaType parameterMetaType (int index) const
void getParameterTypes (int *types) const
QList< QByteArrayparameterTypes () const
 Returns a list of parameter types.
QByteArray parameterTypeName (int index) const
QList< QByteArrayparameterNames () const
 Returns a list of parameter names.
const char * tag () const
 Returns the tag associated with this method.
Access access () const
 Returns the access specification of this method (private, protected, or public).
MethodType methodType () const
 Returns the type of this method (signal, slot, or method).
int attributes () const
int methodIndex () const
int relativeMethodIndex () const
int revision () const
bool isConst () const
const QMetaObjectenclosingMetaObject () const
bool invoke (QObject *object, Qt::ConnectionType connectionType, QGenericReturnArgument returnValue, QGenericArgument val0=QGenericArgument(nullptr), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
 \obsolete [6.5] Please use the variadic overload of this function
bool invoke (QObject *object, QGenericReturnArgument returnValue, QGenericArgument val0=QGenericArgument(nullptr), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
bool invoke (QObject *object, Qt::ConnectionType connectionType, QGenericArgument val0, QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
bool invoke (QObject *object, QGenericArgument val0, QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
bool invokeOnGadget (void *gadget, QGenericReturnArgument returnValue, QGenericArgument val0=QGenericArgument(nullptr), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
bool invokeOnGadget (void *gadget, QGenericArgument val0, QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \obsolete [6.5] Please use the variadic overload of this function.
template<typename ReturnArg, typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invoke (QObject *obj, Qt::ConnectionType c, QTemplatedMetaMethodReturnArgument< ReturnArg > r, Args &&... arguments) const
template<typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invoke (QObject *obj, Qt::ConnectionType c, Args &&... arguments) const
template<typename ReturnArg, typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invoke (QObject *obj, QTemplatedMetaMethodReturnArgument< ReturnArg > r, Args &&... arguments) const
template<typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invoke (QObject *obj, Args &&... arguments) const
template<typename ReturnArg, typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invokeOnGadget (void *gadget, QTemplatedMetaMethodReturnArgument< ReturnArg > r, Args &&... arguments) const
template<typename... Args>
QtPrivate::Invoke::IfNotOldStyleArgs< bool, Args... > invokeOnGadget (void *gadget, Args &&... arguments) const
bool isValid () const
Protected Attributes inherited from QMetaMethod
const QMetaObjectmobj
Data data

Detailed Description

Definition at line 79 of file qmetaobject_p.h.

Member Enumeration Documentation

◆ InvokeFailReason

enum class QMetaMethodInvoker::InvokeFailReason : int
strong
Enumerator
ReturnTypeMismatch 
DeadLockDetected 
CallViaVirtualFailed 
ConstructorCallOnObject 
ConstructorCallWithoutResult 
ConstructorCallFailed 
CouldNotQueueParameter 
None 
TooFewArguments 
FormalParameterMismatch 

Definition at line 84 of file qmetaobject_p.h.

Member Function Documentation

◆ invokeImpl()

auto QMetaMethodInvoker::invokeImpl ( QMetaMethod self,
void * target,
Qt::ConnectionType connectionType,
qsizetype paramCount,
const void *const * parameters,
const char *const * typeNames,
const QtPrivate::QMetaTypeInterface *const * metaTypes )
static

The documentation for this class was generated from the following files: