[libcamera-devel,RFC,12/17] libcamera: IPAProxy: Add isolate parameter to create()

Message ID 20200826110926.67192-13-paul.elder@ideasonboard.com
State Superseded
Headers show
Series
  • [libcamera-devel,RFC,01/17] IPA: IPC: raspberrypi: Add data definition and generated header
Related show

Commit Message

Paul Elder Aug. 26, 2020, 11:09 a.m. UTC
Since IPAProxy implementations now always encapsulate IPA modules, add a
parameter to create() to signal if the proxy should isolate the IPA or not.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 include/libcamera/internal/ipa_proxy.h | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

Patch

diff --git a/include/libcamera/internal/ipa_proxy.h b/include/libcamera/internal/ipa_proxy.h
index aec8f04f..1903150e 100644
--- a/include/libcamera/internal/ipa_proxy.h
+++ b/include/libcamera/internal/ipa_proxy.h
@@ -42,7 +42,7 @@  public:
 	IPAProxyFactory(const char *name);
 	virtual ~IPAProxyFactory() {}
 
-	virtual std::unique_ptr<IPAProxy> create(IPAModule *ipam) = 0;
+	virtual std::unique_ptr<IPAProxy> create(IPAModule *ipam, bool isolate) = 0;
 
 	const std::string &name() const { return name_; }
 
@@ -53,16 +53,16 @@  private:
 	std::string name_;
 };
 
-#define REGISTER_IPA_PROXY(proxy)			\
-class proxy##Factory final : public IPAProxyFactory	\
-{							\
-public:							\
-	proxy##Factory() : IPAProxyFactory(#proxy) {}	\
-	std::unique_ptr<IPAProxy> create(IPAModule *ipam)	\
-	{						\
-		return std::make_unique<proxy>(ipam);	\
-	}						\
-};							\
+#define REGISTER_IPA_PROXY(proxy)					\
+class proxy##Factory final : public IPAProxyFactory			\
+{									\
+public:									\
+	proxy##Factory() : IPAProxyFactory(#proxy) {}			\
+	std::unique_ptr<IPAProxy> create(IPAModule *ipam, bool isolate)	\
+	{								\
+		return std::make_unique<proxy>(ipam, isolate);		\
+	}								\
+};									\
 static proxy##Factory global_##proxy##Factory;
 
 } /* namespace libcamera */