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.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp
index 8e8b280f..4373fdf0 100644
--- a/src/libcamera/device_enumerator.cpp
+++ b/src/libcamera/device_enumerator.cpp
@@ -121,6 +121,25 @@ bool DeviceMatch::match(const DeviceInfo *info) const
* Enumerator Base
*/
+DeviceEnumerator *DeviceEnumerator::create()
+{
+ DeviceEnumerator *enumerator;
+
+ /* TODO: add compile time checks to only try udev enumerator if libudev is available */
+ enumerator = new DeviceEnumeratorUdev();
+ if (!enumerator->init())
+ return enumerator;
+
+ /*
+ * NOTE: Either udev is not available or initialization of it
+ * failed, use/fallback on sysfs enumerator
+ */
+
+ /* TODO: add a sysfs based enumerator */
+
+ return nullptr;
+}
+
DeviceEnumerator::~DeviceEnumerator()
{
for (DeviceInfo *dev : devices_) {