20 Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
23 using Duration = std::chrono::nanoseconds;
28 Qt::TimerType timerType;
30#ifndef __cpp_aggregate_paren_init
31 TimerInfo() =
default;
32 inline TimerInfo(
int id,
int i, Qt::TimerType t)
33 : timerId(id), interval(i), timerType(t) { }
41 Qt::TimerType timerType;
44 explicit QAbstractEventDispatcher(QObject *parent =
nullptr);
45 ~QAbstractEventDispatcher();
47 static QAbstractEventDispatcher *instance(QThread *thread =
nullptr);
49 virtual bool processEvents(QEventLoop::ProcessEventsFlags flags) = 0;
51 virtual void registerSocketNotifier(QSocketNotifier *notifier) = 0;
52 virtual void unregisterSocketNotifier(QSocketNotifier *notifier) = 0;
54 Qt::TimerId registerTimer(Duration interval, Qt::TimerType timerType, QObject *object);
56#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
57 int registerTimer(qint64 interval, Qt::TimerType timerType, QObject *object);
60 virtual void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) = 0;
61 virtual bool unregisterTimer(
int timerId) = 0;
62 virtual bool unregisterTimers(QObject *object) = 0;
63 virtual QList<TimerInfo> registeredTimers(QObject *object)
const = 0;
64 virtual int remainingTime(
int timerId) = 0;
66 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object);
67 bool unregisterTimer(Qt::TimerId timerId);
68 QList<TimerInfoV2> timersForObject(QObject *object)
const;
69 Duration remainingTime(Qt::TimerId timerId)
const;
71 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object) = 0;
72 virtual bool unregisterTimer(Qt::TimerId timerId) = 0;
73 virtual bool unregisterTimers(QObject *object) = 0;
74 virtual QList<TimerInfoV2> timersForObject(QObject *object)
const = 0;
75 virtual Duration remainingTime(Qt::TimerId timerId)
const = 0;
78 virtual void wakeUp() = 0;
79 virtual void interrupt() = 0;
81 virtual void startingUp();
82 virtual void closingDown();
84 void installNativeEventFilter(QAbstractNativeEventFilter *filterObj);
85 void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj);
86 bool filterNativeEvent(
const QByteArray &eventType,
void *message, qintptr *result);
93 QAbstractEventDispatcher(QAbstractEventDispatcherPrivate &,
111 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
126 void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType,