IVGCVSW-1949 : Refactor ITensorHandle and move backend specifics to their place

Change-Id: I48242425c6a6856e13ebcee1b140cbd2af94a3aa
diff --git a/src/backends/backendsCommon/ITensorHandle.hpp b/src/backends/backendsCommon/ITensorHandle.hpp
index 02f4ed6..176b021 100644
--- a/src/backends/backendsCommon/ITensorHandle.hpp
+++ b/src/backends/backendsCommon/ITensorHandle.hpp
@@ -12,13 +12,6 @@
 class ITensorHandle
 {
 public:
-    enum Type
-    {
-        Cpu,
-        CL,
-        Neon
-    };
-
     virtual ~ITensorHandle(){}
 
     /// Indicate to the memory manager that this resource is active.
@@ -29,10 +22,6 @@
     /// This is used to compute overlapping lifetimes of resources.
     virtual void Allocate() = 0;
 
-    /// Get the type backend associated with the tensor handle.
-    /// \return Type enum
-    virtual ITensorHandle::Type GetType() const = 0;
-
     /// Get the parent tensor if this is a subtensor.
     /// \return a pointer to the parent tensor. Otherwise nullptr if not a subtensor.
     virtual ITensorHandle* GetParent() const = 0;
@@ -64,10 +53,14 @@
     /// \return a TensorShape filled with the strides for each dimension
     virtual TensorShape GetStrides() const = 0;
 
-    /// Get the number of elements for each dimension orderd from slowest iterating dimension
+    /// Get the number of elements for each dimension ordered from slowest iterating dimension
     /// to fastest iterating dimension.
     /// \return a TensorShape filled with the number of elements for each dimension.
     virtual TensorShape GetShape() const = 0;
+
+    // Testing support to be able to verify and set tensor data content
+    virtual void CopyOutTo(void* memory) const = 0;
+    virtual void CopyInFrom(const void* memory) = 0;
 };
 
 }