blob: 02bf64d17a85d61e1c86fec53576488d89ff52e1 [file] [log] [blame]
Narumol Prangnawarat48033692019-09-20 12:04:55 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "CommandHandlerFunctor.hpp"
9#include "ISendCounterPacket.hpp"
10#include "Packet.hpp"
Matteo Martincigh8efc5002019-10-10 14:30:29 +010011#include "ProfilingStateMachine.hpp"
Narumol Prangnawarat48033692019-09-20 12:04:55 +010012
13namespace armnn
14{
15
16namespace profiling
17{
18
19class RequestCounterDirectoryCommandHandler : public CommandHandlerFunctor
20{
21
22public:
Matteo Martincigh8efc5002019-10-10 14:30:29 +010023 RequestCounterDirectoryCommandHandler(uint32_t packetId,
24 uint32_t version,
Narumol Prangnawarat48033692019-09-20 12:04:55 +010025 ICounterDirectory& counterDirectory,
Matteo Martincigh8efc5002019-10-10 14:30:29 +010026 ISendCounterPacket& sendCounterPacket,
27 ProfilingStateMachine& profilingStateMachine)
28 : CommandHandlerFunctor(packetId, version)
29 , m_CounterDirectory(counterDirectory)
30 , m_SendCounterPacket(sendCounterPacket)
31 , m_StateMachine(profilingStateMachine)
Narumol Prangnawarat48033692019-09-20 12:04:55 +010032 {}
33
34 void operator()(const Packet& packet) override;
35
Narumol Prangnawarat48033692019-09-20 12:04:55 +010036private:
Matteo Martincigh8efc5002019-10-10 14:30:29 +010037 const ICounterDirectory& m_CounterDirectory;
Narumol Prangnawarat48033692019-09-20 12:04:55 +010038 ISendCounterPacket& m_SendCounterPacket;
Matteo Martincigh8efc5002019-10-10 14:30:29 +010039 const ProfilingStateMachine& m_StateMachine;
Narumol Prangnawarat48033692019-09-20 12:04:55 +010040};
41
42} // namespace profiling
43
44} // namespace armnn