David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 1 | // |
| 2 | // Copyright © 2017 Arm Ltd. All rights reserved. |
| 3 | // SPDX-License-Identifier: MIT |
| 4 | // |
| 5 | #pragma once |
| 6 | |
Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 7 | #include <armnn/BackendOptions.hpp> |
David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 8 | #include <armnn/IRuntime.hpp> |
| 9 | #include <memory> |
| 10 | |
| 11 | namespace armnn |
| 12 | { |
| 13 | |
| 14 | class IBackendContext |
| 15 | { |
| 16 | protected: |
| 17 | IBackendContext(const IRuntime::CreationOptions&) {} |
| 18 | |
| 19 | public: |
Ryan OShea | 2bbfaa7 | 2020-02-12 16:15:27 +0000 | [diff] [blame] | 20 | /// Before and after Load network events |
David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 21 | virtual bool BeforeLoadNetwork(NetworkId networkId) = 0; |
| 22 | virtual bool AfterLoadNetwork(NetworkId networkId) = 0; |
| 23 | |
Ryan OShea | 2bbfaa7 | 2020-02-12 16:15:27 +0000 | [diff] [blame] | 24 | /// Before and after Unload network events |
David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 25 | virtual bool BeforeUnloadNetwork(NetworkId networkId) = 0; |
| 26 | virtual bool AfterUnloadNetwork(NetworkId networkId) = 0; |
| 27 | |
Narumol Prangnawarat | ec5463d | 2022-02-04 17:50:20 +0000 | [diff] [blame] | 28 | // After Enqueue workload events |
| 29 | virtual bool AfterEnqueueWorkload(NetworkId networkId) = 0; |
| 30 | |
David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 31 | virtual ~IBackendContext() {} |
| 32 | }; |
| 33 | |
| 34 | using IBackendContextUniquePtr = std::unique_ptr<IBackendContext>; |
| 35 | |
Sadik Armagan | 045f6be | 2020-09-10 13:37:32 +0100 | [diff] [blame] | 36 | class IBackendModelContext |
| 37 | { |
| 38 | public: |
| 39 | virtual ~IBackendModelContext() {} |
| 40 | }; |
| 41 | |
David Beck | 1b61be5 | 2018-11-08 09:19:14 +0000 | [diff] [blame] | 42 | } // namespace armnn |