libcamera: control_ids: Generate map of all supported controls
In order to deserialise a ControlList, we will need to lookup ControlId instances based on their numerical ID. Generate a global map from the controls definitions to support such a lookup. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
@@ -24,6 +24,8 @@ ${ids}
|
||||
|
||||
${controls}
|
||||
|
||||
extern const ControlIdMap controls;
|
||||
|
||||
} /* namespace controls */
|
||||
|
||||
} /* namespace libcamera */
|
||||
|
||||
@@ -111,6 +111,7 @@ private:
|
||||
ControlValue max_;
|
||||
};
|
||||
|
||||
using ControlIdMap = std::unordered_map<unsigned int, const ControlId *>;
|
||||
using ControlInfoMap = std::unordered_map<const ControlId *, ControlRange>;
|
||||
|
||||
class ControlList
|
||||
|
||||
Reference in New Issue
Block a user