diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2019-01-22 16:58:40 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-01-24 22:24:15 +0200 |
commit | 124aaffde0b25d847442876beb16600d448d9feb (patch) | |
tree | b8c940e77dba880331d6645181eea8660f03dd29 /include | |
parent | 9d29af143b6b91dfe34c7a302c12a077561438c5 (diff) |
libcamera: camera: Add disconnection notification
As camera object have the potential to outlive the hardware they
represent, there is a need to inform the camera that the underlying
device has been disconnected, and in turn to notify applications.
Implement a disconnection notification mechanism that can be used by
pipeline handlers to notify the camera of disconnection. The camera then
block all new API calls and emit the disconnected signal.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/camera.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h index efafb9e2..a2ded62d 100644 --- a/include/libcamera/camera.h +++ b/include/libcamera/camera.h @@ -10,6 +10,8 @@ #include <memory> #include <string> +#include <libcamera/signal.h> + namespace libcamera { class PipelineHandler; @@ -25,10 +27,15 @@ public: const std::string &name() const; + Signal<Camera *> disconnected; + private: Camera(PipelineHandler *pipe, const std::string &name); ~Camera(); + friend class PipelineHandler; + void disconnect(); + std::shared_ptr<PipelineHandler> pipe_; std::string name_; }; |