67 Q_DECLARE_PRIVATE(QEventDispatcherUNIX)
70 explicit QEventDispatcherUNIX(QObject *parent =
nullptr);
71 ~QEventDispatcherUNIX();
73 bool processEvents(QEventLoop::ProcessEventsFlags flags) override;
75 void registerSocketNotifier(QSocketNotifier *notifier) final;
76 void unregisterSocketNotifier(QSocketNotifier *notifier) final;
78 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
79 QObject *object) override final;
80 bool unregisterTimer(Qt::TimerId timerId) override final;
81 bool unregisterTimers(QObject *object) override final;
82 QList<TimerInfoV2> timersForObject(QObject *object)
const override final;
83 Duration remainingTime(Qt::TimerId timerId)
const override final;
85 void wakeUp() override;
86 void interrupt() final;
89 QEventDispatcherUNIX(QEventDispatcherUNIXPrivate &dd, QObject *parent =
nullptr);
94 Q_DECLARE_PUBLIC(QEventDispatcherUNIX)
97 QEventDispatcherUNIXPrivate();
98 ~QEventDispatcherUNIXPrivate();
100 int activateTimers();
102 void markPendingSocketNotifiers();
103 int activateSocketNotifiers();
104 void setSocketNotifierPending(QSocketNotifier *notifier);
106 QThreadPipe threadPipe;
107 QList<pollfd> pollfds;
109 QHash<
int, QSocketNotifierSetUNIX> socketNotifiers;
110 QList<QSocketNotifier *> pendingNotifiers;
112 QTimerInfoList timerList;
113 QAtomicInt interrupt;