1 // 2 // Copyright © 2017 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include <client/include/ILocalPacketHandler.hpp> 9 10 #include <common/include/Packet.hpp> 11 12 #include <cstdint> 13 14 namespace arm 15 { 16 17 namespace pipe 18 { 19 20 class IProfilingConnection 21 { 22 public: ~IProfilingConnection()23 virtual ~IProfilingConnection() {} 24 25 virtual bool IsOpen() const = 0; 26 27 virtual void Close() = 0; 28 29 virtual bool WritePacket(const unsigned char* buffer, uint32_t length) = 0; 30 31 virtual arm::pipe::Packet ReadPacket(uint32_t timeout) = 0; 32 }; 33 34 } // namespace pipe 35 36 } // namespace arm 37