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>
This commit is contained in:
Laurent Pinchart 2019-09-28 02:45:49 +03:00
parent f671d84ceb
commit ecf1c2e57b
5 changed files with 43 additions and 26 deletions

View file

@ -19,9 +19,9 @@ namespace libcamera {
class Buffer;
class Camera;
class CameraControlValidator;
class Stream;
class Request
{
public:
@ -36,7 +36,7 @@ public:
Request &operator=(const Request &) = delete;
~Request();
ControlList &controls() { return controls_; }
ControlList &controls() { return *controls_; }
const std::map<Stream *, Buffer *> &buffers() const { return bufferMap_; }
int addBuffer(std::unique_ptr<Buffer> buffer);
Buffer *findBuffer(Stream *stream) const;
@ -56,7 +56,8 @@ private:
bool completeBuffer(Buffer *buffer);
Camera *camera_;
ControlList controls_;
CameraControlValidator *validator_;
ControlList *controls_;
std::map<Stream *, Buffer *> bufferMap_;
std::unordered_set<Buffer *> pending_;