[libcamera-devel] [SimpleCam PATCH 1/4] simple-cam: Use a unique_ptr for the CameraManager

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Aug 24 16:24:47 CEST 2021


The CameraManager should be released when it is no longer used. A
unique_ptr will handle this automatically, and convey the lifetime of
the object.

Update simple-cam to show that managing the lifetime of the
CameraManager is recommended practice.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 simple-cam.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/simple-cam.cpp b/simple-cam.cpp
index 8f7012b83b6c..5c16db67700c 100644
--- a/simple-cam.cpp
+++ b/simple-cam.cpp
@@ -131,8 +131,15 @@ int main()
 	 *
 	 * The CameraManager provides a list of available Cameras that
 	 * applications can operate on.
+	 *
+	 * When the CameraManager is no longer to be used, it should be deleted.
+	 * We use a unique_ptr here to manage the lifetime automatically during
+	 * the scope of this function.
+	 *
+	 * There can only be a single CameraManager constructed within any
+	 * process space.
 	 */
-	CameraManager *cm = new CameraManager();
+	std::unique_ptr<CameraManager> cm = std::make_unique<CameraManager>();
 	cm->start();
 
 	/*
-- 
2.30.2



More information about the libcamera-devel mailing list