blob: e9ce63db142ea3aa3900d3a2dc7aa98c124fbdf3 [file] [log] [blame]
Keith Davis33ed2212020-03-30 10:43:41 +01001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "CommandHandlerFunctor.hpp"
Finn Williams0c8cb992020-05-07 10:38:15 +01009#include "common/include/Packet.hpp"
Keith Davis33ed2212020-03-30 10:43:41 +010010#include "ProfilingStateMachine.hpp"
11#include "INotifyBackends.hpp"
12
13namespace armnn
14{
15
16namespace profiling
17{
18
19class DeactivateTimelineReportingCommandHandler : public CommandHandlerFunctor
20{
21
22public:
23 DeactivateTimelineReportingCommandHandler(uint32_t familyId,
24 uint32_t packetId,
25 uint32_t version,
26 std::atomic<bool>& timelineReporting,
27 ProfilingStateMachine& profilingStateMachine,
28 INotifyBackends& notifyBackends)
29 : CommandHandlerFunctor(familyId, packetId, version)
30 , m_TimelineReporting(timelineReporting)
31 , m_StateMachine(profilingStateMachine)
32 , m_BackendNotifier(notifyBackends)
33 {}
34
35 void operator()(const Packet& packet) override;
36
37private:
38 std::atomic<bool>& m_TimelineReporting;
39 ProfilingStateMachine& m_StateMachine;
40 INotifyBackends& m_BackendNotifier;
41};
42
43} // namespace profiling
44
45} // namespace armnn