Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include "qobject.h"
#include "qobject_p.h"
#include "qobject_p_p.h"
#include "qmetaobject_p.h"
#include "qabstracteventdispatcher.h"
#include "qabstracteventdispatcher_p.h"
#include "qcoreapplication.h"
#include "qcoreapplication_p.h"
#include "qcoreevent_p.h"
#include "qloggingcategory.h"
#include "qvariant.h"
#include "qmetaobject.h"
#include <qthread.h>
#include <private/qthread_p.h>
#include <qdebug.h>
#include <qvarlengtharray.h>
#include <qscopeguard.h>
#include <qset.h>
#include <private/qorderedmutexlocker_p.h>
#include <private/qhooks_p.h>
#include <qtcore_tracepoints_p.h>
#include <new>
#include <mutex>
#include <memory>
#include <ctype.h>
#include <limits.h>
#include "moc_qobject.cpp"
Go to the source code of this file.
Classes | |
struct | SlotObjectGuard |
Functions | |
QT_BEGIN_NAMESPACE | Q_TRACE_POINT (qtcore, QObject_ctor, QObject *object) |
Q_TRACE_POINT (qtcore, QObject_dtor, QObject *object) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_entry, QObject *sender, int signalIndex) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_exit) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_slot_entry, QObject *receiver, int slotIndex) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_slot_exit) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_slot_functor_entry, void *slotObject) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_slot_functor_exit) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_declarative_signal_entry, QObject *sender, int signalIndex) | |
Q_TRACE_POINT (qtcore, QMetaObject_activate_declarative_signal_exit) | |
void | qt_register_signal_spy_callbacks (QSignalSpyCallbackSet *callback_set) |
static int * | queuedConnectionTypes (const QMetaMethod &method) |
static int * | queuedConnectionTypes (const QArgumentType *argumentTypes, int argc) |
static QBasicMutex * | signalSlotLock (const QObject *o) |
static void | computeOffsets (const QMetaObject *metaobject, int *signalOffset, int *methodOffset) |
static bool | check_parent_thread (QObject *parent, QThreadData *parentThreadData, QThreadData *currentThreadData) |
static bool | matches_objectName_non_null (QObject *obj, QAnyStringView name) |
void | qt_qFindChildren_helper (const QObject *parent, QAnyStringView name, const QMetaObject &mo, QList< void * > *list, Qt::FindChildOptions options) |
QObject * | qt_qFindChild_helper (const QObject *parent, QAnyStringView name, const QMetaObject &mo, Qt::FindChildOptions options) |
const char * | qFlagLocation (const char *method) |
static int | extract_code (const char *member) |
static const char * | extract_location (const char *member) |
static bool | check_signal_macro (const QObject *sender, const char *signal, const char *func, const char *op) |
static bool | check_method_code (int code, const QObject *object, const char *method, const char *func) |
static Q_DECL_COLD_FUNCTION void | err_method_notfound (const QObject *object, const char *method, const char *func) |
static Q_DECL_COLD_FUNCTION void | err_info_about_objects (const char *func, const QObject *sender, const QObject *receiver) |
static void | check_and_warn_compat (const QMetaObject *sender, const QMetaMethod &signal, const QMetaObject *receiver, const QMetaMethod &method) |
static int | methodIndexToSignalIndex (const QMetaObject **base, int signal_index) |
static QByteArray | formatConnectionSignature (const char *className, const QMetaMethod &method) |
static QByteArray | msgConnect (const QMetaObject *senderMo, const QByteArray &senderName, const QMetaMethod &signal, const QObject *receiver, int receiverIndex) |
static void | queued_activate (QObject *sender, int signal, QObjectPrivate::Connection *c, void **argv) |
template<bool callbacks_enabled> | |
void | doActivate (QObject *sender, int signal_index, void **argv) |
static void | dumpRecursive (int level, const QObject *object) |
QDebug | operator<< (QDebug dbg, const QObject *o) |
static void | connectWarning (const QObject *sender, const QMetaObject *senderMetaObject, const QObject *receiver, const char *message) |
Variables | |
static int | DIRECT_CONNECTION_ONLY = 0 |
Q_CORE_EXPORT QBasicAtomicPointer< QSignalSpyCallbackSet > | qt_signal_spy_callback_set = Q_BASIC_ATOMIC_INITIALIZER(nullptr) |
static Q_CONSTINIT QBasicMutex | _q_ObjectMutexPool [131] |
|
inlinestatic |
Definition at line 2873 of file qobject.cpp.
References QMetaObject::className(), QMetaMethod::Compatibility, method, qCWarning, QMetaMethod::Signal, and signal.
Referenced by QObject::connect(), and QObject::connect().
|
static |
Definition at line 2595 of file qobject.cpp.
References method, qCWarning, QSIGNAL_CODE, and QSLOT_CODE.
Referenced by QObject::connect(), and QObject::disconnect().
|
static |
Definition at line 901 of file qobject.cpp.
References qWarning, and QObject::thread().
Referenced by QObject::QObject().
|
static |
Definition at line 2579 of file qobject.cpp.
References extract_code(), qCWarning, QSIGNAL_CODE, QSLOT_CODE, and signal.
Referenced by QObject::connect(), QObject::disconnect(), and QObject::receivers().
|
static |
For a given metaobject, compute the signal offset, and the method offset (including signals)
Definition at line 216 of file qobject.cpp.
References d, QMetaObject::d, QMetaObjectPrivate::get(), and Q_ASSERT.
Referenced by QMetaObjectPrivate::memberIndexes(), and methodIndexToSignalIndex().
|
static |
Definition at line 5221 of file qobject.cpp.
References qCWarning.
Referenced by QObjectPrivate::connectImpl().
void doActivate | ( | QObject * | sender, |
int | signal_index, | ||
void ** | argv ) |
Definition at line 3991 of file qobject.cpp.
References QSemaphore::acquire(), QObjectPrivate::SignalVector::at(), Qt::AutoConnection, Qt::BlockingQueuedConnection, QObjectPrivate::connections, QThread::currentThreadId(), QList< T >::first(), QObjectPrivate::get(), QMetaObject::InvokeMetaMethod, list, QBasicAtomicPointer< X >::loadRelaxed(), lock, QMetaObject::metacall(), method, QCoreApplication::postEvent(), Q_ASSERT, Q_HAS_TRACEPOINTS, Q_TRACE_SCOPE, qt_signal_spy_callback_set, queued_activate(), Qt::QueuedConnection, qWarning, QObjectPrivate::removeConnection(), QAbstractDeclarativeData::signalEmitted, signalSlotLock(), sp, and QThreadData::threadId.
Definition at line 4369 of file qobject.cpp.
References child, dumpRecursive(), QObjectPrivate::get(), qDebug, and qUtf16Printable.
Referenced by QObject::dumpObjectTree(), and dumpRecursive().
|
static |
Definition at line 2626 of file qobject.cpp.
References QObject::objectName, and qCWarning.
Referenced by QObject::connect(), and QObject::disconnect().
|
static |
Definition at line 2608 of file qobject.cpp.
References extract_code(), extract_location(), method, qCWarning, QSIGNAL_CODE, and QSLOT_CODE.
Referenced by QObject::connect(), QObject::disconnect(), and QObject::receivers().
|
static |
Definition at line 2562 of file qobject.cpp.
Referenced by check_signal_macro(), QObject::connect(), QObject::disconnect(), and err_method_notfound().
|
static |
Definition at line 2568 of file qobject.cpp.
References qstrlen().
Referenced by err_method_notfound().
|
static |
Definition at line 3758 of file qobject.cpp.
References className, method, Q_ASSERT, and QByteArrayLiteral.
Referenced by msgConnect().
|
static |
Definition at line 2127 of file qobject.cpp.
References QObjectPrivate::extraData, and QObjectPrivate::get().
Referenced by qt_qFindChild_helper(), and qt_qFindChildren_helper().
|
static |
Definition at line 3528 of file qobject.cpp.
References base, computeOffsets(), QObjectData::metaObject, and QMetaObjectPrivate::originalClone().
Referenced by QMetaObject::connect(), QObjectPrivate::connect(), QMetaObject::disconnect(), QObjectPrivate::disconnect(), QMetaObject::disconnectOne(), and QObjectPrivate::getPropertyAdaptorSlotObject().
|
static |
Definition at line 3776 of file qobject.cpp.
References formatConnectionSignature(), QObject::objectName, QByteArrayLiteral, signal, and QString::toLatin1().
Referenced by QMetaObject::connectSlotsByName().
Definition at line 4481 of file qobject.cpp.
References d, QObjectPrivate::get(), and o.
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_declarative_signal_entry | , | ||
QObject * | sender, | ||
int | signalIndex ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_declarative_signal_exit | ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_entry | , | ||
QObject * | sender, | ||
int | signalIndex ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_exit | ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_slot_entry | , | ||
QObject * | receiver, | ||
int | slotIndex ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_slot_exit | ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_slot_functor_entry | , | ||
void * | slotObject ) |
Q_TRACE_POINT | ( | qtcore | , |
QMetaObject_activate_slot_functor_exit | ) |
QT_BEGIN_NAMESPACE Q_TRACE_POINT | ( | qtcore | , |
QObject_ctor | , | ||
QObject * | object ) |
Q_TRACE_POINT | ( | qtcore | , |
QObject_dtor | , | ||
QObject * | object ) |
const char * qFlagLocation | ( | const char * | method | ) |
Definition at line 2556 of file qobject.cpp.
References method.
QObject * qt_qFindChild_helper | ( | const QObject * | parent, |
QAnyStringView | name, | ||
const QMetaObject & | mo, | ||
Qt::FindChildOptions | options ) |
Definition at line 2174 of file qobject.cpp.
References child, QObject::children(), Qt::FindChildrenRecursively, matches_objectName_non_null(), mo, QObjectData::parent, Q_ASSERT, and qt_qFindChild_helper().
Referenced by QObject::findChild(), and qt_qFindChild_helper().
void qt_qFindChildren_helper | ( | const QObject * | parent, |
QAnyStringView | name, | ||
const QMetaObject & | mo, | ||
QList< void * > * | list, | ||
Qt::FindChildOptions | options ) |
Definition at line 2137 of file qobject.cpp.
References QList< T >::append(), QObject::children(), Qt::FindChildrenRecursively, list, matches_objectName_non_null(), mo, QObjectData::parent, Q_ASSERT, and qt_qFindChildren_helper().
Referenced by QObject::findChildren(), and qt_qFindChildren_helper().
void qt_register_signal_spy_callbacks | ( | QSignalSpyCallbackSet * | callback_set | ) |
Definition at line 63 of file qobject.cpp.
References qt_signal_spy_callback_set.
Referenced by QSignalDumper::endDump(), and QSignalDumper::startDump().
|
static |
signal must be in the signal index range (see QObjectPrivate::signalIndex()).
Definition at line 3926 of file qobject.cpp.
References args, create(), DIRECT_CONNECTION_ONLY, QCoreApplication::postEvent(), queuedConnectionTypes(), QMutexLocker< Mutex >::relock(), QObjectPrivate::removeConnection(), QMetaObjectPrivate::signal(), signal, signalSlotLock(), and QMutexLocker< Mutex >::unlock().
Referenced by doActivate().
|
static |
Definition at line 104 of file qobject.cpp.
References i, and QArgumentType::type().
|
static |
Definition at line 76 of file qobject.cpp.
References QMetaType::flags(), i, QMetaType::id(), QMetaType::IsPointer, method, Q_CHECK_PTR(), qCWarning, and typeName.
Referenced by QObject::connect(), QObject::connect(), and queued_activate().
|
inlinestatic |
mutex to be locked when accessing the connection lists or the senders list
Definition at line 135 of file qobject.cpp.
References _q_ObjectMutexPool, and o.
Referenced by QObject::~QObject(), QObjectPrivate::ConnectionData::cleanOrphanedConnectionsImpl(), QMetaObjectPrivate::connect(), QObjectPrivate::connectImpl(), QMetaObjectPrivate::disconnect(), QMetaObjectPrivate::disconnectHelper(), doActivate(), QObject::dumpObjectInfo(), QObject::event(), QObject::isSignalConnected(), QObject::moveToThread(), queued_activate(), QObject::receivers(), QObjectPrivate::removeConnection(), QObject::sender(), and QObject::senderSignalIndex().
|
static |
Definition at line 129 of file qobject.cpp.
Referenced by signalSlotLock().
|
static |
Definition at line 56 of file qobject.cpp.
Referenced by QObjectPrivate::Connection::~Connection(), and queued_activate().
Q_CORE_EXPORT QBasicAtomicPointer<QSignalSpyCallbackSet> qt_signal_spy_callback_set = Q_BASIC_ATOMIC_INITIALIZER(nullptr) |
Definition at line 61 of file qobject.cpp.
Referenced by QMetaObject::activate(), QMetaObject::activate(), doActivate(), and qt_register_signal_spy_callbacks().