blob: ebdfb39c630ad4b9eab0bce6ae65ddd7da6d36e1 [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"
Nikhil Raj5b1bcc92021-06-08 12:31:50 +010012
13#include <common/include/ProfilingGuidGenerator.hpp>
Jim Flynn64063552020-02-14 10:18:08 +000014
15namespace armnn
16{
17
18namespace profiling
19{
20
Jim Flynn6398a982020-05-27 17:05:21 +010021class IProfilingService : public IProfilingGuidGenerator, public IProfilingServiceStatus
Jim Flynn64063552020-02-14 10:18:08 +000022{
23public:
24 virtual ~IProfilingService() {};
25 virtual std::unique_ptr<ISendTimelinePacket> GetSendTimelinePacket() const = 0;
26 virtual const ICounterMappings& GetCounterMappings() const = 0;
27 virtual ISendCounterPacket& GetSendCounterPacket() = 0;
28 virtual bool IsProfilingEnabled() const = 0;
29 virtual CaptureData GetCaptureData() = 0;
30};
31
32} // namespace profiling
33
34} // namespace armnn
35