56 #include "QtCore/qobject.h" 57 #include "QtCore/qpointer.h" 58 #include "QtCore/qsharedpointer.h" 59 #include "QtCore/qcoreevent.h" 60 #include "QtCore/qlist.h" 61 #include "QtCore/qvector.h" 62 #include "QtCore/qreadwritelock.h" 63 #include "QtCore/qvariant.h" 64 #include "QtCore/qmetaobject.h" 65 #include "QtCore/qvarlengtharray.h" 77 typedef void (*BeginCallback)(
QObject *caller,
int method_index,
void **argv);
78 typedef void (*EndCallback)(
QObject *caller,
int method_index);
79 BeginCallback signal_begin_callback,
81 EndCallback signal_end_callback,
106 #ifndef QT_NO_USERDATA 129 int method()
const {
return method_offset + method_relative; }
148 void deleteChildren();
150 void setParent_helper(QObject *);
151 void moveToThread_helper();
153 void _q_reregisterTimers(
void *pointer);
155 bool isSender(
const QObject *receiver,
const char *signal)
const;
156 QObjectList receiverList(
const char *signal)
const;
160 void cleanConnectionLists();
163 void sendPendingChildInsertedEvents();
166 static inline Sender *setCurrentSender(QObject *receiver,
168 static inline void resetCurrentSender(QObject *receiver,
171 #ifdef QT_JAMBI_BUILD 173 static void resetDeleteWatch(
QObjectPrivate *
d,
int *oldWatch,
int deleteWatch);
175 static void clearGuards(QObject *);
181 int signalIndex(
const char *
signalName)
const;
182 inline bool isSignalConnected(
uint signalIdx)
const;
186 inline void connectNotify(
const char *signal);
187 inline void disconnectNotify(
const char *signal);
189 static inline void signalSignature(
const QMetaMethod &signal,
220 #ifdef QT_JAMBI_BUILD 239 return signal_index >=
sizeof(connectedSignals) * 8
240 || (connectedSignals[signal_index >> 5] & (1 << (signal_index & 0x1f))
247 q_ptr->connectNotify(signal);
252 q_ptr->disconnectNotify(signal);
260 if (signatureLength == 0) {
264 result->
reserve(signatureLength + 2);
272 Sender *previousSender = receiver->d_func()->currentSender;
273 receiver->d_func()->currentSender = sender;
274 return previousSender;
282 if (currentSender->
ref == 1)
283 receiver->d_func()->currentSender = previousSender;
286 previousSender->
ref = currentSender->
ref;
298 int nargs = 0,
int *
types = 0,
void **args = 0,
QSemaphore *semaphore = 0);
301 inline int id()
const {
return method_offset_ + method_relative_; }
304 inline void **
args()
const {
return args_; }
306 virtual void placeMetaCall(
QObject *
object);
342 #endif // QOBJECT_P_H The QVariant class acts like a union for the most common Qt data types.
static Sender * setCurrentSender(QObject *receiver, Sender *sender)
BeginCallback slot_begin_callback
#define QT_END_NAMESPACE
This macro expands to.
The QSemaphore class provides a general counting semaphore.
EndCallback slot_end_callback
static void signalSignature(const QMetaMethod &signal, QVarLengthArray< char > *result)
Q_CORE_EXPORT QTextStream & reset(QTextStream &s)
The QString class provides a Unicode character string.
void Q_CORE_EXPORT qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set)
The QVector class is a template class that provides a dynamic array.
The QObject class is the base class of all Qt objects.
BeginCallback signal_begin_callback
QList< QPointer< QObject > > eventFilters
#define QT_BEGIN_NAMESPACE
This macro expands to.
Q_DECLARE_TYPEINFO(QObjectPrivate::Connection, Q_MOVABLE_TYPE)
void(* StaticMetaCallFunction)(QObject *, QMetaObject::Call, int, void **)
QBasicAtomicPointer< int > argumentTypes
static void resetCurrentSender(QObject *receiver, Sender *currentSender, Sender *previousSender)
QAbstractDeclarativeData * declarativeData
EndCallback signal_end_callback
void connectNotify(const char *signal)
QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set
Connection * nextConnectionList
uint qstrlen(const char *str)
bool isSignalConnected(uint signalIdx) const
Returns true if the signal with index signal_index from object sender is connected.
#define Q_DECLARE_PUBLIC(Class)
QBoolBlocker(bool &b, bool value=true)
QObject * currentChildBeingDeleted
void Q_CORE_EXPORT qDeleteInEventHandler(QObject *o)
void disconnectNotify(const char *signal)
The QEvent class is the base class of all event classes.
StaticMetaCallFunction callFunction
QObjectConnectionListVector * connectionLists
QAtomicPointer< QtSharedPointer::ExternalRefCountData > sharedRefcount
#define QT_VERSION
This macro expands a numeric value of the form 0xMMNNPP (MM = major, NN = minor, PP = patch) that spe...