diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2019-12-17 12:47:51 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-09-30 11:13:03 +0300 |
commit | 674828e35f823433ab5469510359bea21ccd26de (patch) | |
tree | 2c260875c4a2010c1262add0653431f64e615bdf /test/camera-sensor.cpp | |
parent | 72e8139dd21d5c9edd54db362f6a6f5841bf1a23 (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 1d402c43..869c7889 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_; }; |