IVGCVSW-5855 Refactor the reporting of capabilities from backends

Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I05fc331a8e91bdcb6b8a2f32cfb555060fc5d797
diff --git a/src/backends/reference/RefBackend.hpp b/src/backends/reference/RefBackend.hpp
index 3143173..441f4eb 100644
--- a/src/backends/reference/RefBackend.hpp
+++ b/src/backends/reference/RefBackend.hpp
@@ -8,11 +8,18 @@
 
 namespace armnn
 {
+// add new capabilities here..
+const BackendCapabilities cpuRefCapabilities("CpuRef",
+                                             {
+                                                    {"NonConstWeights", true},
+                                                    {"AsyncExecution", true}
+                                             });
 
-const std::set<armnn::BackendCapability> cpuRefCapabilities {
-    armnn::BackendCapability::NonConstWeights,
+const std::set<armnn::BackendCapability> oldCpuRefCapabilities {
+        armnn::BackendCapability::NonConstWeights,
 };
 
+
 class RefBackend : public IBackendInternal
 {
 public:
@@ -44,6 +51,11 @@
 
     void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) override;
 
+    BackendCapabilities GetCapabilities() const override
+    {
+        return cpuRefCapabilities;
+    };
+
     bool HasCapability(BackendCapability capabilityClass) const override;
 };