From ecf1c2e57b357f1b843796fd9ac4c77da940a26a Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 28 Sep 2019 02:45:49 +0300 Subject: libcamera: controls: Use ControlValidator to validate ControlList MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the manual validation of controls against a Camera with usage of the new ControlValidator interface. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/request.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/libcamera/request.cpp') diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp index ee2158fc..19f6d0b9 100644 --- a/src/libcamera/request.cpp +++ b/src/libcamera/request.cpp @@ -13,6 +13,7 @@ #include #include +#include "camera_controls.h" #include "log.h" /** @@ -55,9 +56,15 @@ LOG_DEFINE_CATEGORY(Request) * */ Request::Request(Camera *camera, uint64_t cookie) - : camera_(camera), controls_(camera), cookie_(cookie), - status_(RequestPending), cancelled_(false) + : camera_(camera), cookie_(cookie), status_(RequestPending), + cancelled_(false) { + /** + * \todo Should the Camera expose a validator instance, to avoid + * creating a new instance for each request? + */ + validator_ = new CameraControlValidator(camera); + controls_ = new ControlList(validator_); } Request::~Request() @@ -66,6 +73,9 @@ Request::~Request() Buffer *buffer = it.second; delete buffer; } + + delete controls_; + delete validator_; } /** -- cgit v1.2.1