1 // 2 // Copyright © 2019 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "TimelineCaptureCommandHandler.hpp" 9 10 #include <common/include/SwTrace.hpp> 11 12 namespace arm 13 { 14 15 namespace pipe 16 { 17 18 class TimelineDirectoryCaptureCommandHandler : public arm::pipe::CommandHandlerFunctor 19 { 20 // Utils 21 uint32_t uint8_t_size = sizeof(uint8_t); 22 uint32_t uint32_t_size = sizeof(uint32_t); 23 24 public: TimelineDirectoryCaptureCommandHandler(uint32_t familyId,uint32_t packetId,uint32_t version,TimelineCaptureCommandHandler & timelineCaptureCommandHandler,bool quietOperation=false)25 TimelineDirectoryCaptureCommandHandler(uint32_t familyId, 26 uint32_t packetId, 27 uint32_t version, 28 TimelineCaptureCommandHandler& timelineCaptureCommandHandler, 29 bool quietOperation = false) 30 : CommandHandlerFunctor(familyId, packetId, version) 31 , m_TimelineCaptureCommandHandler(timelineCaptureCommandHandler) 32 , m_QuietOperation(quietOperation) 33 {} 34 35 void operator()(const arm::pipe::Packet& packet) override; 36 37 arm::pipe::SwTraceHeader m_SwTraceHeader; 38 std::vector<arm::pipe::SwTraceMessage> m_SwTraceMessages; 39 40 private: 41 void ParseData(const arm::pipe::Packet& packet); 42 void Print(); 43 44 TimelineCaptureCommandHandler& m_TimelineCaptureCommandHandler; 45 bool m_QuietOperation; 46 }; 47 48 } //namespace pipe 49 50 } //namespace arm 51