19 Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
22 using Duration = std::chrono::nanoseconds;
27 Qt::TimerType timerType;
29 inline TimerInfo(
int id,
int i, Qt::TimerType t)
30 : timerId(id), interval(i), timerType(t) { }
36 Qt::TimerType timerType;
39 explicit QAbstractEventDispatcher(QObject *parent =
nullptr);
40 ~QAbstractEventDispatcher();
42 static QAbstractEventDispatcher *instance(QThread *thread =
nullptr);
44 virtual bool processEvents(QEventLoop::ProcessEventsFlags flags) = 0;
46 virtual void registerSocketNotifier(QSocketNotifier *notifier) = 0;
47 virtual void unregisterSocketNotifier(QSocketNotifier *notifier) = 0;
49 Qt::TimerId registerTimer(Duration interval, Qt::TimerType timerType, QObject *object);
51#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
52 int registerTimer(qint64 interval, Qt::TimerType timerType, QObject *object);
55 virtual void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) = 0;
56 virtual bool unregisterTimer(
int timerId) = 0;
57 virtual bool unregisterTimers(QObject *object) = 0;
58 virtual QList<TimerInfo> registeredTimers(QObject *object)
const = 0;
59 virtual int remainingTime(
int timerId) = 0;
61 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object);
62 bool unregisterTimer(Qt::TimerId timerId);
63 QList<TimerInfoV2> timersForObject(QObject *object)
const;
64 Duration remainingTime(Qt::TimerId timerId)
const;
66 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object) = 0;
67 virtual bool unregisterTimer(Qt::TimerId timerId) = 0;
68 virtual bool unregisterTimers(QObject *object) = 0;
69 virtual QList<TimerInfoV2> timersForObject(QObject *object)
const = 0;
70 virtual Duration remainingTime(Qt::TimerId timerId)
const = 0;
73 virtual void wakeUp() = 0;
74 virtual void interrupt() = 0;
76 virtual void startingUp();
77 virtual void closingDown();
79 void installNativeEventFilter(QAbstractNativeEventFilter *filterObj);
80 void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj);
81 bool filterNativeEvent(
const QByteArray &eventType,
void *message, qintptr *result);
88 QAbstractEventDispatcher(QAbstractEventDispatcherPrivate &,
106 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
121 void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType,