IVGCVSW-5835 Move the src/profiling/LabelsAndEventClasses class to profiling/common

Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: I83de0fe9c83ec7e698817095ce5cfe3319c36ea6
diff --git a/profiling/common/include/DllExport.hpp b/profiling/common/include/DllExport.hpp
new file mode 100644
index 0000000..8e01d43
--- /dev/null
+++ b/profiling/common/include/DllExport.hpp
@@ -0,0 +1,19 @@
+//
+// Copyright © 2020 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#if defined (_MSC_VER)
+
+#ifdef ARMNN_COMPILING_DLL
+#define ARMNN_DLLEXPORT __declspec(dllexport)
+#else
+#define ARMNN_DLLEXPORT __declspec(dllimport)
+#endif
+
+#else
+
+#define ARMNN_DLLEXPORT
+
+#endif
\ No newline at end of file
diff --git a/profiling/common/include/LabelsAndEventClasses.hpp b/profiling/common/include/LabelsAndEventClasses.hpp
new file mode 100644
index 0000000..8e3e0b0
--- /dev/null
+++ b/profiling/common/include/LabelsAndEventClasses.hpp
@@ -0,0 +1,69 @@
+//
+// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ProfilingGuidGenerator.hpp"
+
+#include "DllExport.hpp"
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+class LabelsAndEventClasses
+{
+public:
+    // Labels (string value + GUID)
+    ARMNN_DLLEXPORT static std::string EMPTY_LABEL;
+    ARMNN_DLLEXPORT static std::string NAME_LABEL;
+    ARMNN_DLLEXPORT static std::string TYPE_LABEL;
+    ARMNN_DLLEXPORT static std::string INDEX_LABEL;
+    ARMNN_DLLEXPORT static std::string BACKENDID_LABEL;
+    ARMNN_DLLEXPORT static std::string CHILD_LABEL;
+    ARMNN_DLLEXPORT static std::string EXECUTION_OF_LABEL;
+    ARMNN_DLLEXPORT static std::string PROCESS_ID_LABEL;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid EMPTY_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid NAME_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid TYPE_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid INDEX_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid BACKENDID_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid CHILD_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid EXECUTION_OF_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid PROCESS_ID_GUID;
+
+    // Common types
+    ARMNN_DLLEXPORT static std::string LAYER;
+    ARMNN_DLLEXPORT static std::string WORKLOAD;
+    ARMNN_DLLEXPORT static std::string NETWORK;
+    ARMNN_DLLEXPORT static std::string CONNECTION;
+    ARMNN_DLLEXPORT static std::string INFERENCE;
+    ARMNN_DLLEXPORT static std::string WORKLOAD_EXECUTION;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid LAYER_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid NETWORK_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid CONNECTION_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid INFERENCE_GUID;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid WORKLOAD_EXECUTION_GUID;
+
+    // Event Class GUIDs
+    // Start of Life (SOL)
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS;
+    ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_SOL_EVENT_CLASS_NAME;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID;
+    // End of Life (EOL)
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS;
+    ARMNN_DLLEXPORT static std::string ARMNN_PROFILING_EOL_EVENT_CLASS_NAME;
+    ARMNN_DLLEXPORT static ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID;
+
+private:
+    static ProfilingGuidGenerator m_GuidGenerator;
+};
+
+} // namespace profiling
+
+} // namespace armnn
diff --git a/profiling/common/src/CMakeLists.txt b/profiling/common/src/CMakeLists.txt
index 3a27a53..6979275 100644
--- a/profiling/common/src/CMakeLists.txt
+++ b/profiling/common/src/CMakeLists.txt
@@ -12,7 +12,8 @@
         CommonProfilingUtils.cpp
         NetworkSockets.cpp
         PacketVersionResolver.cpp
-        SwTrace.cpp)
+        SwTrace.cpp
+        LabelsAndEventClasses.cpp)
 
     include_directories(${PROJECT_SOURCE_DIR}/profiling/common/include)
     include_directories(${PROJECT_SOURCE_DIR}/common/include)
diff --git a/profiling/common/src/LabelsAndEventClasses.cpp b/profiling/common/src/LabelsAndEventClasses.cpp
new file mode 100644
index 0000000..fe6d119
--- /dev/null
+++ b/profiling/common/src/LabelsAndEventClasses.cpp
@@ -0,0 +1,79 @@
+//
+// Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "LabelsAndEventClasses.hpp"
+
+namespace armnn
+{
+
+namespace profiling
+{
+
+ProfilingGuidGenerator LabelsAndEventClasses::m_GuidGenerator;
+
+// Labels (string value + GUID)
+std::string LabelsAndEventClasses::EMPTY_LABEL("");
+std::string LabelsAndEventClasses::NAME_LABEL("name");
+std::string LabelsAndEventClasses::TYPE_LABEL("type");
+std::string LabelsAndEventClasses::INDEX_LABEL("index");
+std::string LabelsAndEventClasses::BACKENDID_LABEL("backendId");
+std::string LabelsAndEventClasses::CHILD_LABEL("child");
+std::string LabelsAndEventClasses::EXECUTION_OF_LABEL("execution_of");
+std::string LabelsAndEventClasses::PROCESS_ID_LABEL("processId");
+
+ProfilingStaticGuid LabelsAndEventClasses::EMPTY_GUID(0);
+ProfilingStaticGuid LabelsAndEventClasses::NAME_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::NAME_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::TYPE_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::TYPE_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::INDEX_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::INDEX_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::BACKENDID_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::BACKENDID_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::CHILD_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::CHILD_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::EXECUTION_OF_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::EXECUTION_OF_LABEL));
+ProfilingStaticGuid LabelsAndEventClasses::PROCESS_ID_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::PROCESS_ID_LABEL));
+
+// Common types
+std::string LabelsAndEventClasses::LAYER("layer");
+std::string LabelsAndEventClasses::WORKLOAD("workload");
+std::string LabelsAndEventClasses::NETWORK("network");
+std::string LabelsAndEventClasses::CONNECTION("connection");
+std::string LabelsAndEventClasses::INFERENCE("inference");
+std::string LabelsAndEventClasses::WORKLOAD_EXECUTION("workload_execution");
+
+ProfilingStaticGuid LabelsAndEventClasses::LAYER_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::LAYER));
+ProfilingStaticGuid LabelsAndEventClasses::WORKLOAD_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::WORKLOAD));
+ProfilingStaticGuid LabelsAndEventClasses::NETWORK_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::NETWORK));
+ProfilingStaticGuid LabelsAndEventClasses::CONNECTION_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::CONNECTION));
+ProfilingStaticGuid LabelsAndEventClasses::INFERENCE_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::INFERENCE));
+ProfilingStaticGuid LabelsAndEventClasses::WORKLOAD_EXECUTION_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::WORKLOAD_EXECUTION));
+
+// Event Class GUIDs
+// Start of Life (SOL)
+std::string LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME("start_of_life");
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS_NAME));
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS(
+    m_GuidGenerator.GenerateStaticId("ARMNN_PROFILING_SOL"));
+// End of Life (EOL)
+std::string LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME("end_of_life");
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME_GUID(
+    m_GuidGenerator.GenerateStaticId(LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS_NAME));
+ProfilingStaticGuid LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS(
+    m_GuidGenerator.GenerateStaticId("ARMNN_PROFILING_EOL"));
+
+} // namespace profiling
+
+} // namespace armnn