libcamera: include/libcamera/base/event_dispatcher.h Source File

libcamera v0.0.4 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
event_dispatcher.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2019, Google Inc.
4 *
5 * event_dispatcher.h - Event dispatcher
6 */
7
8#pragma once
9
10#include <vector>
11
12#include <libcamera/base/private.h>
13
14namespace libcamera {
15
16class EventNotifier;
17class Timer;
18
19 class EventDispatcher
20{
21public:
22 virtual ~EventDispatcher();
23
24 virtual void registerEventNotifier(EventNotifier *notifier) = 0;
25 virtual void unregisterEventNotifier(EventNotifier *notifier) = 0;
26
27 virtual void registerTimer(Timer *timer) = 0;
28 virtual void unregisterTimer(Timer *timer) = 0;
29
30 virtual void processEvents() = 0;
31
32 virtual void interrupt() = 0;
33};
34
35} /* namespace libcamera */
libcamera::EventDispatcher
Interface to manage the libcamera events and timers.
Definition: event_dispatcher.h:20
libcamera::EventDispatcher::processEvents
virtual void processEvents()=0
Wait for and process pending events.
libcamera::EventDispatcher::registerEventNotifier
virtual void registerEventNotifier(EventNotifier *notifier)=0
Register an event notifier.
libcamera::EventDispatcher::interrupt
virtual void interrupt()=0
Interrupt any running processEvents() call as soon as possible.
libcamera::EventDispatcher::unregisterTimer
virtual void unregisterTimer(Timer *timer)=0
Unregister a timer.
libcamera::EventDispatcher::registerTimer
virtual void registerTimer(Timer *timer)=0
Register a timer.
libcamera::EventDispatcher::unregisterEventNotifier
virtual void unregisterEventNotifier(EventNotifier *notifier)=0
Unregister an event notifier.
libcamera::EventNotifier
Notify of activity on a file descriptor.
Definition: event_notifier.h:20
libcamera::Timer
Single-shot timer interface.
Definition: timer.h:23
libcamera
Top-level libcamera namespace.
Definition: backtrace.h:17