blob: 7ed714c1a34b4448b40448f87e4c97fde960cf75 [file] [log] [blame]
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Jim Flynn4e755a52020-03-29 17:48:26 +01008#include <armnn/profiling/ILocalPacketHandler.hpp>
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +01009
Jim Flynnbbfe6032020-07-20 16:57:44 +010010#include <common/include/Packet.hpp>
11
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +010012#include <cstdint>
13
14namespace armnn
15{
16
17namespace profiling
18{
19
20class IProfilingConnection
21{
22public:
Matteo Martincigh2e7c8852019-09-09 09:23:53 +010023 virtual ~IProfilingConnection() {}
24
Matteo Martincigh54fb9572019-10-02 12:50:57 +010025 virtual bool IsOpen() const = 0;
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +010026
27 virtual void Close() = 0;
28
Matteo Martincigh24e8f922019-09-19 11:57:46 +010029 virtual bool WritePacket(const unsigned char* buffer, uint32_t length) = 0;
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +010030
Jim Flynnbbfe6032020-07-20 16:57:44 +010031 virtual arm::pipe::Packet ReadPacket(uint32_t timeout) = 0;
Aron Virginas-Tar1a0f6912019-08-23 15:18:44 +010032};
33
34} // namespace profiling
35
36} // namespace armnn