[libcamera-devel,06/12] libcamera: controls: Remove ControlInfo::id

Message ID 20190928152238.23752-7-laurent.pinchart@ideasonboard.com
State Superseded
Headers show
Series
  • Improve the application-facing controls API
Related show

Commit Message

Laurent Pinchart Sept. 28, 2019, 3:22 p.m. UTC
The ControlInfo id member is only used in the toString() method of the
class, and nowhere else externally. The same way that ControlValue
doesn't store a ControlId, ControlInfo shouldn't. Remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 include/libcamera/controls.h        |  4 +---
 src/libcamera/controls.cpp          | 13 +++----------
 src/libcamera/pipeline/uvcvideo.cpp |  2 +-
 src/libcamera/pipeline/vimc.cpp     |  2 +-
 test/controls/control_info.cpp      | 18 ++----------------
 5 files changed, 8 insertions(+), 31 deletions(-)

Comments

Jacopo Mondi Sept. 29, 2019, 10:02 a.m. UTC | #1
Hi Laurent,
   knowing this will help unifying with V4L2ControlInfo:

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j
On Sat, Sep 28, 2019 at 06:22:32PM +0300, Laurent Pinchart wrote:
> The ControlInfo id member is only used in the toString() method of the
> class, and nowhere else externally. The same way that ControlValue
> doesn't store a ControlId, ControlInfo shouldn't. Remove it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  include/libcamera/controls.h        |  4 +---
>  src/libcamera/controls.cpp          | 13 +++----------
>  src/libcamera/pipeline/uvcvideo.cpp |  2 +-
>  src/libcamera/pipeline/vimc.cpp     |  2 +-
>  test/controls/control_info.cpp      | 18 ++----------------
>  5 files changed, 8 insertions(+), 31 deletions(-)
>
> diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
> index d4a74ada1b6a..854ea3b84267 100644
> --- a/include/libcamera/controls.h
> +++ b/include/libcamera/controls.h
> @@ -98,17 +98,15 @@ private:
>  class ControlInfo
>  {
>  public:
> -	explicit ControlInfo(const ControlId &id, const ControlValue &min = 0,
> +	explicit ControlInfo(const ControlValue &min = 0,
>  			     const ControlValue &max = 0);
>
> -	const ControlId &id() const { return id_; }
>  	const ControlValue &min() const { return min_; }
>  	const ControlValue &max() const { return max_; }
>
>  	std::string toString() const;
>
>  private:
> -	const ControlId &id_;
>  	ControlValue min_;
>  	ControlValue max_;
>  };
> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
> index 62cb2ff822bb..6a3bb353792d 100644
> --- a/src/libcamera/controls.cpp
> +++ b/src/libcamera/controls.cpp
> @@ -323,22 +323,15 @@ Control<int64_t>::Control(unsigned int id, const char *name)
>
>  /**
>   * \brief Construct a ControlInfo with minimum and maximum range parameters
> - * \param[in] id The control ID
>   * \param[in] min The control minimum value
>   * \param[in] max The control maximum value
>   */
> -ControlInfo::ControlInfo(const ControlId &id, const ControlValue &min,
> +ControlInfo::ControlInfo(const ControlValue &min,
>  			 const ControlValue &max)
> -	: id_(id), min_(min), max_(max)
> +	: min_(min), max_(max)
>  {
>  }
>
> -/**
> - * \fn ControlInfo::id()
> - * \brief Retrieve the control ID
> - * \return The control ID
> - */
> -
>  /**
>   * \fn ControlInfo::min()
>   * \brief Retrieve the minimum value of the control
> @@ -358,7 +351,7 @@ std::string ControlInfo::toString() const
>  {
>  	std::stringstream ss;
>
> -	ss << id_.name() << "[" << min_.toString() << ".." << max_.toString() << "]";
> +	ss << "[" << min_.toString() << ".." << max_.toString() << "]";
>
>  	return ss.str();
>  }
> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
> index 44e19f40f1b9..3635ea83a7b1 100644
> --- a/src/libcamera/pipeline/uvcvideo.cpp
> +++ b/src/libcamera/pipeline/uvcvideo.cpp
> @@ -364,7 +364,7 @@ int UVCCameraData::init(MediaEntity *entity)
>
>  		controlInfo_.emplace(std::piecewise_construct,
>  				     std::forward_as_tuple(id),
> -				     std::forward_as_tuple(*id, info.min(), info.max()));
> +				     std::forward_as_tuple(info.min(), info.max()));
>  	}
>
>  	return 0;
> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
> index a48febf2172e..d9dd031e173c 100644
> --- a/src/libcamera/pipeline/vimc.cpp
> +++ b/src/libcamera/pipeline/vimc.cpp
> @@ -437,7 +437,7 @@ int VimcCameraData::init(MediaDevice *media)
>
>  		controlInfo_.emplace(std::piecewise_construct,
>  				     std::forward_as_tuple(id),
> -				     std::forward_as_tuple(*id, info.min(), info.max()));
> +				     std::forward_as_tuple(info.min(), info.max()));
>  	}
>
>  	return 0;
> diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp
> index dbc43df8e3d3..9cf59185e459 100644
> --- a/test/controls/control_info.cpp
> +++ b/test/controls/control_info.cpp
> @@ -24,14 +24,7 @@ protected:
>  		 * Test information retrieval from a control with no minimum
>  		 * and maximum.
>  		 */
> -		ControlInfo brightness(controls::Brightness);
> -
> -		if (brightness.id() != controls::Brightness ||
> -		    brightness.id().type() != ControlTypeInteger32 ||
> -		    brightness.id().name() != std::string("Brightness")) {
> -			cout << "Invalid control identification for Brightness" << endl;
> -			return TestFail;
> -		}
> +		ControlInfo brightness;
>
>  		if (brightness.min().get<int32_t>() != 0 ||
>  		    brightness.max().get<int32_t>() != 0) {
> @@ -43,14 +36,7 @@ protected:
>  		 * Test information retrieval from a control with a minimum and
>  		 * a maximum value.
>  		 */
> -		ControlInfo contrast(controls::Contrast, 10, 200);
> -
> -		if (contrast.id() != controls::Contrast ||
> -		    contrast.id().type() != ControlTypeInteger32 ||
> -		    contrast.id().name() != std::string("Contrast")) {
> -			cout << "Invalid control identification for Contrast" << endl;
> -			return TestFail;
> -		}
> +		ControlInfo contrast(10, 200);
>
>  		if (contrast.min().get<int32_t>() != 10 ||
>  		    contrast.max().get<int32_t>() != 200) {
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index d4a74ada1b6a..854ea3b84267 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -98,17 +98,15 @@  private:
 class ControlInfo
 {
 public:
-	explicit ControlInfo(const ControlId &id, const ControlValue &min = 0,
+	explicit ControlInfo(const ControlValue &min = 0,
 			     const ControlValue &max = 0);
 
-	const ControlId &id() const { return id_; }
 	const ControlValue &min() const { return min_; }
 	const ControlValue &max() const { return max_; }
 
 	std::string toString() const;
 
 private:
-	const ControlId &id_;
 	ControlValue min_;
 	ControlValue max_;
 };
diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
index 62cb2ff822bb..6a3bb353792d 100644
--- a/src/libcamera/controls.cpp
+++ b/src/libcamera/controls.cpp
@@ -323,22 +323,15 @@  Control<int64_t>::Control(unsigned int id, const char *name)
 
 /**
  * \brief Construct a ControlInfo with minimum and maximum range parameters
- * \param[in] id The control ID
  * \param[in] min The control minimum value
  * \param[in] max The control maximum value
  */
-ControlInfo::ControlInfo(const ControlId &id, const ControlValue &min,
+ControlInfo::ControlInfo(const ControlValue &min,
 			 const ControlValue &max)
-	: id_(id), min_(min), max_(max)
+	: min_(min), max_(max)
 {
 }
 
-/**
- * \fn ControlInfo::id()
- * \brief Retrieve the control ID
- * \return The control ID
- */
-
 /**
  * \fn ControlInfo::min()
  * \brief Retrieve the minimum value of the control
@@ -358,7 +351,7 @@  std::string ControlInfo::toString() const
 {
 	std::stringstream ss;
 
-	ss << id_.name() << "[" << min_.toString() << ".." << max_.toString() << "]";
+	ss << "[" << min_.toString() << ".." << max_.toString() << "]";
 
 	return ss.str();
 }
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index 44e19f40f1b9..3635ea83a7b1 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -364,7 +364,7 @@  int UVCCameraData::init(MediaEntity *entity)
 
 		controlInfo_.emplace(std::piecewise_construct,
 				     std::forward_as_tuple(id),
-				     std::forward_as_tuple(*id, info.min(), info.max()));
+				     std::forward_as_tuple(info.min(), info.max()));
 	}
 
 	return 0;
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp
index a48febf2172e..d9dd031e173c 100644
--- a/src/libcamera/pipeline/vimc.cpp
+++ b/src/libcamera/pipeline/vimc.cpp
@@ -437,7 +437,7 @@  int VimcCameraData::init(MediaDevice *media)
 
 		controlInfo_.emplace(std::piecewise_construct,
 				     std::forward_as_tuple(id),
-				     std::forward_as_tuple(*id, info.min(), info.max()));
+				     std::forward_as_tuple(info.min(), info.max()));
 	}
 
 	return 0;
diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp
index dbc43df8e3d3..9cf59185e459 100644
--- a/test/controls/control_info.cpp
+++ b/test/controls/control_info.cpp
@@ -24,14 +24,7 @@  protected:
 		 * Test information retrieval from a control with no minimum
 		 * and maximum.
 		 */
-		ControlInfo brightness(controls::Brightness);
-
-		if (brightness.id() != controls::Brightness ||
-		    brightness.id().type() != ControlTypeInteger32 ||
-		    brightness.id().name() != std::string("Brightness")) {
-			cout << "Invalid control identification for Brightness" << endl;
-			return TestFail;
-		}
+		ControlInfo brightness;
 
 		if (brightness.min().get<int32_t>() != 0 ||
 		    brightness.max().get<int32_t>() != 0) {
@@ -43,14 +36,7 @@  protected:
 		 * Test information retrieval from a control with a minimum and
 		 * a maximum value.
 		 */
-		ControlInfo contrast(controls::Contrast, 10, 200);
-
-		if (contrast.id() != controls::Contrast ||
-		    contrast.id().type() != ControlTypeInteger32 ||
-		    contrast.id().name() != std::string("Contrast")) {
-			cout << "Invalid control identification for Contrast" << endl;
-			return TestFail;
-		}
+		ControlInfo contrast(10, 200);
 
 		if (contrast.min().get<int32_t>() != 10 ||
 		    contrast.max().get<int32_t>() != 200) {