diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2019-12-17 12:47:51 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-04-24 20:44:24 +0300 |
commit | aa9a1eef2106383e965004c9ceeba9ed4746b78d (patch) | |
tree | 94cbbf1235e6fc3efa590a5ddedc1c2e209c6a69 /test/camera-sensor.cpp | |
parent | 0fd7d941955dee55be2104c8143b5fbe42178fd3 (diff) |
libcamera: camera_sensor: Introduce CameraSensorFactory
Introduce a factory to create CameraSensor derived classes instances by
inspecting the sensor media entity name and provide a convenience macro
to register specialized sensor handlers.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
---
Changes since combined RFC:
- Fix indentation in REGISTER_CAMERA_SENSOR() macro
Diffstat (limited to 'test/camera-sensor.cpp')
-rw-r--r-- | test/camera-sensor.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp index 9503d775..acd3a124 100644 --- a/test/camera-sensor.cpp +++ b/test/camera-sensor.cpp @@ -52,8 +52,8 @@ protected: return TestFail; } - sensor_ = new CameraSensor(entity); - if (sensor_->init() < 0) { + sensor_ = CameraSensorFactoryBase::create(entity); + if (!sensor_) { cerr << "Unable to initialise camera sensor" << endl; return TestFail; } @@ -118,13 +118,12 @@ protected: void cleanup() { - delete sensor_; } private: std::unique_ptr<DeviceEnumerator> enumerator_; std::shared_ptr<MediaDevice> media_; - CameraSensor *sensor_; + std::unique_ptr<CameraSensor> sensor_; CameraLens *lens_; }; |