IVGCVSW-3937 Initial ServiceProfiling refactoring

 * Made the ServiceProfiling class a singleton
 * Registered basic category and counters
 * Code refactoring
 * Updated unit tests accordingly

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I648a6202eead2a3016aac14d905511bd945a90cb
diff --git a/src/profiling/CounterValues.hpp b/src/profiling/CounterValues.hpp
index 75ecad9..9c06ff0 100644
--- a/src/profiling/CounterValues.hpp
+++ b/src/profiling/CounterValues.hpp
@@ -15,24 +15,30 @@
 class IReadCounterValues
 {
 public:
-    virtual uint16_t GetCounterCount() const = 0;
-    virtual void GetCounterValue(uint16_t index, uint32_t& value) const = 0;
     virtual ~IReadCounterValues() {}
+
+    virtual uint16_t GetCounterCount() const = 0;
+    virtual uint32_t GetCounterValue(uint16_t counterUid) const = 0;
 };
 
-class IWriteCounterValues : public IReadCounterValues
+class IWriteCounterValues
 {
 public:
-    virtual void SetCounterValue(uint16_t index, uint32_t value) = 0;
-    virtual void AddCounterValue(uint16_t index, uint32_t value) = 0;
-    virtual void SubtractCounterValue(uint16_t index, uint32_t value) = 0;
-    virtual void IncrementCounterValue(uint16_t index) = 0;
-    virtual void DecrementCounterValue(uint16_t index) = 0;
     virtual ~IWriteCounterValues() {}
+
+    virtual void SetCounterValue(uint16_t counterUid, uint32_t value) = 0;
+    virtual uint32_t AddCounterValue(uint16_t counterUid, uint32_t value) = 0;
+    virtual uint32_t SubtractCounterValue(uint16_t counterUid, uint32_t value) = 0;
+    virtual uint32_t IncrementCounterValue(uint16_t counterUid) = 0;
+    virtual uint32_t DecrementCounterValue(uint16_t counterUid) = 0;
+};
+
+class IReadWriteCounterValues : public IReadCounterValues, public IWriteCounterValues
+{
+public:
+    virtual ~IReadWriteCounterValues() {}
 };
 
 } // namespace profiling
 
 } // namespace armnn
-
-