7 #ifndef __LIBCAMERA_INTERNAL_EVENT_DISPATCHER_POLL_H__
8 #define __LIBCAMERA_INTERNAL_EVENT_DISPATCHER_POLL_H__
39 struct EventNotifierSetPoll {
44 int poll(std::vector<struct pollfd> *pollfds);
45 void processInterrupt(
const struct pollfd &pfd);
46 void processNotifiers(
const std::vector<struct pollfd> &pollfds);
49 std::map<int, EventNotifierSetPoll> notifiers_;
50 std::list<Timer *> timers_;
53 bool processingEvents_;
A poll-based event dispatcher.
Definition: event_dispatcher_poll.h:24
void registerTimer(Timer *timer)
Register a timer.
Definition: event_dispatcher_poll.cpp:116
void unregisterEventNotifier(EventNotifier *notifier)
Unregister an event notifier.
Definition: event_dispatcher_poll.cpp:83
void unregisterTimer(Timer *timer)
Unregister a timer.
Definition: event_dispatcher_poll.cpp:128
void interrupt()
Interrupt any running processEvents() call as soon as possible.
Definition: event_dispatcher_poll.cpp:177
void registerEventNotifier(EventNotifier *notifier)
Register an event notifier.
Definition: event_dispatcher_poll.cpp:68
void processEvents()
Wait for and process pending events.
Definition: event_dispatcher_poll.cpp:145
Interface to manage the libcamera events and timers.
Definition: event_dispatcher.h:18
Notify of activity on a file descriptor.
Definition: event_notifier.h:18
Single-shot timer interface.
Definition: timer.h:21