blob: 822e92c425642e66a0416a71737dcdc3229429a8 [file] [log] [blame]
Keith Davis33ed2212020-03-30 10:43:41 +01001//
Jim Flynnbbfe6032020-07-20 16:57:44 +01002// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
Keith Davis33ed2212020-03-30 10:43:41 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Keith Davis33ed2212020-03-30 10:43:41 +01008#include "ProfilingStateMachine.hpp"
9#include "INotifyBackends.hpp"
10
Jim Flynnbbfe6032020-07-20 16:57:44 +010011#include <common/include/CommandHandlerFunctor.hpp>
12#include <common/include/Packet.hpp>
13
Keith Davis33ed2212020-03-30 10:43:41 +010014namespace armnn
15{
16
17namespace profiling
18{
19
Jim Flynnbbfe6032020-07-20 16:57:44 +010020class DeactivateTimelineReportingCommandHandler : public arm::pipe::CommandHandlerFunctor
Keith Davis33ed2212020-03-30 10:43:41 +010021{
22
23public:
24 DeactivateTimelineReportingCommandHandler(uint32_t familyId,
25 uint32_t packetId,
26 uint32_t version,
27 std::atomic<bool>& timelineReporting,
28 ProfilingStateMachine& profilingStateMachine,
29 INotifyBackends& notifyBackends)
30 : CommandHandlerFunctor(familyId, packetId, version)
31 , m_TimelineReporting(timelineReporting)
32 , m_StateMachine(profilingStateMachine)
33 , m_BackendNotifier(notifyBackends)
34 {}
35
Jim Flynnbbfe6032020-07-20 16:57:44 +010036 void operator()(const arm::pipe::Packet& packet) override;
Keith Davis33ed2212020-03-30 10:43:41 +010037
38private:
39 std::atomic<bool>& m_TimelineReporting;
40 ProfilingStateMachine& m_StateMachine;
41 INotifyBackends& m_BackendNotifier;
42};
43
44} // namespace profiling
45
46} // namespace armnn