30 Q_DECLARE_PRIVATE(QEventDispatcherGlib)
33 explicit QEventDispatcherGlib(QObject *parent =
nullptr);
34 explicit QEventDispatcherGlib(GMainContext *context, QObject *parent =
nullptr);
35 ~QEventDispatcherGlib();
37 bool processEvents(QEventLoop::ProcessEventsFlags flags) override;
39 void registerSocketNotifier(QSocketNotifier *socketNotifier) final;
40 void unregisterSocketNotifier(QSocketNotifier *socketNotifier) final;
42 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
43 QObject *object) override final;
44 bool unregisterTimer(Qt::TimerId timerId) override final;
45 bool unregisterTimers(QObject *object) override final;
46 QList<TimerInfoV2> timersForObject(QObject *object)
const override final;
47 Duration remainingTime(Qt::TimerId timerId)
const override final;
50 void interrupt() final;
52 static bool versionSupported();
55 QEventDispatcherGlib(QEventDispatcherGlibPrivate &dd, QObject *parent);
67 QEventDispatcherGlibPrivate(GMainContext *context =
nullptr);
68 ~QEventDispatcherGlibPrivate() override;
70 GMainContext *mainContext;
71 GPostEventSource *postEventSource;
72 GSocketNotifierSource *socketNotifierSource;
73 GTimerSource *timerSource;
74 GIdleTimerSource *idleTimerSource;
75 bool wakeUpCalled =
true;
77 void runTimersOnceWithNormalPriority();
QEventDispatcherGlibPrivate * d