From a0295fdaf854bb10c387255f10677d9b6f1554dc Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 22 Jan 2020 21:25:05 +0200 Subject: libcamera: camera_manager: Return a copy of the vector from cameras() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Making CameraManager::cameras() thread-safe requires returning a copy of the cameras vector instead of a reference. This is also required for hot-plugging support and is thus desirable. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- include/libcamera/camera_manager.h | 2 +- src/libcamera/camera_manager.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/libcamera/camera_manager.h b/include/libcamera/camera_manager.h index 068afd58..079f848a 100644 --- a/include/libcamera/camera_manager.h +++ b/include/libcamera/camera_manager.h @@ -30,7 +30,7 @@ public: int start(); void stop(); - const std::vector> &cameras() const; + std::vector> cameras() const; std::shared_ptr get(const std::string &name); std::shared_ptr get(dev_t devnum); diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp index e0a07ec5..5fc1bba9 100644 --- a/src/libcamera/camera_manager.cpp +++ b/src/libcamera/camera_manager.cpp @@ -244,7 +244,7 @@ void CameraManager::stop() * * \return List of all available cameras */ -const std::vector> &CameraManager::cameras() const +std::vector> CameraManager::cameras() const { return p_->cameras_; } -- cgit v1.2.1