14 #include <libcamera/base/private.h> 42 struct EventNotifierSetPoll {
47 int poll(std::vector<struct pollfd> *pollfds);
48 void processInterrupt(
const struct pollfd &pfd);
49 void processNotifiers(
const std::vector<struct pollfd> &pollfds);
52 std::map<int, EventNotifierSetPoll> notifiers_;
53 std::list<Timer *> timers_;
56 bool processingEvents_;
File descriptor wrapper that owns a file descriptor.
A poll-based event dispatcher.
Definition: event_dispatcher_poll.h:26
Top-level libcamera namespace.
Definition: backtrace.h:17
void unregisterEventNotifier(EventNotifier *notifier)
Unregister an event notifier.
Definition: event_dispatcher_poll.cpp:81
Interface to manage the libcamera events and timers.
Definition: event_dispatcher.h:19
void unregisterTimer(Timer *timer)
Unregister a timer.
Definition: event_dispatcher_poll.cpp:126
Single-shot timer interface.
Definition: timer.h:22
void interrupt()
Interrupt any running processEvents() call as soon as possible.
Definition: event_dispatcher_poll.cpp:175
void registerEventNotifier(EventNotifier *notifier)
Register an event notifier.
Definition: event_dispatcher_poll.cpp:66
unique_ptr-like wrapper for a file descriptor
Definition: unique_fd.h:17
Notify of activity on a file descriptor.
Definition: event_notifier.h:19
void registerTimer(Timer *timer)
Register a timer.
Definition: event_dispatcher_poll.cpp:114
void processEvents()
Wait for and process pending events.
Definition: event_dispatcher_poll.cpp:143