[libcamera-devel,v5,2/5] ipa: raspberrypi: Reformat RPiController::Metadata class header
diff mbox series

Message ID 20210419133451.263733-3-naush@raspberrypi.com
State Accepted
Headers show
Series
  • ipa: raspberrypi: Rate-limit the controller algorithms
Related show

Commit Message

Naushir Patuck April 19, 2021, 1:34 p.m. UTC
Rearrange header includes to be in alphabetical order.
Add whitespace to class definition to match libcamera coding guidelines.
Fix a typo in the comment showing an example of scoped locks.

There are no functional changes in this commit.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/ipa/raspberrypi/controller/metadata.hpp | 23 ++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

Comments

David Plowman April 19, 2021, 1:47 p.m. UTC | #1
Hi Naush

Thanks for the patch. All looks good to me!

On Mon, 19 Apr 2021 at 14:35, Naushir Patuck <naush@raspberrypi.com> wrote:
>
> Rearrange header includes to be in alphabetical order.
> Add whitespace to class definition to match libcamera coding guidelines.
> Fix a typo in the comment showing an example of scoped locks.
>
> There are no functional changes in this commit.
>
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>

Reviewed-by: David Plowman <david.plowman@raspberrypi.com>

Best regards
David

> ---
>  src/ipa/raspberrypi/controller/metadata.hpp | 23 ++++++++++++++-------
>  1 file changed, 16 insertions(+), 7 deletions(-)
>
> diff --git a/src/ipa/raspberrypi/controller/metadata.hpp b/src/ipa/raspberrypi/controller/metadata.hpp
> index 4f44ffc6771c..07dd28ed9e0a 100644
> --- a/src/ipa/raspberrypi/controller/metadata.hpp
> +++ b/src/ipa/raspberrypi/controller/metadata.hpp
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: BSD-2-Clause */
>  /*
> - * Copyright (C) 2019, Raspberry Pi (Trading) Limited
> + * Copyright (C) 2019-2021, Raspberry Pi (Trading) Limited
>   *
>   * metadata.hpp - general metadata class
>   */
> @@ -9,22 +9,25 @@
>  // A simple class for carrying arbitrary metadata, for example about an image.
>
>  #include <any>
> -#include <string>
> -#include <mutex>
>  #include <map>
>  #include <memory>
> +#include <mutex>
> +#include <string>
>
>  namespace RPiController {
>
>  class Metadata
>  {
>  public:
> -       template<typename T> void Set(std::string const &tag, T const &value)
> +       template<typename T>
> +       void Set(std::string const &tag, T const &value)
>         {
>                 std::lock_guard<std::mutex> lock(mutex_);
>                 data_[tag] = value;
>         }
> -       template<typename T> int Get(std::string const &tag, T &value) const
> +
> +       template<typename T>
> +       int Get(std::string const &tag, T &value) const
>         {
>                 std::lock_guard<std::mutex> lock(mutex_);
>                 auto it = data_.find(tag);
> @@ -33,11 +36,13 @@ public:
>                 value = std::any_cast<T>(it->second);
>                 return 0;
>         }
> +
>         void Clear()
>         {
>                 std::lock_guard<std::mutex> lock(mutex_);
>                 data_.clear();
>         }
> +
>         Metadata &operator=(Metadata const &other)
>         {
>                 std::lock_guard<std::mutex> lock(mutex_);
> @@ -45,7 +50,9 @@ public:
>                 data_ = other.data_;
>                 return *this;
>         }
> -       template<typename T> T *GetLocked(std::string const &tag)
> +
> +       template<typename T>
> +       T *GetLocked(std::string const &tag)
>         {
>                 // This allows in-place access to the Metadata contents,
>                 // for which you should be holding the lock.
> @@ -54,15 +61,17 @@ public:
>                         return nullptr;
>                 return std::any_cast<T>(&it->second);
>         }
> +
>         template<typename T>
>         void SetLocked(std::string const &tag, T const &value)
>         {
>                 // Use this only if you're holding the lock yourself.
>                 data_[tag] = value;
>         }
> +
>         // Note: use of (lowercase) lock and unlock means you can create scoped
>         // locks with the standard lock classes.
> -       // e.g. std::lock_guard<PisP::Metadata> lock(metadata)
> +       // e.g. std::lock_guard<RPiController::Metadata> lock(metadata)
>         void lock() { mutex_.lock(); }
>         void unlock() { mutex_.unlock(); }
>
> --
> 2.25.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
Laurent Pinchart April 27, 2021, 7:14 a.m. UTC | #2
Hi Naush,

Thank you for the patch.

On Mon, Apr 19, 2021 at 02:34:48PM +0100, Naushir Patuck wrote:
> Rearrange header includes to be in alphabetical order.
> Add whitespace to class definition to match libcamera coding guidelines.
> Fix a typo in the comment showing an example of scoped locks.

Sweet, it looks nicer. To me at least :-)

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> There are no functional changes in this commit.
> 
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
> ---
>  src/ipa/raspberrypi/controller/metadata.hpp | 23 ++++++++++++++-------
>  1 file changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/src/ipa/raspberrypi/controller/metadata.hpp b/src/ipa/raspberrypi/controller/metadata.hpp
> index 4f44ffc6771c..07dd28ed9e0a 100644
> --- a/src/ipa/raspberrypi/controller/metadata.hpp
> +++ b/src/ipa/raspberrypi/controller/metadata.hpp
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: BSD-2-Clause */
>  /*
> - * Copyright (C) 2019, Raspberry Pi (Trading) Limited
> + * Copyright (C) 2019-2021, Raspberry Pi (Trading) Limited
>   *
>   * metadata.hpp - general metadata class
>   */
> @@ -9,22 +9,25 @@
>  // A simple class for carrying arbitrary metadata, for example about an image.
>  
>  #include <any>
> -#include <string>
> -#include <mutex>
>  #include <map>
>  #include <memory>
> +#include <mutex>
> +#include <string>
>  
>  namespace RPiController {
>  
>  class Metadata
>  {
>  public:
> -	template<typename T> void Set(std::string const &tag, T const &value)
> +	template<typename T>
> +	void Set(std::string const &tag, T const &value)
>  	{
>  		std::lock_guard<std::mutex> lock(mutex_);
>  		data_[tag] = value;
>  	}
> -	template<typename T> int Get(std::string const &tag, T &value) const
> +
> +	template<typename T>
> +	int Get(std::string const &tag, T &value) const
>  	{
>  		std::lock_guard<std::mutex> lock(mutex_);
>  		auto it = data_.find(tag);
> @@ -33,11 +36,13 @@ public:
>  		value = std::any_cast<T>(it->second);
>  		return 0;
>  	}
> +
>  	void Clear()
>  	{
>  		std::lock_guard<std::mutex> lock(mutex_);
>  		data_.clear();
>  	}
> +
>  	Metadata &operator=(Metadata const &other)
>  	{
>  		std::lock_guard<std::mutex> lock(mutex_);
> @@ -45,7 +50,9 @@ public:
>  		data_ = other.data_;
>  		return *this;
>  	}
> -	template<typename T> T *GetLocked(std::string const &tag)
> +
> +	template<typename T>
> +	T *GetLocked(std::string const &tag)
>  	{
>  		// This allows in-place access to the Metadata contents,
>  		// for which you should be holding the lock.
> @@ -54,15 +61,17 @@ public:
>  			return nullptr;
>  		return std::any_cast<T>(&it->second);
>  	}
> +
>  	template<typename T>
>  	void SetLocked(std::string const &tag, T const &value)
>  	{
>  		// Use this only if you're holding the lock yourself.
>  		data_[tag] = value;
>  	}
> +
>  	// Note: use of (lowercase) lock and unlock means you can create scoped
>  	// locks with the standard lock classes.
> -	// e.g. std::lock_guard<PisP::Metadata> lock(metadata)
> +	// e.g. std::lock_guard<RPiController::Metadata> lock(metadata)
>  	void lock() { mutex_.lock(); }
>  	void unlock() { mutex_.unlock(); }
>

Patch
diff mbox series

diff --git a/src/ipa/raspberrypi/controller/metadata.hpp b/src/ipa/raspberrypi/controller/metadata.hpp
index 4f44ffc6771c..07dd28ed9e0a 100644
--- a/src/ipa/raspberrypi/controller/metadata.hpp
+++ b/src/ipa/raspberrypi/controller/metadata.hpp
@@ -1,6 +1,6 @@ 
 /* SPDX-License-Identifier: BSD-2-Clause */
 /*
- * Copyright (C) 2019, Raspberry Pi (Trading) Limited
+ * Copyright (C) 2019-2021, Raspberry Pi (Trading) Limited
  *
  * metadata.hpp - general metadata class
  */
@@ -9,22 +9,25 @@ 
 // A simple class for carrying arbitrary metadata, for example about an image.
 
 #include <any>
-#include <string>
-#include <mutex>
 #include <map>
 #include <memory>
+#include <mutex>
+#include <string>
 
 namespace RPiController {
 
 class Metadata
 {
 public:
-	template<typename T> void Set(std::string const &tag, T const &value)
+	template<typename T>
+	void Set(std::string const &tag, T const &value)
 	{
 		std::lock_guard<std::mutex> lock(mutex_);
 		data_[tag] = value;
 	}
-	template<typename T> int Get(std::string const &tag, T &value) const
+
+	template<typename T>
+	int Get(std::string const &tag, T &value) const
 	{
 		std::lock_guard<std::mutex> lock(mutex_);
 		auto it = data_.find(tag);
@@ -33,11 +36,13 @@  public:
 		value = std::any_cast<T>(it->second);
 		return 0;
 	}
+
 	void Clear()
 	{
 		std::lock_guard<std::mutex> lock(mutex_);
 		data_.clear();
 	}
+
 	Metadata &operator=(Metadata const &other)
 	{
 		std::lock_guard<std::mutex> lock(mutex_);
@@ -45,7 +50,9 @@  public:
 		data_ = other.data_;
 		return *this;
 	}
-	template<typename T> T *GetLocked(std::string const &tag)
+
+	template<typename T>
+	T *GetLocked(std::string const &tag)
 	{
 		// This allows in-place access to the Metadata contents,
 		// for which you should be holding the lock.
@@ -54,15 +61,17 @@  public:
 			return nullptr;
 		return std::any_cast<T>(&it->second);
 	}
+
 	template<typename T>
 	void SetLocked(std::string const &tag, T const &value)
 	{
 		// Use this only if you're holding the lock yourself.
 		data_[tag] = value;
 	}
+
 	// Note: use of (lowercase) lock and unlock means you can create scoped
 	// locks with the standard lock classes.
-	// e.g. std::lock_guard<PisP::Metadata> lock(metadata)
+	// e.g. std::lock_guard<RPiController::Metadata> lock(metadata)
 	void lock() { mutex_.lock(); }
 	void unlock() { mutex_.unlock(); }