blob: 907be89a2260c04aa4007add52b602572bc928e7 [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:
Jim Flynn397043f2019-10-17 17:37:10 +010023 RequestCounterDirectoryCommandHandler(uint32_t familyId,
24 uint32_t packetId,
Matteo Martincigh8efc5002019-10-10 14:30:29 +010025 uint32_t version,
Narumol Prangnawarat48033692019-09-20 12:04:55 +010026 ICounterDirectory& counterDirectory,
Matteo Martincigh8efc5002019-10-10 14:30:29 +010027 ISendCounterPacket& sendCounterPacket,
28 ProfilingStateMachine& profilingStateMachine)
Jim Flynn397043f2019-10-17 17:37:10 +010029 : CommandHandlerFunctor(familyId, packetId, version)
Matteo Martincigh8efc5002019-10-10 14:30:29 +010030 , m_CounterDirectory(counterDirectory)
31 , m_SendCounterPacket(sendCounterPacket)
32 , m_StateMachine(profilingStateMachine)
Narumol Prangnawarat48033692019-09-20 12:04:55 +010033 {}
34
35 void operator()(const Packet& packet) override;
36
Narumol Prangnawarat48033692019-09-20 12:04:55 +010037private:
Matteo Martincigh8efc5002019-10-10 14:30:29 +010038 const ICounterDirectory& m_CounterDirectory;
Narumol Prangnawarat48033692019-09-20 12:04:55 +010039 ISendCounterPacket& m_SendCounterPacket;
Matteo Martincigh8efc5002019-10-10 14:30:29 +010040 const ProfilingStateMachine& m_StateMachine;
Narumol Prangnawarat48033692019-09-20 12:04:55 +010041};
42
43} // namespace profiling
44
45} // namespace armnn