IVGCVSW-4338 Implement the Activation of Counters in backends

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
diff --git a/src/profiling/Holder.cpp b/src/profiling/Holder.cpp
index 41c2993..a366898 100644
--- a/src/profiling/Holder.cpp
+++ b/src/profiling/Holder.cpp
@@ -3,6 +3,7 @@
 // SPDX-License-Identifier: MIT
 //
 
+#include <armnn/BackendId.hpp>
 #include "Holder.hpp"
 
 namespace armnn
@@ -13,12 +14,18 @@
 
 CaptureData& CaptureData::operator=(const CaptureData& other)
 {
-    m_CapturePeriod = other.m_CapturePeriod;
-    m_CounterIds    = other.m_CounterIds;
+    m_CapturePeriod  = other.m_CapturePeriod;
+    m_CounterIds     = other.m_CounterIds;
+    m_ActiveBackends = other.m_ActiveBackends;
 
     return *this;
 }
 
+void CaptureData::SetActiveBackends(const std::set<armnn::BackendId>& activeBackends)
+{
+    m_ActiveBackends = activeBackends;
+}
+
 void CaptureData::SetCapturePeriod(uint32_t capturePeriod)
 {
     m_CapturePeriod = capturePeriod;
@@ -29,6 +36,11 @@
     m_CounterIds = counterIds;
 }
 
+const std::set<armnn::BackendId>& CaptureData::GetActiveBackends() const
+{
+    return m_ActiveBackends;
+}
+
 uint32_t CaptureData::GetCapturePeriod() const
 {
     return m_CapturePeriod;
@@ -59,12 +71,16 @@
     return false;
 }
 
-void Holder::SetCaptureData(uint32_t capturePeriod, const std::vector<uint16_t>& counterIds)
+void Holder::SetCaptureData(uint32_t capturePeriod,
+                            const std::vector<uint16_t>& counterIds,
+                            const std::set<armnn::BackendId>& activeBackends)
 {
     std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex);
 
     m_CaptureData.SetCapturePeriod(capturePeriod);
     m_CaptureData.SetCounterIds(counterIds);
+    m_CaptureData.SetActiveBackends(activeBackends);
+
 }
 
 } // namespace profiling