mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-23 16:45:07 +03:00
libcamera: Add event notification infrastructure
Add three new classes, EventDispatcher, EventNotifier and Timer, that define APIs for file descriptor event notification and timers. The implementation of the EventDispatcher is meant to be provided to libcamera by the application. The event dispatcher is integrated twith the camera manager to implement automatic registration of timers and events. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
d0fd42a4fd
commit
1a57bcb8d1
11 changed files with 495 additions and 1 deletions
|
@ -14,6 +14,7 @@ namespace libcamera {
|
|||
|
||||
class Camera;
|
||||
class DeviceEnumerator;
|
||||
class EventDispatcher;
|
||||
class PipelineHandler;
|
||||
|
||||
class CameraManager
|
||||
|
@ -27,13 +28,19 @@ public:
|
|||
|
||||
static CameraManager *instance();
|
||||
|
||||
void setEventDispatcher(EventDispatcher *dispatcher);
|
||||
EventDispatcher *eventDispatcher();
|
||||
|
||||
private:
|
||||
CameraManager();
|
||||
CameraManager(const CameraManager &) = delete;
|
||||
void operator=(const CameraManager &) = delete;
|
||||
~CameraManager();
|
||||
|
||||
DeviceEnumerator *enumerator_;
|
||||
std::vector<PipelineHandler *> pipes_;
|
||||
|
||||
EventDispatcher *dispatcher_;
|
||||
};
|
||||
|
||||
} /* namespace libcamera */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue