summaryrefslogtreecommitdiff
path: root/src/libcamera/include/v4l2_controls.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/include/v4l2_controls.h')
-rw-r--r--src/libcamera/include/v4l2_controls.h42
1 files changed, 26 insertions, 16 deletions
diff --git a/src/libcamera/include/v4l2_controls.h b/src/libcamera/include/v4l2_controls.h
index 4d7ac1a1..ca721750 100644
--- a/src/libcamera/include/v4l2_controls.h
+++ b/src/libcamera/include/v4l2_controls.h
@@ -28,31 +28,41 @@ public:
class V4L2ControlInfo
{
public:
- V4L2ControlInfo(const V4L2ControlId &id,
- const struct v4l2_query_ext_ctrl &ctrl);
+ V4L2ControlInfo(const struct v4l2_query_ext_ctrl &ctrl);
- const ControlId &id() const { return *id_; }
const ControlRange &range() const { return range_; }
private:
- const V4L2ControlId *id_;
ControlRange range_;
};
-class V4L2ControlInfoMap : private std::map<unsigned int, V4L2ControlInfo>
+class V4L2ControlInfoMap : private std::map<const ControlId *, V4L2ControlInfo>
{
public:
- V4L2ControlInfoMap &operator=(std::map<unsigned int, V4L2ControlInfo> &&info);
-
- using std::map<unsigned int, V4L2ControlInfo>::begin;
- using std::map<unsigned int, V4L2ControlInfo>::cbegin;
- using std::map<unsigned int, V4L2ControlInfo>::end;
- using std::map<unsigned int, V4L2ControlInfo>::cend;
- using std::map<unsigned int, V4L2ControlInfo>::at;
- using std::map<unsigned int, V4L2ControlInfo>::empty;
- using std::map<unsigned int, V4L2ControlInfo>::size;
- using std::map<unsigned int, V4L2ControlInfo>::count;
- using std::map<unsigned int, V4L2ControlInfo>::find;
+ V4L2ControlInfoMap &operator=(std::map<const ControlId *, V4L2ControlInfo> &&info);
+
+ using std::map<const ControlId *, V4L2ControlInfo>::key_type;
+ using std::map<const ControlId *, V4L2ControlInfo>::mapped_type;
+ using std::map<const ControlId *, V4L2ControlInfo>::value_type;
+ using std::map<const ControlId *, V4L2ControlInfo>::size_type;
+ using std::map<const ControlId *, V4L2ControlInfo>::iterator;
+ using std::map<const ControlId *, V4L2ControlInfo>::const_iterator;
+
+ using std::map<const ControlId *, V4L2ControlInfo>::begin;
+ using std::map<const ControlId *, V4L2ControlInfo>::cbegin;
+ using std::map<const ControlId *, V4L2ControlInfo>::end;
+ using std::map<const ControlId *, V4L2ControlInfo>::cend;
+ using std::map<const ControlId *, V4L2ControlInfo>::at;
+ using std::map<const ControlId *, V4L2ControlInfo>::empty;
+ using std::map<const ControlId *, V4L2ControlInfo>::size;
+ using std::map<const ControlId *, V4L2ControlInfo>::count;
+ using std::map<const ControlId *, V4L2ControlInfo>::find;
+
+ mapped_type &at(unsigned int key);
+ const mapped_type &at(unsigned int key) const;
+ size_type count(unsigned int key) const;
+ iterator find(unsigned int key);
+ const_iterator find(unsigned int key) const;
const ControlIdMap &idmap() const { return idmap_; }