1 // 2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 #pragma once 6 7 #include <armnn/backends/IBackendInternal.hpp> 8 9 namespace armnn 10 { 11 MockImportBackendId()12constexpr const char* MockImportBackendId() { return "MockRef"; } 13 14 class MockImportBackendInitialiser 15 { 16 public: 17 MockImportBackendInitialiser(); 18 ~MockImportBackendInitialiser(); 19 }; 20 21 class MockImportBackend : public IBackendInternal 22 { 23 public: 24 MockImportBackend() = default; 25 ~MockImportBackend() = default; 26 27 static const BackendId& GetIdStatic(); GetId() const28 const BackendId& GetId() const override { return GetIdStatic(); } 29 30 IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override; 31 32 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory( 33 const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override; 34 35 IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory( 36 class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const override; 37 38 IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override; 39 40 IBackendInternal::IBackendProfilingContextPtr CreateBackendProfilingContext( 41 const IRuntime::CreationOptions& creationOptions, IBackendProfilingPtr& backendProfiling) override; 42 43 IBackendInternal::Optimizations GetOptimizations() const override; 44 IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override; 45 46 OptimizationViews OptimizeSubgraphView(const SubgraphView& subgraph) const override; 47 48 std::vector<ITensorHandleFactory::FactoryId> GetHandleFactoryPreferences() const override; 49 50 void RegisterTensorHandleFactories(class TensorHandleFactoryRegistry& registry) override; 51 }; 52 53 } // namespace armnn 54