diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index a0379d52..d692e088 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -189,6 +189,7 @@ private: using ControlListMap = std::unordered_map; public: + ControlList(); ControlList(const ControlIdMap &idmap, ControlValidator *validator = nullptr); ControlList(const ControlInfoMap &info, ControlValidator *validator = nullptr); diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp index 50f37c6b..9c6474ad 100644 --- a/src/libcamera/controls.cpp +++ b/src/libcamera/controls.cpp @@ -590,6 +590,17 @@ void ControlInfoMap::generateIdmap() * controls. */ +/** + * \brief Construct a ControlList not associated with any object + * + * This constructor is meant to support ControlList serialization and shall not + * be used directly by application. + */ +ControlList::ControlList() + : validator_(nullptr), idmap_(nullptr) +{ +} + /** * \brief Construct a ControlList with an optional control validator * \param[in] idmap The ControlId map for the control list target object