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