blob: 760f2433bd3e8687fcfe4809133e50ea0e6d448b [file] [log] [blame]
Jim Flynn64063552020-02-14 10:18:08 +00001//
Jim Flynn6398a982020-05-27 17:05:21 +01002// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
Jim Flynn64063552020-02-14 10:18:08 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "CounterIdMap.hpp"
9#include "Holder.hpp"
Jim Flynn6398a982020-05-27 17:05:21 +010010#include "IProfilingServiceStatus.hpp"
Jim Flynn64063552020-02-14 10:18:08 +000011#include "ISendCounterPacket.hpp"
12#include "ProfilingGuidGenerator.hpp"
13
14namespace armnn
15{
16
17namespace profiling
18{
19
Jim Flynn6398a982020-05-27 17:05:21 +010020class IProfilingService : public IProfilingGuidGenerator, public IProfilingServiceStatus
Jim Flynn64063552020-02-14 10:18:08 +000021{
22public:
23 virtual ~IProfilingService() {};
24 virtual std::unique_ptr<ISendTimelinePacket> GetSendTimelinePacket() const = 0;
25 virtual const ICounterMappings& GetCounterMappings() const = 0;
26 virtual ISendCounterPacket& GetSendCounterPacket() = 0;
27 virtual bool IsProfilingEnabled() const = 0;
28 virtual CaptureData GetCaptureData() = 0;
29};
30
31} // namespace profiling
32
33} // namespace armnn
34