From 0ed40d2cd4342465cce916c3b6388d1849aef610 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 18 Aug 2019 01:45:01 +0300 Subject: android: Pass Camera shared pointer to CameraProxy by const reference The CameraProxy is constructed with a Camera instance passed through a shared pointer. It forwards it to the CameraDevice constructor, which takes a reference used for the sole purpose of making an internal copy of the shared pointer. Both constructors can thus take a const reference instead of a value or a mutable reference. This optimises the constructors slightly. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- src/android/camera_device.cpp | 2 +- src/android/camera_device.h | 2 +- src/android/camera_proxy.cpp | 2 +- src/android/camera_proxy.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index 999c51e6..9acfed69 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -49,7 +49,7 @@ CameraDevice::Camera3RequestDescriptor::~Camera3RequestDescriptor() * to the framework using the designated callbacks. */ -CameraDevice::CameraDevice(unsigned int id, std::shared_ptr &camera) +CameraDevice::CameraDevice(unsigned int id, const std::shared_ptr &camera) : running_(false), camera_(camera), staticMetadata_(nullptr), requestTemplate_(nullptr) { diff --git a/src/android/camera_device.h b/src/android/camera_device.h index 4d834ceb..7897ba9d 100644 --- a/src/android/camera_device.h +++ b/src/android/camera_device.h @@ -31,7 +31,7 @@ class ThreadRpc; class CameraDevice : public libcamera::Object { public: - CameraDevice(unsigned int id, std::shared_ptr &camera); + CameraDevice(unsigned int id, const std::shared_ptr &camera); ~CameraDevice(); void call(ThreadRpc *rpc); diff --git a/src/android/camera_proxy.cpp b/src/android/camera_proxy.cpp index 3eb2f9fb..4f5c0a02 100644 --- a/src/android/camera_proxy.cpp +++ b/src/android/camera_proxy.cpp @@ -113,7 +113,7 @@ static camera3_device_ops hal_dev_ops = { .reserved = { nullptr }, }; -CameraProxy::CameraProxy(unsigned int id, std::shared_ptr camera) +CameraProxy::CameraProxy(unsigned int id, const std::shared_ptr &camera) : id_(id) { cameraDevice_ = new CameraDevice(id, camera); diff --git a/src/android/camera_proxy.h b/src/android/camera_proxy.h index da63bfa7..7940eac4 100644 --- a/src/android/camera_proxy.h +++ b/src/android/camera_proxy.h @@ -19,7 +19,7 @@ class ThreadRpc; class CameraProxy { public: - CameraProxy(unsigned int id, std::shared_ptr camera); + CameraProxy(unsigned int id, const std::shared_ptr &camera); ~CameraProxy(); int open(const hw_module_t *hardwareModule); -- cgit v1.2.1