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

Jacopo Mondi jacopo at jmondi.org
Wed Aug 25 11:07:50 CEST 2021


Hi Kieran,

On Tue, Aug 24, 2021 at 03:24:47PM +0100, Kieran Bingham wrote:
> 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>();

Assuming there are no 'delete cm' leftovers in the code base
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
   j

>  	cm->start();
>
>  	/*
> --
> 2.30.2
>


More information about the libcamera-devel mailing list