blob: 36a82b5510eb25f69f9ac3fa5ebee6729f710536 [file] [log] [blame]
Finn Williamse63a0262019-10-22 10:30:49 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8
9#include <CommandHandlerFunctor.hpp>
10#include <Packet.hpp>
11#include <PacketBuffer.hpp>
12#include <ProfilingUtils.hpp>
13
14namespace armnn
15{
16
17namespace gatordmock
18{
19
20class TimelineDirectoryCaptureCommandHandler : public profiling::CommandHandlerFunctor
21{
22 // Utils
Matteo Martincigh34a407d2019-11-06 15:30:54 +000023 uint32_t uint8_t_size = sizeof(uint8_t);
Finn Williamse63a0262019-10-22 10:30:49 +010024 uint32_t uint32_t_size = sizeof(uint32_t);
25
26public:
27 TimelineDirectoryCaptureCommandHandler(uint32_t familyId,
28 uint32_t packetId,
29 uint32_t version,
30 bool quietOperation = false)
Matteo Martincigh34a407d2019-11-06 15:30:54 +000031 : CommandHandlerFunctor(familyId, packetId, version)
32 , m_QuietOperation(quietOperation)
Finn Williamse63a0262019-10-22 10:30:49 +010033 {}
34
35 void operator()(const armnn::profiling::Packet& packet) override;
36
Matteo Martincigh34a407d2019-11-06 15:30:54 +000037 profiling::SwTraceHeader m_SwTraceHeader;
Finn Williamse63a0262019-10-22 10:30:49 +010038 std::vector<profiling::SwTraceMessage> m_SwTraceMessages;
39
40private:
41 void ParseData(const armnn::profiling::Packet& packet);
42 void Print();
43
44 bool m_QuietOperation;
45};
46
47} //namespace gatordmock
48
Matteo Martincigh34a407d2019-11-06 15:30:54 +000049} //namespace armnn