20 Q_DECLARE_PRIVATE(QAbstractEventDispatcher)
23 using Duration = std::chrono::nanoseconds;
28 Qt::TimerType timerType;
30 inline TimerInfo(
int id,
int i, Qt::TimerType t)
31 : timerId(id), interval(i), timerType(t) { }
37 Qt::TimerType timerType;
40 explicit QAbstractEventDispatcher(QObject *parent =
nullptr);
41 ~QAbstractEventDispatcher();
43 static QAbstractEventDispatcher *instance(QThread *thread =
nullptr);
45 virtual bool processEvents(QEventLoop::ProcessEventsFlags flags) = 0;
47 virtual void registerSocketNotifier(QSocketNotifier *notifier) = 0;
48 virtual void unregisterSocketNotifier(QSocketNotifier *notifier) = 0;
50 Qt::TimerId registerTimer(Duration interval, Qt::TimerType timerType, QObject *object);
52#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
53 int registerTimer(qint64 interval, Qt::TimerType timerType, QObject *object);
56 virtual void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) = 0;
57 virtual bool unregisterTimer(
int timerId) = 0;
58 virtual bool unregisterTimers(QObject *object) = 0;
59 virtual QList<TimerInfo> registeredTimers(QObject *object)
const = 0;
60 virtual int remainingTime(
int timerId) = 0;
62 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object);
63 bool unregisterTimer(Qt::TimerId timerId);
64 QList<TimerInfoV2> timersForObject(QObject *object)
const;
65 Duration remainingTime(Qt::TimerId timerId)
const;
67 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, QObject *object) = 0;
68 virtual bool unregisterTimer(Qt::TimerId timerId) = 0;
69 virtual bool unregisterTimers(QObject *object) = 0;
70 virtual QList<TimerInfoV2> timersForObject(QObject *object)
const = 0;
71 virtual Duration remainingTime(Qt::TimerId timerId)
const = 0;
74 virtual void wakeUp() = 0;
75 virtual void interrupt() = 0;
77 virtual void startingUp();
78 virtual void closingDown();
80 void installNativeEventFilter(QAbstractNativeEventFilter *filterObj);
81 void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj);
82 bool filterNativeEvent(
const QByteArray &eventType,
void *message, qintptr *result);
89 QAbstractEventDispatcher(QAbstractEventDispatcherPrivate &,
107 virtual void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
122 void registerTimer(
int timerId, qint64 interval, Qt::TimerType timerType,