blob: c2bbc70d8b4c6b118d4c3ea784caaa74572b728a [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
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000010#include <armnn/IRuntime.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:
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000023 using ExternalProfilingOptions = IRuntime::CreationOptions::ExternalProfilingOptions;
Matteo Martincigh54fb9572019-10-02 12:50:57 +010024 using IProfilingConnectionPtr = std::unique_ptr<IProfilingConnection>;
25
26 virtual ~IProfilingConnectionFactory() {}
27
28 virtual IProfilingConnectionPtr GetProfilingConnection(const ExternalProfilingOptions& options) const = 0;
29};
30
31} // namespace profiling
32
33} // namespace armnn