diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-07-11 01:09:09 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-07-19 14:23:32 +0300 |
commit | f995ff25a3326db90513d1fa936815653f7cade0 (patch) | |
tree | d4362bac38bb83efbe7aa5d936e1d2b858854437 /src/cam/main.cpp | |
parent | 1c4d4801850559d6f919eef5c2ffbaf7675dbc46 (diff) |
libcamera: controls: Avoid double lookups
Now that the ControlList::get() function returns an instance of
std::optional<>, we can replace the ControlList::contains() calls with a
nullopt check on the return value of get(). This avoids double lookups
of controls through the code base.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'src/cam/main.cpp')
-rw-r--r-- | src/cam/main.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cam/main.cpp b/src/cam/main.cpp index d8115cd8..53c2ffde 100644 --- a/src/cam/main.cpp +++ b/src/cam/main.cpp @@ -300,8 +300,9 @@ std::string CamApp::cameraName(const Camera *camera) * Construct the name from the camera location, model and ID. The model * is only used if the location isn't present or is set to External. */ - if (props.contains(properties::Location)) { - switch (*props.get(properties::Location)) { + const auto &location = props.get(properties::Location); + if (location) { + switch (*location) { case properties::CameraLocationFront: addModel = false; name = "Internal front camera "; @@ -316,12 +317,14 @@ std::string CamApp::cameraName(const Camera *camera) } } - if (addModel && props.contains(properties::Model)) { + if (addModel) { /* * If the camera location is not availble use the camera model * to build the camera name. */ - name = "'" + *props.get(properties::Model) + "' "; + const auto &model = props.get(properties::Model); + if (model) + name = "'" + *model + "' "; } name += "(" + camera->id() + ")"; |