blob: e9d2180699bae988f182707915c2d4f539ab6d32 [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 Williams56b465d2020-05-15 13:34:12 +01009#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