libcamera: Add ControlValidator

The new abstract ControlValidator class defines an interface that will
be used by the ControlList class to validate controls. This will allow
controls to the validated against different object types, such as Camera
and V4L2Device.

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:42:49 +03:00
parent 28535ea1a2
commit aae2b5d666
4 changed files with 74 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* control_validator.h - Control validator
*/
#ifndef __LIBCAMERA_CONTROL_VALIDATOR_H__
#define __LIBCAMERA_CONTROL_VALIDATOR_H__
#include <string>
namespace libcamera {
class ControlId;
class ControlValidator
{
public:
virtual ~ControlValidator() {}
virtual const std::string &name() const = 0;
virtual bool validate(const ControlId &id) const = 0;
};
} /* namespace libcamera */
#endif /* __LIBCAMERA_CONTROL_VALIDATOR_H__ */
+1
View File
@@ -1,5 +1,6 @@
libcamera_headers = files([
'camera_sensor.h',
'control_validator.h',
'device_enumerator.h',
'device_enumerator_sysfs.h',
'device_enumerator_udev.h',