11 #include "EventLockHandle.h" 12 #include "EventPollHandle.h" 13 #include "PeripheralTypes.h" 14 #include "threads/CriticalSection.h" 15 #include "threads/Event.h" 16 #include "threads/Thread.h" 23 class IEventScannerCallback;
41 EventPollHandlePtr RegisterPollHandle();
51 void HandleEvents(
bool bWait)
override;
59 void Process()
override;
62 std::chrono::milliseconds GetScanIntervalMs()
const;
68 std::set<void*> m_activeHandles;
69 std::set<void*> m_activeLocks;
71 CEvent m_scanFinishedEvent;
72 mutable CCriticalSection m_handleMutex;
73 CCriticalSection m_lockMutex;
74 CCriticalSection m_pollMutex;
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: RetroPlayerInput.h:15
Class to scan for peripheral events.
Definition: EventScanner.h:31
Handle returned by the event scanner to control scan timing.
Definition: EventPollHandle.h:35
Callback implemented by event scanner.
Definition: EventPollHandle.h:18
Handle returned by the event scanner to disable event processing.
Definition: EventLockHandle.h:31
EventLockHandlePtr RegisterLock()
Acquire a lock that prevents event processing while held.
Definition: EventScanner.cpp:103
Definition: IEventScannerCallback.h:13
Callback implemented by event scanner.
Definition: EventLockHandle.h:18