diff options
-rw-r--r-- | include/libcamera/controls.h | 10 | ||||
-rw-r--r-- | src/libcamera/controls.cpp | 94 |
2 files changed, 52 insertions, 52 deletions
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index 458b84e8..9f8a9031 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -33,11 +33,6 @@ public: ControlType type() const { return type_; } bool isNone() const { return type_ == ControlTypeNone; } - template<typename T> - const T &get() const; - template<typename T> - void set(const T &value); - std::string toString() const; bool operator==(const ControlValue &other) const; @@ -46,6 +41,11 @@ public: return !(*this == other); } + template<typename T> + const T &get() const; + template<typename T> + void set(const T &value); + private: ControlType type_; diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp index 0031cd06..613e6d76 100644 --- a/src/libcamera/controls.cpp +++ b/src/libcamera/controls.cpp @@ -113,6 +113,53 @@ ControlValue::ControlValue(int64_t value) */ /** + * \brief Assemble and return a string describing the value + * \return A string describing the ControlValue + */ +std::string ControlValue::toString() const +{ + switch (type_) { + case ControlTypeNone: + return "<None>"; + case ControlTypeBool: + return bool_ ? "True" : "False"; + case ControlTypeInteger32: + return std::to_string(integer32_); + case ControlTypeInteger64: + return std::to_string(integer64_); + } + + return "<ValueType Error>"; +} + +/** + * \brief Compare ControlValue instances for equality + * \return True if the values have identical types and values, false otherwise + */ +bool ControlValue::operator==(const ControlValue &other) const +{ + if (type_ != other.type_) + return false; + + switch (type_) { + case ControlTypeBool: + return bool_ == other.bool_; + case ControlTypeInteger32: + return integer32_ == other.integer32_; + case ControlTypeInteger64: + return integer64_ == other.integer64_; + default: + return false; + } +} + +/** + * \fn bool ControlValue::operator!=() + * \brief Compare ControlValue instances for non equality + * \return False if the values have identical types and values, true otherwise + */ + +/** * \fn template<typename T> const T &ControlValue::get() const * \brief Get the control value * @@ -176,53 +223,6 @@ void ControlValue::set<int64_t>(const int64_t &value) #endif /* __DOXYGEN__ */ /** - * \brief Assemble and return a string describing the value - * \return A string describing the ControlValue - */ -std::string ControlValue::toString() const -{ - switch (type_) { - case ControlTypeNone: - return "<None>"; - case ControlTypeBool: - return bool_ ? "True" : "False"; - case ControlTypeInteger32: - return std::to_string(integer32_); - case ControlTypeInteger64: - return std::to_string(integer64_); - } - - return "<ValueType Error>"; -} - -/** - * \brief Compare ControlValue instances for equality - * \return True if the values have identical types and values, false otherwise - */ -bool ControlValue::operator==(const ControlValue &other) const -{ - if (type_ != other.type_) - return false; - - switch (type_) { - case ControlTypeBool: - return bool_ == other.bool_; - case ControlTypeInteger32: - return integer32_ == other.integer32_; - case ControlTypeInteger64: - return integer64_ == other.integer64_; - default: - return false; - } -} - -/** - * \fn bool ControlValue::operator!=() - * \brief Compare ControlValue instances for non equality - * \return False if the values have identical types and values, true otherwise - */ - -/** * \class ControlId * \brief Control static metadata * |