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 --- include/libcamera/controls.h | 6 +++--- include/libcamera/request.h | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index d3eea643..90426753 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -13,7 +13,7 @@ namespace libcamera { -class Camera; +class ControlValidator; enum ControlType { ControlTypeNone, @@ -119,7 +119,7 @@ private: using ControlListMap = std::unordered_map; public: - ControlList(Camera *camera); + ControlList(ControlValidator *validator); using iterator = ControlListMap::iterator; using const_iterator = ControlListMap::const_iterator; @@ -160,7 +160,7 @@ private: const ControlValue *find(const ControlId &id) const; ControlValue *find(const ControlId &id); - Camera *camera_; + ControlValidator *validator_; ControlListMap controls_; }; diff --git a/include/libcamera/request.h b/include/libcamera/request.h index 9edf1ced..e3db5243 100644 --- a/include/libcamera/request.h +++ b/include/libcamera/request.h @@ -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 &buffers() const { return bufferMap_; } int addBuffer(std::unique_ptr 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 bufferMap_; std::unordered_set pending_; -- cgit v1.2.1