android: CameraHalManager: Hold CameraManager with std::unique_ptr

CameraManager is owned by CameraHalManager. The ownership of the
object is not shared with other classes. So CameraHalManager
should manage CameraManager with std::unique_ptr.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Hirokazu Honda 2021-03-24 16:07:51 +09:00 committed by Laurent Pinchart
parent 212f410c7c
commit 10518882f3
2 changed files with 5 additions and 12 deletions

View file

@ -34,18 +34,12 @@ CameraHalManager::CameraHalManager()
{
}
CameraHalManager::~CameraHalManager()
{
if (cameraManager_) {
cameraManager_->stop();
delete cameraManager_;
cameraManager_ = nullptr;
}
}
/* CameraManager calls stop() in the destructor. */
CameraHalManager::~CameraHalManager() = default;
int CameraHalManager::init()
{
cameraManager_ = new CameraManager();
cameraManager_ = std::make_unique<CameraManager>();
/* Support camera hotplug. */
cameraManager_->cameraAdded.connect(this, &CameraHalManager::cameraAdded);
@ -55,8 +49,7 @@ int CameraHalManager::init()
if (ret) {
LOG(HAL, Error) << "Failed to start camera manager: "
<< strerror(-ret);
delete cameraManager_;
cameraManager_ = nullptr;
cameraManager_.reset();
return ret;
}