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>.
Loading...
Searching...
No Matches
QObjectPrivate::ConnectionData Struct Reference

#include <qobject_p_p.h>

+ Collaboration diagram for QObjectPrivate::ConnectionData:

Public Types

enum  LockPolicy { NeedToLock , AlreadyLockedAndTemporarilyReleasingLock }
 

Public Member Functions

 ~ConnectionData ()
 
void removeConnection (Connection *c)
 
void cleanOrphanedConnections (QObject *sender, LockPolicy lockPolicy=NeedToLock)
 
void cleanOrphanedConnectionsImpl (QObject *sender, LockPolicy lockPolicy)
 
ConnectionListconnectionsForSignal (int signal)
 
void resizeSignalVector (uint size)
 
int signalVectorCount () const
 

Static Public Member Functions

static void deleteOrphaned (TaggedSignalVector o)
 

Public Attributes

QAtomicInteger< uintcurrentConnectionId
 
QAtomicInt ref
 
QAtomicPointer< SignalVectorsignalVector
 
Connectionsenders = nullptr
 
SendercurrentSender = nullptr
 
std::atomic< TaggedSignalVectororphaned = {}
 

Detailed Description

Definition at line 136 of file qobject_p_p.h.

Member Enumeration Documentation

◆ LockPolicy

Enumerator
NeedToLock 
AlreadyLockedAndTemporarilyReleasingLock 

Definition at line 163 of file qobject_p_p.h.

Constructor & Destructor Documentation

◆ ~ConnectionData()

QObjectPrivate::ConnectionData::~ConnectionData ( )
inline

Definition at line 147 of file qobject_p_p.h.

References deleteOrphaned(), orphaned, Q_ASSERT, and signalVector.

+ Here is the call graph for this function:

Member Function Documentation

◆ cleanOrphanedConnections()

void QObjectPrivate::ConnectionData::cleanOrphanedConnections ( QObject * sender,
LockPolicy lockPolicy = NeedToLock )
inline

Definition at line 170 of file qobject_p_p.h.

References cleanOrphanedConnectionsImpl(), and orphaned.

+ Here is the call graph for this function:

◆ cleanOrphanedConnectionsImpl()

void QObjectPrivate::ConnectionData::cleanOrphanedConnectionsImpl ( QObject * sender,
LockPolicy lockPolicy )

Definition at line 367 of file qobject.cpp.

References signalSlotLock().

Referenced by cleanOrphanedConnections().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ connectionsForSignal()

ConnectionList & QObjectPrivate::ConnectionData::connectionsForSignal ( int signal)
inline

Definition at line 177 of file qobject_p_p.h.

References signal, and signalVector.

Referenced by QObject::~QObject(), and QObjectPrivate::addConnection().

+ Here is the caller graph for this function:

◆ deleteOrphaned()

void QObjectPrivate::ConnectionData::deleteOrphaned ( TaggedSignalVector o)
inlinestatic

Definition at line 395 of file qobject.cpp.

References next, o, and Q_ASSERT.

Referenced by ~ConnectionData().

+ Here is the caller graph for this function:

◆ removeConnection()

void QObjectPrivate::ConnectionData::removeConnection ( QObjectPrivate::Connection * c)

Definition at line 301 of file qobject.cpp.

References QObjectPrivate::connections, QThreadData::deref(), QObjectPrivate::Connection::nextConnectionList, o, orphaned, Q_ASSERT, and signalVector.

Referenced by QObject::~QObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resizeSignalVector()

void QObjectPrivate::ConnectionData::resizeSignalVector ( uint size)
inline

Definition at line 182 of file qobject_p_p.h.

References QList< T >::count(), i, o, orphaned, ptr(), signalVector, and vector.

Referenced by QObjectPrivate::addConnection().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ signalVectorCount()

int QObjectPrivate::ConnectionData::signalVectorCount ( ) const
inline

Definition at line 217 of file qobject_p_p.h.

References signalVector.

Referenced by QObject::~QObject(), QObject::dumpObjectInfo(), QObjectPrivate::isSignalConnected(), and QObjectPrivate::maybeSignalConnected().

+ Here is the caller graph for this function:

Member Data Documentation

◆ currentConnectionId

QAtomicInteger<uint> QObjectPrivate::ConnectionData::currentConnectionId

Definition at line 140 of file qobject_p_p.h.

Referenced by QObject::~QObject(), and QObjectPrivate::addConnection().

◆ currentSender

Sender* QObjectPrivate::ConnectionData::currentSender = nullptr

◆ orphaned

std::atomic<TaggedSignalVector> QObjectPrivate::ConnectionData::orphaned = {}

◆ ref

QAtomicInt QObjectPrivate::ConnectionData::ref

Definition at line 141 of file qobject_p_p.h.

Referenced by QObject::~QObject(), and QObjectPrivate::ensureConnectionData().

◆ senders

◆ signalVector


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