summaryrefslogtreecommitdiff
path: root/src/libcamera/device_enumerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/device_enumerator.cpp')
-rw-r--r--src/libcamera/device_enumerator.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
index 18d7e868..55c510e3 100644
--- a/src/libcamera/device_enumerator.cpp
+++ b/src/libcamera/device_enumerator.cpp
@@ -14,6 +14,7 @@
#include "device_enumerator.h"
#include "log.h"
#include "media_device.h"
+#include "utils.h"
/**
* \file device_enumerator.h
@@ -128,20 +129,18 @@ bool DeviceMatch::match(const MediaDevice *device) const
* \return A pointer to the newly created device enumerator on success, or
* nullptr if an error occurs
*/
-DeviceEnumerator *DeviceEnumerator::create()
+std::unique_ptr<DeviceEnumerator> DeviceEnumerator::create()
{
- DeviceEnumerator *enumerator;
+ std::unique_ptr<DeviceEnumerator> enumerator;
/**
* \todo Add compile time checks to only try udev enumerator if libudev
* is available.
*/
- enumerator = new DeviceEnumeratorUdev();
+ enumerator = utils::make_unique<DeviceEnumeratorUdev>();
if (!enumerator->init())
return enumerator;
- delete enumerator;
-
/*
* Either udev is not available or udev initialization failed. Fall back
* on the sysfs enumerator.