IVGCVSW-4319 Implement Counter Status Querying

* Adds implementations for GetCounterStatus and
  GetActiveCounters.
* Adds CheckCounterStatusQuery in ProfilingTests.
* Modifies Holder and ProfilingService to open
  up access to CaptureData for use by
  BackendProfiling.

Signed-off-by: James Conroy <james.conroy@arm.com>
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Iec47952545c0072a71088b12ca3dc31673fa9c51
diff --git a/include/armnn/backends/profiling/IBackendProfiling.hpp b/include/armnn/backends/profiling/IBackendProfiling.hpp
index d3c5299..a649ece 100644
--- a/include/armnn/backends/profiling/IBackendProfiling.hpp
+++ b/include/armnn/backends/profiling/IBackendProfiling.hpp
@@ -30,6 +30,14 @@
 
 struct CounterStatus
 {
+    CounterStatus(uint16_t backendCounterId,
+                  uint16_t globalCounterId,
+                  bool enabled,
+                  uint32_t samplingRateInMicroseconds)
+                  : m_BackendCounterId(backendCounterId),
+                    m_GlobalCounterId(globalCounterId),
+                    m_Enabled(enabled),
+                    m_SamplingRateInMicroseconds(samplingRateInMicroseconds) {}
     uint16_t m_BackendCounterId;
     uint16_t m_GlobalCounterId;
     bool     m_Enabled;
@@ -73,7 +81,7 @@
     {}
 
     virtual std::unique_ptr<IRegisterBackendCounters>
-        GetCounterRegistrationInterface(uint16_t currentMaxGlobalCounterID) = 0;
+            GetCounterRegistrationInterface(uint16_t currentMaxGlobalCounterID) = 0;
 
     virtual std::unique_ptr<ISendTimelinePacket> GetSendTimelinePacket() = 0;
 
@@ -88,5 +96,7 @@
     virtual bool IsProfilingEnabled() const = 0;
 
 };
+
 }    // namespace profiling
+
 }    // namespace armnn
\ No newline at end of file