29 }
else if (prevState ==
Running) {
30 qWarning(
"Error: start without corresponding stop");
40 qWarning(
"Error: start/stop out of sync");
69 return &androidEventDispatcherStopper;
101 m_dispatchers.
erase(std::find(m_dispatchers.
begin(), m_dispatchers.
end(), dispatcher));
108 d->goingToStop(stop);
static QAndroidEventDispatcherStopper * instance()
void removeEventDispatcher(QAndroidEventDispatcher *dispatcher)
void addEventDispatcher(QAndroidEventDispatcher *dispatcher)
void goingToStop(bool stop)
~QAndroidEventDispatcher()
void goingToStop(bool stop)
QAndroidEventDispatcher(QObject *parent=nullptr)
bool processEvents(QEventLoop::ProcessEventsFlags flags) override
Processes pending events that match flags until there are no more events to process.
bool testAndSetOrdered(T expectedValue, T newValue) noexcept
void storeRelaxed(T newValue) noexcept
T fetchAndStoreAcquire(T newValue) noexcept
bool testAndSetAcquire(T expectedValue, T newValue) noexcept
T loadRelaxed() const noexcept
void wakeUp() override
\threadsafe
iterator erase(const_iterator begin, const_iterator end)
void push_back(parameter_type t)
void acquire(int n=1)
Tries to acquire n resources guarded by the semaphore.
void release(int n=1)
Releases n resources guarded by the semaphore.
bool processEvents(QEventLoop::ProcessEventsFlags flags) override
Processes pending events that match flags until there are no more events to process.
bool blockEventLoopsWhenSuspended()
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent