IVGCVSW-2125 : backends now can return optimizations

Change-Id: Ieec34224b433e1d2f3bbe66632cd6016cac5498c
diff --git a/src/backends/backendsCommon/IBackendInternal.hpp b/src/backends/backendsCommon/IBackendInternal.hpp
index fede366..9c54b82 100644
--- a/src/backends/backendsCommon/IBackendInternal.hpp
+++ b/src/backends/backendsCommon/IBackendInternal.hpp
@@ -6,11 +6,13 @@
 
 #include <armnn/Types.hpp>
 #include <armnn/IRuntime.hpp>
+#include <vector>
 
 namespace armnn
 {
 class IWorkloadFactory;
 class IBackendContext;
+class Optimization;
 
 class IBackendInternal : public IBackend
 {
@@ -26,9 +28,12 @@
 
     using IWorkloadFactoryPtr = std::unique_ptr<IWorkloadFactory>;
     using IBackendContextPtr = std::unique_ptr<IBackendContext>;
+    using OptimizationPtr = std::unique_ptr<Optimization>;
+    using Optimizations = std::vector<OptimizationPtr>;
 
     virtual IWorkloadFactoryPtr CreateWorkloadFactory() const = 0;
     virtual IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const = 0;
+    virtual Optimizations GetOptimizations() const = 0;
 };
 
 using IBackendInternalUniquePtr = std::unique_ptr<IBackendInternal>;