blob: 9b0eda03348e17b92d9da922367d9e40df87bfde [file] [log] [blame]
Matteo Martincigh54fb9572019-10-02 12:50:57 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "IProfilingConnection.hpp"
9
Jim Flynn4c9ed1d2022-01-23 23:57:20 +000010#include <armnn/profiling/ProfilingOptions.hpp>
Matteo Martincigh54fb9572019-10-02 12:50:57 +010011
12#include <memory>
13
14namespace armnn
15{
16
17namespace profiling
18{
19
20class IProfilingConnectionFactory
21{
22public:
Jim Flynn4c9ed1d2022-01-23 23:57:20 +000023 using ExternalProfilingOptions = ProfilingOptions;
Matteo Martincigh54fb9572019-10-02 12:50:57 +010024 using IProfilingConnectionPtr = std::unique_ptr<IProfilingConnection>;
25
26 virtual ~IProfilingConnectionFactory() {}
27
Jim Flynn4c9ed1d2022-01-23 23:57:20 +000028 virtual IProfilingConnectionPtr GetProfilingConnection(const ProfilingOptions& options) const = 0;
Matteo Martincigh54fb9572019-10-02 12:50:57 +010029};
30
31} // namespace profiling
32
33} // namespace armnn