IVGCVSW-6817 Add IProfilingService& as an argument to the IReportStructure

Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib8e75eea49debe3b1dd8fa72623a55b26cb6ded4
diff --git a/src/profiling/ActivateTimelineReportingCommandHandler.cpp b/src/profiling/ActivateTimelineReportingCommandHandler.cpp
index 7f949d3..940b823 100644
--- a/src/profiling/ActivateTimelineReportingCommandHandler.cpp
+++ b/src/profiling/ActivateTimelineReportingCommandHandler.cpp
@@ -5,6 +5,8 @@
 
 #include "ActivateTimelineReportingCommandHandler.hpp"
 #include "TimelineUtilityMethods.hpp"
+#include <ArmNNProfilingServiceInitialiser.hpp>
+#include <armnn/profiling/ArmNNProfiling.hpp>
 
 #include <armnn/Exceptions.hpp>
 #include <fmt/format.h>
@@ -49,7 +51,10 @@
 
                 m_TimelineReporting = true;
 
-                m_ReportStructure.value().ReportStructure();
+                armnn::ArmNNProfilingServiceInitialiser initialiser;
+                std::unique_ptr<IProfilingService> profilingService = IProfilingService::CreateProfilingService(
+                    arm::pipe::MAX_ARMNN_COUNTER, initialiser);
+                m_ReportStructure.value().ReportStructure(*profilingService);
 
                 m_BackendNotifier.NotifyBackendsForTimelineReporting();
             }
diff --git a/src/profiling/IReportStructure.hpp b/src/profiling/IReportStructure.hpp
index 82a84ff..8891cbd 100644
--- a/src/profiling/IReportStructure.hpp
+++ b/src/profiling/IReportStructure.hpp
@@ -11,11 +11,13 @@
 namespace pipe
 {
 
+class IProfilingService;
+
 class IReportStructure
 {
 public:
     virtual ~IReportStructure() {}
-    virtual void ReportStructure() = 0;
+    virtual void ReportStructure(arm::pipe::IProfilingService& profilingService) = 0;
 };
 
 } // namespace pipe
diff --git a/src/profiling/test/ProfilingTests.cpp b/src/profiling/test/ProfilingTests.cpp
index fd26703..128e1f1 100644
--- a/src/profiling/test/ProfilingTests.cpp
+++ b/src/profiling/test/ProfilingTests.cpp
@@ -1910,7 +1910,7 @@
     class TestReportStructure : public IReportStructure
     {
         public:
-        virtual void ReportStructure() override
+        virtual void ReportStructure(arm::pipe::IProfilingService& profilingService) override
         {
             m_ReportStructureCalled = true;
         }