11 #include "EventLockHandle.h" 12 #include "EventPollHandle.h" 13 #include "peripherals/PeripheralTypes.h" 14 #include "threads/CriticalSection.h" 15 #include "threads/Event.h" 16 #include "threads/Thread.h" 23 class IEventScannerCallback;
43 EventPollHandlePtr RegisterPollHandle();
53 void HandleEvents(
bool bWait)
override;
61 void Process()
override;
64 std::chrono::milliseconds GetScanIntervalMs()
const;
70 std::set<void*> m_activeHandles;
71 std::set<void*> m_activeLocks;
73 CEvent m_scanFinishedEvent;
74 mutable CCriticalSection m_handleMutex;
75 CCriticalSection m_lockMutex;
76 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:33
Handle returned by the event scanner to control scan timing.
Definition: EventPollHandle.h:37
Callback implemented by event scanner.
Definition: EventPollHandle.h:20
Handle returned by the event scanner to disable event processing.
Definition: EventLockHandle.h:33
EventLockHandlePtr RegisterLock()
Acquire a lock that prevents event processing while held.
Definition: EventScanner.cpp:103
Definition: IEventScannerCallback.h:16
Callback implemented by event scanner.
Definition: EventLockHandle.h:20