69 explicit AutoTarget(std::shared_ptr<peak::afl::Controller> controller)
70 : m_controller{ std::move(controller) }
94 void Set(
const uint32_t& value)
override
96 m_controller->SetAutoTarget(value);
115 PEAK_COMMON_NO_DISCARD uint32_t
Get()
const override
117 return m_controller->GetAutoTarget();
142 const auto result = m_controller->GetAutoTargetRange();
143 return { result.min, result.max, result.inc };
182 Set(
static_cast<uint32_t
>(archive.
GetInt(
"AutoTarget")));
193 std::shared_ptr<peak::afl::Controller> m_controller;
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:54
virtual void SetInt(const std::string &key, int64_t value)=0
Stores a 64-bit signed integer.
virtual int64_t GetInt(const std::string &key) const =0
Retrieves a 64-bit signed integer by key.
void Set(const uint32_t &value) override
Sets the auto target brightness value.
Definition peak_afl_auto_target.hpp:94
uint32_t Get() const override
Gets the current auto target brightness value.
Definition peak_afl_auto_target.hpp:115
AutoTarget(std::shared_ptr< peak::afl::Controller > controller)
Constructs an AutoTarget feature with the specified controller.
Definition peak_afl_auto_target.hpp:69
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the current auto target value to an archive.
Definition peak_afl_auto_target.hpp:160
peak::common::RangeU GetRange() const override
Gets the valid range for auto target values.
Definition peak_afl_auto_target.hpp:140
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes the auto target value from an archive.
Definition peak_afl_auto_target.hpp:180
Interface for features that have a valid range of values.
Definition peak_afl_ifeature.hpp:122
detail::RangeT< uint32_t > RangeU
Alias for a range of 32-bit unsigned integers.
Definition peak_common_range.hpp:222
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_afl_generic_auto_brightness.hpp:35
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:33