summaryrefslogtreecommitdiff
path: root/src/libcamera/request.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-09-28 02:45:49 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-05 20:02:51 +0300
commitecf1c2e57b357f1b843796fd9ac4c77da940a26a (patch)
treec955705f0641f26b9e53749f40756509cb7e2d16 /src/libcamera/request.cpp
parentf671d84ceb491fdb07ad39d1fe20950fd6482e4f (diff)
libcamera: controls: Use ControlValidator to validate ControlList
Replace the manual validation of controls against a Camera with usage of the new ControlValidator interface. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/libcamera/request.cpp')
-rw-r--r--src/libcamera/request.cpp14
1 files changed, 12 insertions, 2 deletions
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 <libcamera/camera.h>
#include <libcamera/stream.h>
+#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_;
}
/**