IVGCVSW-3541 Get the paths where to load the dynamic backends from

 * Adds GetBackendPaths and IsPathValid to DynamicBackendUtils
 * Adds related unit tests

Change-Id: I94e377d92a88a4b5d48026f6ad5b4d5387d20c21
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
diff --git a/include/armnn/IRuntime.hpp b/include/armnn/IRuntime.hpp
index 0366663..3f3c998 100644
--- a/include/armnn/IRuntime.hpp
+++ b/include/armnn/IRuntime.hpp
@@ -31,6 +31,7 @@
         CreationOptions()
             : m_GpuAccTunedParameters(nullptr)
             , m_EnableGpuProfiling(false)
+            , m_DynamicBackendsPath("")
         {}
 
         /// If set, uses the GpuAcc tuned parameters from the given object when executing GPU workloads.
@@ -39,6 +40,10 @@
 
         // Setting this flag will allow the user to obtain GPU profiling information from the runtime.
         bool m_EnableGpuProfiling;
+
+        // Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive
+        // Only a single path is allowed for the override
+        std::string m_DynamicBackendsPath;
     };
 
     static IRuntime* CreateRaw(const CreationOptions& options);