7e7904de0f854a8f741d8edc55f504076ef6755c
[platform/upstream/armnn.git] / src / profiling / ConnectionAcknowledgedCommandHandler.hpp
1 //
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"
11 #include "ProfilingStateMachine.hpp"
12
13 namespace armnn
14 {
15
16 namespace profiling
17 {
18
19 class ConnectionAcknowledgedCommandHandler final : public CommandHandlerFunctor
20 {
21
22 public:
23     ConnectionAcknowledgedCommandHandler(uint32_t familyId,
24                                          uint32_t packetId,
25                                          uint32_t version,
26                                          ICounterDirectory& counterDirectory,
27                                          ISendCounterPacket& sendCounterPacket,
28                                          ProfilingStateMachine& profilingStateMachine)
29         : CommandHandlerFunctor(familyId, packetId, version)
30         , m_CounterDirectory(counterDirectory)
31         , m_SendCounterPacket(sendCounterPacket)
32         , m_StateMachine(profilingStateMachine)
33     {}
34
35     void operator()(const Packet& packet) override;
36
37 private:
38     const ICounterDirectory& m_CounterDirectory;
39     ISendCounterPacket&      m_SendCounterPacket;
40     ProfilingStateMachine&   m_StateMachine;
41
42 };
43
44 } // namespace profiling
45
46 } // namespace armnn
47