1 // 2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "ProfilingStateMachine.hpp" 9 #include "INotifyBackends.hpp" 10 #include "ProfilingStateMachine.hpp" 11 12 #include <common/include/CommandHandlerFunctor.hpp> 13 #include <common/include/Packet.hpp> 14 15 namespace arm 16 { 17 18 namespace pipe 19 { 20 21 class DeactivateTimelineReportingCommandHandler : public arm::pipe::CommandHandlerFunctor 22 { 23 24 public: DeactivateTimelineReportingCommandHandler(uint32_t familyId,uint32_t packetId,uint32_t version,std::atomic<bool> & timelineReporting,ProfilingStateMachine & profilingStateMachine,INotifyBackends & notifyBackends)25 DeactivateTimelineReportingCommandHandler(uint32_t familyId, 26 uint32_t packetId, 27 uint32_t version, 28 std::atomic<bool>& timelineReporting, 29 ProfilingStateMachine& profilingStateMachine, 30 INotifyBackends& notifyBackends) 31 : CommandHandlerFunctor(familyId, packetId, version) 32 , m_TimelineReporting(timelineReporting) 33 , m_StateMachine(profilingStateMachine) 34 , m_BackendNotifier(notifyBackends) 35 {} 36 37 void operator()(const arm::pipe::Packet& packet) override; 38 39 private: 40 std::atomic<bool>& m_TimelineReporting; 41 ProfilingStateMachine& m_StateMachine; 42 INotifyBackends& m_BackendNotifier; 43 }; 44 45 } // namespace pipe 46 47 } // namespace arm