68 Q_DECLARE_PRIVATE(QEventDispatcherUNIX)
71 explicit QEventDispatcherUNIX(QObject *parent =
nullptr);
72 ~QEventDispatcherUNIX();
74 bool processEvents(QEventLoop::ProcessEventsFlags flags) override;
76 void registerSocketNotifier(QSocketNotifier *notifier) final;
77 void unregisterSocketNotifier(QSocketNotifier *notifier) final;
79 void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType,
80 QObject *object) override final;
81 bool unregisterTimer(Qt::TimerId timerId) override final;
82 bool unregisterTimers(QObject *object) override final;
83 QList<TimerInfoV2> timersForObject(QObject *object)
const override final;
84 Duration remainingTime(Qt::TimerId timerId)
const override final;
86 void wakeUp() override;
87 void interrupt() final;
90 QEventDispatcherUNIX(QEventDispatcherUNIXPrivate &dd, QObject *parent =
nullptr);
95 Q_DECLARE_PUBLIC(QEventDispatcherUNIX)
98 QEventDispatcherUNIXPrivate();
99 ~QEventDispatcherUNIXPrivate();
101 int activateTimers();
103 void markPendingSocketNotifiers();
104 int activateSocketNotifiers();
105 void setSocketNotifierPending(QSocketNotifier *notifier);
107 QThreadPipe threadPipe;
108 QList<pollfd> pollfds;
110 QHash<
int, QSocketNotifierSetUNIX> socketNotifiers;
111 QList<QSocketNotifier *> pendingNotifiers;
113 QTimerInfoList timerList;
114 QAtomicInt interrupt;