[libcamera-devel] [PATCH] simple-cam: Update to the new ControList::get() API
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Jul 19 14:38:43 CEST 2022
Quoting Laurent Pinchart (2022-07-19 13:26:04)
> The ControlList::get() function has changed and now returns a
> std::optional<T>. Adapt simple-cam accordingly.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> simple-cam.cpp | 28 ++++++++++++++++------------
> 1 file changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/simple-cam.cpp b/simple-cam.cpp
> index 4de1b7de9ced..3e17839d17e6 100644
> --- a/simple-cam.cpp
> +++ b/simple-cam.cpp
> @@ -133,18 +133,22 @@ std::string cameraName(Camera *camera)
> const ControlList &props = camera->properties();
> std::string name;
>
> - switch (props.get(properties::Location)) {
> - case properties::CameraLocationFront:
> - name = "Internal front camera";
> - break;
> - case properties::CameraLocationBack:
> - name = "Internal back camera";
> - break;
> - case properties::CameraLocationExternal:
> - name = "External camera";
> - if (props.contains(properties::Model))
> - name += " '" + props.get(properties::Model) + "'";
> - break;
> + const auto &location = props.get(properties::Location);
> + if (location) {
> + switch (*location) {
> + case properties::CameraLocationFront:
> + name = "Internal front camera";
> + break;
> + case properties::CameraLocationBack:
> + name = "Internal back camera";
> + break;
> + case properties::CameraLocationExternal:
> + name = "External camera";
> + const auto &model = props.get(properties::Model);
> + if (model)
> + name = " '" + *model + "'";
I like that this saves double-lookups!
It's a shame we end up an extra level indented though.
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> + break;
> + }
> }
>
> name += " (" + camera->id() + ")";
>
> base-commit: bb97f3bbd96a9d347e1b7f6cb68d94efaf8db574
> --
> Regards,
>
> Laurent Pinchart
>
More information about the libcamera-devel
mailing list