IVGCVSW-3948 Add Profiling config to Runtime constructor

Change-Id: Ib5cb85e620ed2cd76a85d423b2674b5d80981be9
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
diff --git a/Android.mk b/Android.mk
index 6bf9a50..fcbab68 100644
--- a/Android.mk
+++ b/Android.mk
@@ -169,7 +169,28 @@
         src/armnn/layers/StridedSliceLayer.cpp \
         src/armnn/layers/SubtractionLayer.cpp \
         src/armnn/layers/SwitchLayer.cpp \
-        src/armnn/layers/TransposeConvolution2dLayer.cpp
+        src/armnn/layers/TransposeConvolution2dLayer.cpp \
+        src/profiling/BufferManager.cpp \
+        src/profiling/CommandHandler.cpp \
+        src/profiling/CommandHandlerFunctor.cpp \
+        src/profiling/CommandHandlerKey.cpp \
+        src/profiling/CommandHandlerRegistry.cpp \
+        src/profiling/ConnectionAcknowledgedCommandHandler.cpp \
+        src/profiling/CounterDirectory.cpp \
+        src/profiling/Holder.cpp \
+        src/profiling/PacketBuffer.cpp \
+        src/profiling/Packet.cpp \
+        src/profiling/PacketVersionResolver.cpp \
+        src/profiling/PeriodicCounterCapture.cpp \
+        src/profiling/PeriodicCounterSelectionCommandHandler.cpp \
+        src/profiling/ProfilingConnectionDumpToFileDecorator.cpp \
+        src/profiling/ProfilingConnectionFactory.cpp \
+        src/profiling/ProfilingService.cpp \
+        src/profiling/ProfilingStateMachine.cpp \
+        src/profiling/ProfilingUtils.cpp \
+        src/profiling/RequestCounterDirectoryCommandHandler.cpp \
+        src/profiling/SendCounterPacket.cpp \
+        src/profiling/SocketProfilingConnection.cpp
 
 LOCAL_STATIC_LIBRARIES := \
         armnn-arm_compute \
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp
index e478356..dd46708 100644
--- a/src/armnn/Runtime.cpp
+++ b/src/armnn/Runtime.cpp
@@ -10,6 +10,8 @@
 #include <backendsCommon/IBackendContext.hpp>
 #include <backendsCommon/DynamicBackendUtils.hpp>
 
+#include "../profiling/ProfilingService.hpp"
+
 #include <iostream>
 
 #include <boost/log/trivial.hpp>
@@ -146,6 +148,9 @@
 {
     BOOST_LOG_TRIVIAL(info) << "ArmNN v" << ARMNN_VERSION << "\n";
 
+    // pass configuration info to the profiling service
+    armnn::profiling::ProfilingService::Instance().ResetExternalProfilingOptions(options.m_ProfilingOptions);
+
     // Load any available/compatible dynamic backend before the runtime
     // goes through the backend registry
     LoadDynamicBackends(options.m_DynamicBackendsPath);
diff --git a/src/profiling/CommandHandlerFunctor.hpp b/src/profiling/CommandHandlerFunctor.hpp
index 2e1e05f..7aaab58 100644
--- a/src/profiling/CommandHandlerFunctor.hpp
+++ b/src/profiling/CommandHandlerFunctor.hpp
@@ -28,6 +28,8 @@
 
     virtual void operator()(const Packet& packet) {}
 
+    virtual ~CommandHandlerFunctor() {}
+
 private:
     uint32_t m_PacketId;
     uint32_t m_Version;