diff options
Diffstat (limited to 'profiling/client/src/RequestCounterDirectoryCommandHandler.hpp')
-rw-r--r-- | profiling/client/src/RequestCounterDirectoryCommandHandler.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/profiling/client/src/RequestCounterDirectoryCommandHandler.hpp b/profiling/client/src/RequestCounterDirectoryCommandHandler.hpp new file mode 100644 index 0000000000..2582fb2e0a --- /dev/null +++ b/profiling/client/src/RequestCounterDirectoryCommandHandler.hpp @@ -0,0 +1,51 @@ +// +// Copyright © 2019 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include "ProfilingStateMachine.hpp" + +#include <client/include/ISendCounterPacket.hpp> +#include <client/include/ISendTimelinePacket.hpp> + +#include <common/include/CommandHandlerFunctor.hpp> +#include <common/include/Packet.hpp> + +namespace arm +{ + +namespace pipe +{ + +class RequestCounterDirectoryCommandHandler : public arm::pipe::CommandHandlerFunctor +{ + +public: + RequestCounterDirectoryCommandHandler(uint32_t familyId, + uint32_t packetId, + uint32_t version, + ICounterDirectory& counterDirectory, + ISendCounterPacket& sendCounterPacket, + ISendTimelinePacket& sendTimelinePacket, + ProfilingStateMachine& profilingStateMachine) + : CommandHandlerFunctor(familyId, packetId, version) + , m_CounterDirectory(counterDirectory) + , m_SendCounterPacket(sendCounterPacket) + , m_SendTimelinePacket(sendTimelinePacket) + , m_StateMachine(profilingStateMachine) + {} + + void operator()(const arm::pipe::Packet& packet) override; + +private: + const ICounterDirectory& m_CounterDirectory; + ISendCounterPacket& m_SendCounterPacket; + ISendTimelinePacket& m_SendTimelinePacket; + const ProfilingStateMachine& m_StateMachine; +}; + +} // namespace pipe + +} // namespace arm |