IVGCVSW-4731 Move Packet.hpp to profiling/common/include

 * Refactor profiling cmake to fix inconsistencies/issues with includes

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I0836762d4c72e25754a28162ec54c8e332422a02
diff --git a/src/profiling/ActivateTimelineReportingCommandHandler.hpp b/src/profiling/ActivateTimelineReportingCommandHandler.hpp
index ac11b46..a0a2de0 100644
--- a/src/profiling/ActivateTimelineReportingCommandHandler.hpp
+++ b/src/profiling/ActivateTimelineReportingCommandHandler.hpp
@@ -7,12 +7,15 @@
 
 #include "CommandHandlerFunctor.hpp"
 #include "ProfilingStateMachine.hpp"
-#include "Packet.hpp"
 #include "SendTimelinePacket.hpp"
 #include "IReportStructure.hpp"
-#include "armnn/Optional.hpp"
 #include "INotifyBackends.hpp"
 
+#include "armnn/Optional.hpp"
+
+#include "common/include/Packet.hpp"
+
+
 namespace armnn
 {
 
diff --git a/src/profiling/CommandHandlerFunctor.hpp b/src/profiling/CommandHandlerFunctor.hpp
index 743bb93..8096c41 100644
--- a/src/profiling/CommandHandlerFunctor.hpp
+++ b/src/profiling/CommandHandlerFunctor.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 
 #include <armnn/utility/IgnoreUnused.hpp>
 
diff --git a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
index 053d3c3..bcd1eed 100644
--- a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
+++ b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
@@ -9,9 +9,8 @@
 #include "CommandHandlerFunctor.hpp"
 #include "ISendCounterPacket.hpp"
 #include "armnn/profiling/ISendTimelinePacket.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "ProfilingStateMachine.hpp"
-#include <future>
 
 namespace armnn
 {
diff --git a/src/profiling/DeactivateTimelineReportingCommandHandler.hpp b/src/profiling/DeactivateTimelineReportingCommandHandler.hpp
index e06bae8..e9ce63d 100644
--- a/src/profiling/DeactivateTimelineReportingCommandHandler.hpp
+++ b/src/profiling/DeactivateTimelineReportingCommandHandler.hpp
@@ -6,7 +6,7 @@
 #pragma once
 
 #include "CommandHandlerFunctor.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "ProfilingStateMachine.hpp"
 #include "INotifyBackends.hpp"
 
diff --git a/src/profiling/FileOnlyProfilingConnection.hpp b/src/profiling/FileOnlyProfilingConnection.hpp
index 466f4f1..75db477 100644
--- a/src/profiling/FileOnlyProfilingConnection.hpp
+++ b/src/profiling/FileOnlyProfilingConnection.hpp
@@ -8,7 +8,7 @@
 #include <armnn/profiling/ILocalPacketHandler.hpp>
 #include "DirectoryCaptureCommandHandler.hpp"
 #include "IProfilingConnection.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "ProfilingUtils.hpp"
 #include "Runtime.hpp"
 
diff --git a/src/profiling/IProfilingConnection.hpp b/src/profiling/IProfilingConnection.hpp
index 2a1c35f..2fc950e 100644
--- a/src/profiling/IProfilingConnection.hpp
+++ b/src/profiling/IProfilingConnection.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include <armnn/profiling/ILocalPacketHandler.hpp>
 
 #include <cstdint>
diff --git a/src/profiling/Packet.hpp b/src/profiling/Packet.hpp
deleted file mode 100644
index c1f2796..0000000
--- a/src/profiling/Packet.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include <armnn/Exceptions.hpp>
-
-#include <memory>
-
-namespace armnn
-{
-
-namespace profiling
-{
-
-class Packet
-{
-public:
-    Packet()
-        : m_Header(0)
-        , m_Length(0)
-        , m_Data(nullptr)
-    {}
-
-    Packet(uint32_t header)
-        : m_Header(header)
-        , m_Length(0)
-        , m_Data(nullptr)
-    {
-        m_PacketId = ((header >> 16) & 1023);
-        m_PacketFamily = (header >> 26);
-    }
-
-    Packet(uint32_t header, uint32_t length, std::unique_ptr<unsigned char[]>& data)
-        : m_Header(header)
-        , m_Length(length)
-        , m_Data(std::move(data))
-    {
-        m_PacketId = ((header >> 16) & 1023);
-        m_PacketFamily = (header >> 26);
-
-        if (length == 0 && m_Data != nullptr)
-        {
-            throw armnn::InvalidArgumentException("Data should be null when length is zero");
-        }
-    }
-
-    Packet(Packet&& other)
-        : m_Header(other.m_Header)
-        , m_PacketFamily(other.m_PacketFamily)
-        , m_PacketId(other.m_PacketId)
-        , m_Length(other.m_Length)
-        , m_Data(std::move(other.m_Data))
-    {
-        other.m_Header = 0;
-        other.m_PacketFamily = 0;
-        other.m_PacketId = 0;
-        other.m_Length = 0;
-    }
-
-    ~Packet() = default;
-
-    Packet(const Packet& other) = delete;
-    Packet& operator=(const Packet&) = delete;
-    Packet& operator=(Packet&&) = default;
-
-    uint32_t GetHeader() const           { return m_Header;        }
-    uint32_t GetPacketFamily() const     { return m_PacketFamily;  }
-    uint32_t GetPacketId() const         { return m_PacketId;      }
-    uint32_t GetPacketClass() const      { return m_PacketId >> 3; }
-    uint32_t GetPacketType() const       { return m_PacketId & 7;  }
-    uint32_t GetLength() const           { return m_Length;        }
-    const unsigned char* GetData() const { return m_Data.get();    }
-
-    bool IsEmpty() { return m_Header == 0 && m_Length == 0; }
-
-private:
-    uint32_t m_Header;
-    uint32_t m_PacketFamily;
-    uint32_t m_PacketId;
-    uint32_t m_Length;
-    std::unique_ptr<unsigned char[]> m_Data;
-};
-
-} // namespace profiling
-
-} // namespace armnn
diff --git a/src/profiling/PerJobCounterSelectionCommandHandler.hpp b/src/profiling/PerJobCounterSelectionCommandHandler.hpp
index 738a476..16cb02a 100644
--- a/src/profiling/PerJobCounterSelectionCommandHandler.hpp
+++ b/src/profiling/PerJobCounterSelectionCommandHandler.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "CommandHandlerFunctor.hpp"
 #include "ProfilingStateMachine.hpp"
 
diff --git a/src/profiling/PeriodicCounterCapture.hpp b/src/profiling/PeriodicCounterCapture.hpp
index 51ac273..796c494 100644
--- a/src/profiling/PeriodicCounterCapture.hpp
+++ b/src/profiling/PeriodicCounterCapture.hpp
@@ -7,7 +7,7 @@
 
 #include "IPeriodicCounterCapture.hpp"
 #include "Holder.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "SendCounterPacket.hpp"
 #include "ICounterValues.hpp"
 #include "CounterIdMap.hpp"
diff --git a/src/profiling/PeriodicCounterSelectionCommandHandler.hpp b/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
index b59d84c..8cf5595 100644
--- a/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
+++ b/src/profiling/PeriodicCounterSelectionCommandHandler.hpp
@@ -6,7 +6,7 @@
 #pragma once
 
 #include "CounterIdMap.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "CommandHandlerFunctor.hpp"
 #include "Holder.hpp"
 #include "ProfilingStateMachine.hpp"
diff --git a/src/profiling/ProfilingUtils.hpp b/src/profiling/ProfilingUtils.hpp
index e2ffb24..127534a 100644
--- a/src/profiling/ProfilingUtils.hpp
+++ b/src/profiling/ProfilingUtils.hpp
@@ -10,7 +10,8 @@
 
 #include "ICounterDirectory.hpp"
 #include "IPacketBuffer.hpp"
-#include "Packet.hpp"
+
+#include "common/include/Packet.hpp"
 
 #include <boost/numeric/conversion/cast.hpp>
 
diff --git a/src/profiling/RequestCounterDirectoryCommandHandler.hpp b/src/profiling/RequestCounterDirectoryCommandHandler.hpp
index 9ceca3f..ea60ca8 100644
--- a/src/profiling/RequestCounterDirectoryCommandHandler.hpp
+++ b/src/profiling/RequestCounterDirectoryCommandHandler.hpp
@@ -8,7 +8,7 @@
 #include "CommandHandlerFunctor.hpp"
 #include "ISendCounterPacket.hpp"
 #include "armnn/profiling/ISendTimelinePacket.hpp"
-#include "Packet.hpp"
+#include "common/include/Packet.hpp"
 #include "ProfilingStateMachine.hpp"
 
 namespace armnn
diff --git a/src/profiling/test/PrintPacketHeaderHandler.hpp b/src/profiling/test/PrintPacketHeaderHandler.hpp
index 3cd5921..6564f3c 100644
--- a/src/profiling/test/PrintPacketHeaderHandler.hpp
+++ b/src/profiling/test/PrintPacketHeaderHandler.hpp
@@ -6,7 +6,7 @@
 #pragma once
 
 #include <armnn/profiling/ILocalPacketHandler.hpp>
-#include "Packet.hpp"
+#include <Packet.hpp>
 
 namespace armnn
 {
diff --git a/src/profiling/test/TestTimelinePacketHandler.hpp b/src/profiling/test/TestTimelinePacketHandler.hpp
index 2902e5f..6739525 100644
--- a/src/profiling/test/TestTimelinePacketHandler.hpp
+++ b/src/profiling/test/TestTimelinePacketHandler.hpp
@@ -7,7 +7,8 @@
 
 #include <armnn/profiling/ILocalPacketHandler.hpp>
 #include <armnn/profiling/ITimelineDecoder.hpp>
-#include "Packet.hpp"
+#include <Packet.hpp>
+
 #include "ProfilingUtils.hpp"
 #include "TimelineCaptureCommandHandler.hpp"
 #include "TimelineDirectoryCaptureCommandHandler.hpp"
diff --git a/src/timelineDecoder/CMakeLists.txt b/src/timelineDecoder/CMakeLists.txt
index 12fe2a0..f844325 100644
--- a/src/timelineDecoder/CMakeLists.txt
+++ b/src/timelineDecoder/CMakeLists.txt
@@ -6,20 +6,25 @@
 if(BUILD_TIMELINE_DECODER)
     set(timelineDecoder_sources)
     list(APPEND timelineDecoder_sources
-            ../../include/armnn/profiling/ITimelineDecoder.hpp
-            TimelineCaptureCommandHandler.cpp
-            TimelineCaptureCommandHandler.hpp
-            JSONTimelineDecoder.cpp
-            JSONTimelineDecoder.hpp
-            TimelineDecoder.cpp
-            TimelineDecoder.hpp
-            TimelineDirectoryCaptureCommandHandler.cpp
-            TimelineDirectoryCaptureCommandHandler.hpp
-            )
+        ${PROJECT_SOURCE_DIR}/include/armnn/profiling/ITimelineDecoder.hpp
+        TimelineCaptureCommandHandler.cpp
+        TimelineCaptureCommandHandler.hpp
+        JSONTimelineDecoder.cpp
+        JSONTimelineDecoder.hpp
+        TimelineDecoder.cpp
+        TimelineDecoder.hpp
+        TimelineDirectoryCaptureCommandHandler.cpp
+        TimelineDirectoryCaptureCommandHandler.hpp)
 
-    include_directories(../timelineDecoder ../profiling)
+    include_directories(${PROJECT_SOURCE_DIR}/src/profiling
+                        ${PROJECT_SOURCE_DIR}/profiling/common/include)
+
+    if(BUILD_UNIT_TESTS)
+      target_include_directories(UnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/timelineDecoder)
+    endif()
 
     add_library_ex(timelineDecoder SHARED ${timelineDecoder_sources})
+
     set_target_properties(timelineDecoder PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
     set_target_properties(timelineDecoder PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
 
diff --git a/src/timelineDecoder/JSONTimelineDecoder.hpp b/src/timelineDecoder/JSONTimelineDecoder.hpp
index c4e0855..38d6983 100644
--- a/src/timelineDecoder/JSONTimelineDecoder.hpp
+++ b/src/timelineDecoder/JSONTimelineDecoder.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "armnn/profiling/ITimelineDecoder.hpp"
+#include <armnn/profiling/ITimelineDecoder.hpp>
 
 #include <map>
 #include <vector>
diff --git a/src/timelineDecoder/TimelineCaptureCommandHandler.hpp b/src/timelineDecoder/TimelineCaptureCommandHandler.hpp
index e143b5f..6c0c57a 100644
--- a/src/timelineDecoder/TimelineCaptureCommandHandler.hpp
+++ b/src/timelineDecoder/TimelineCaptureCommandHandler.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "armnn/profiling/ITimelineDecoder.hpp"
+#include <armnn/profiling/ITimelineDecoder.hpp>
 
 #include <CommandHandlerFunctor.hpp>
 #include <Packet.hpp>
diff --git a/src/timelineDecoder/TimelineDecoder.hpp b/src/timelineDecoder/TimelineDecoder.hpp
index c6d1e4e..2efdc44 100644
--- a/src/timelineDecoder/TimelineDecoder.hpp
+++ b/src/timelineDecoder/TimelineDecoder.hpp
@@ -4,7 +4,8 @@
 //
 #pragma once
 
-#include "armnn/profiling/ITimelineDecoder.hpp"
+#include <armnn/profiling/ITimelineDecoder.hpp>
+
 #include <vector>
 
 namespace armnn
diff --git a/src/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp b/src/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp
index a22a5d9..2879052 100644
--- a/src/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp
+++ b/src/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp
@@ -5,8 +5,8 @@
 
 #pragma once
 
+#include "TimelineCaptureCommandHandler.hpp"
 
-#include <TimelineCaptureCommandHandler.hpp>
 #include <Packet.hpp>
 #include <PacketBuffer.hpp>
 #include <ProfilingUtils.hpp>