blob: 6054306da84b3aa382b42e917990388f14a10187 [file] [log] [blame]
Sadik Armaganb5f01b22019-09-18 17:29:00 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "CommandHandlerFunctor.hpp"
Keith Davis3201eea2019-10-24 17:30:41 +01009#include "ISendCounterPacket.hpp"
Colm Donelan5ccb33d2020-01-24 16:27:02 +000010#include "armnn/profiling/ISendTimelinePacket.hpp"
Sadik Armaganb5f01b22019-09-18 17:29:00 +010011#include "Packet.hpp"
12#include "ProfilingStateMachine.hpp"
13
14namespace armnn
15{
16
17namespace profiling
18{
19
Matteo Martincighc2728f92019-10-07 12:35:21 +010020class ConnectionAcknowledgedCommandHandler final : public CommandHandlerFunctor
Sadik Armaganb5f01b22019-09-18 17:29:00 +010021{
22
23public:
Jim Flynn397043f2019-10-17 17:37:10 +010024 ConnectionAcknowledgedCommandHandler(uint32_t familyId,
25 uint32_t packetId,
Sadik Armaganb5f01b22019-09-18 17:29:00 +010026 uint32_t version,
Keith Davis3201eea2019-10-24 17:30:41 +010027 ICounterDirectory& counterDirectory,
28 ISendCounterPacket& sendCounterPacket,
Matteo Martincighcdfb9412019-11-08 11:23:06 +000029 ISendTimelinePacket& sendTimelinePacket,
Sadik Armaganb5f01b22019-09-18 17:29:00 +010030 ProfilingStateMachine& profilingStateMachine)
Jim Flynn397043f2019-10-17 17:37:10 +010031 : CommandHandlerFunctor(familyId, packetId, version)
Keith Davis3201eea2019-10-24 17:30:41 +010032 , m_CounterDirectory(counterDirectory)
33 , m_SendCounterPacket(sendCounterPacket)
Matteo Martincighcdfb9412019-11-08 11:23:06 +000034 , m_SendTimelinePacket(sendTimelinePacket)
Matteo Martincighc2728f92019-10-07 12:35:21 +010035 , m_StateMachine(profilingStateMachine)
36 {}
Sadik Armaganb5f01b22019-09-18 17:29:00 +010037
38 void operator()(const Packet& packet) override;
39
40private:
Keith Davis3201eea2019-10-24 17:30:41 +010041 const ICounterDirectory& m_CounterDirectory;
42 ISendCounterPacket& m_SendCounterPacket;
Matteo Martincighcdfb9412019-11-08 11:23:06 +000043 ISendTimelinePacket& m_SendTimelinePacket;
Keith Davis3201eea2019-10-24 17:30:41 +010044 ProfilingStateMachine& m_StateMachine;
45
Sadik Armaganb5f01b22019-09-18 17:29:00 +010046};
47
48} // namespace profiling
49
50} // namespace armnn
51