[PATCH v1] libcamera: camera_manager: Take camera id in `std::string_view`
Barnabás Pőcze
barnabas.pocze at ideasonboard.com
Mon Mar 31 17:09:00 CEST 2025
Do not force the caller to have an `std::string` object as a
simple string view is sufficient to do the lookup.
Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
---
include/libcamera/camera_manager.h | 3 ++-
src/libcamera/camera_manager.cpp | 2 +-
src/py/libcamera/py_camera_manager.h | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/include/libcamera/camera_manager.h b/include/libcamera/camera_manager.h
index b50df7825..27835500f 100644
--- a/include/libcamera/camera_manager.h
+++ b/include/libcamera/camera_manager.h
@@ -9,6 +9,7 @@
#include <memory>
#include <string>
+#include <string_view>
#include <sys/types.h>
#include <vector>
@@ -31,7 +32,7 @@ public:
void stop();
std::vector<std::shared_ptr<Camera>> cameras() const;
- std::shared_ptr<Camera> get(const std::string &id);
+ std::shared_ptr<Camera> get(std::string_view id);
static const std::string &version() { return version_; }
diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index b28bd0bd2..e62e7193c 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -381,7 +381,7 @@ std::vector<std::shared_ptr<Camera>> CameraManager::cameras() const
*
* \return Shared pointer to Camera object or nullptr if camera not found
*/
-std::shared_ptr<Camera> CameraManager::get(const std::string &id)
+std::shared_ptr<Camera> CameraManager::get(std::string_view id)
{
Private *const d = _d();
diff --git a/src/py/libcamera/py_camera_manager.h b/src/py/libcamera/py_camera_manager.h
index 3574db236..af69b915e 100644
--- a/src/py/libcamera/py_camera_manager.h
+++ b/src/py/libcamera/py_camera_manager.h
@@ -20,7 +20,7 @@ public:
~PyCameraManager();
pybind11::list cameras();
- std::shared_ptr<Camera> get(const std::string &name) { return cameraManager_->get(name); }
+ std::shared_ptr<Camera> get(std::string_view name) { return cameraManager_->get(name); }
static const std::string &version() { return CameraManager::version(); }
--
2.49.0
More information about the libcamera-devel
mailing list