mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-24 00:55:07 +03:00
libcamera: controls: Make ControlValue get/set accessors template methods
The ControlValue get accessors are implemented with functions of different names, whlie the set accessors use polymorphism to support different control types. This isn't very consistent and intuitive. Make the API clearer by using template methods. This will also have the added advantage that support for the new types will only require adding template specialisations, without adding new methods. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
parent
c5dfd9d57e
commit
224ef9776a
7 changed files with 69 additions and 81 deletions
|
@ -36,13 +36,10 @@ public:
|
|||
ControlType type() const { return type_; };
|
||||
bool isNone() const { return type_ == ControlTypeNone; };
|
||||
|
||||
void set(bool value);
|
||||
void set(int value);
|
||||
void set(int64_t value);
|
||||
|
||||
bool getBool() const;
|
||||
int getInt() const;
|
||||
int64_t getInt64() const;
|
||||
template<typename T>
|
||||
const T &get() const;
|
||||
template<typename T>
|
||||
void set(const T &value);
|
||||
|
||||
std::string toString() const;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue