diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/controls.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index cf942055..82b95599 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -352,6 +352,11 @@ private: using ControlListMap = std::unordered_map<unsigned int, ControlValue>; public: + enum class MergePolicy { + KeepExisting = 0, + OverwriteExisting, + }; + ControlList(); ControlList(const ControlIdMap &idmap, const ControlValidator *validator = nullptr); ControlList(const ControlInfoMap &infoMap, const ControlValidator *validator = nullptr); @@ -368,7 +373,7 @@ public: std::size_t size() const { return controls_.size(); } void clear() { controls_.clear(); } - void merge(const ControlList &source); + void merge(const ControlList &source, MergePolicy policy = MergePolicy::KeepExisting); bool contains(unsigned int id) const; |