7#ifndef __LIBCAMERA_BASE_EVENT_DISPATCHER_POLL_H__
8#define __LIBCAMERA_BASE_EVENT_DISPATCHER_POLL_H__
14#include <libcamera/base/private.h>
41 struct EventNotifierSetPoll {
46 int poll(std::vector<struct pollfd> *pollfds);
47 void processInterrupt(
const struct pollfd &pfd);
48 void processNotifiers(
const std::vector<struct pollfd> &pollfds);
51 std::map<int, EventNotifierSetPoll> notifiers_;
52 std::list<Timer *> timers_;
55 bool processingEvents_;
A poll-based event dispatcher.
Definition: event_dispatcher_poll.h:26
void registerTimer(Timer *timer)
Register a timer.
Definition: event_dispatcher_poll.cpp:115
void unregisterEventNotifier(EventNotifier *notifier)
Unregister an event notifier.
Definition: event_dispatcher_poll.cpp:82
void unregisterTimer(Timer *timer)
Unregister a timer.
Definition: event_dispatcher_poll.cpp:127
void interrupt()
Interrupt any running processEvents() call as soon as possible.
Definition: event_dispatcher_poll.cpp:176
void registerEventNotifier(EventNotifier *notifier)
Register an event notifier.
Definition: event_dispatcher_poll.cpp:67
void processEvents()
Wait for and process pending events.
Definition: event_dispatcher_poll.cpp:144
Interface to manage the libcamera events and timers.
Definition: event_dispatcher.h:20
Notify of activity on a file descriptor.
Definition: event_notifier.h:20
Single-shot timer interface.
Definition: timer.h:23
Top-level libcamera namespace.
Definition: backtrace.h:17