summaryrefslogtreecommitdiff
path: root/src/libcamera/camera_manager.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-15 15:32:59 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-16 18:23:43 +0200
commit62eae99ed29ddba069068944f823332b9ca30c4e (patch)
tree6256732231d6fe1cd7fa693484b089a25e3623c0 /src/libcamera/camera_manager.cpp
parenta2f095947f847cb7d3f058a74514109928b1df9f (diff)
libcamera: camera_manager: Turn enumerator into a unique_ptr<>
Convey the fact that the CameraManager class owns the DeviceEnumerator instance it creates by using std::unique_ptr<> to store the pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/libcamera/camera_manager.cpp')
-rw-r--r--src/libcamera/camera_manager.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
index 2ee83d4d..9f554be5 100644
--- a/src/libcamera/camera_manager.cpp
+++ b/src/libcamera/camera_manager.cpp
@@ -73,7 +73,6 @@ CameraManager::~CameraManager()
*/
int CameraManager::start()
{
-
if (enumerator_)
return -ENODEV;
@@ -95,7 +94,7 @@ int CameraManager::start()
*/
while (1) {
PipelineHandler *pipe = factory->create();
- if (!pipe->match(enumerator_)) {
+ if (!pipe->match(enumerator_.get())) {
delete pipe;
break;
}
@@ -130,10 +129,7 @@ void CameraManager::stop()
pipes_.clear();
- if (enumerator_)
- delete enumerator_;
-
- enumerator_ = nullptr;
+ enumerator_.reset(nullptr);
}
/**