blob: 743bb937c2e61ce01704d048a513ebb8580d5ab4 [file] [log] [blame]
Francis Murtagh11f99b42019-08-16 11:28:52 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Jan Eilers8eb25602020-03-09 12:13:48 +00006#pragma once
7
Francis Murtagh11f99b42019-08-16 11:28:52 +01008#include "Packet.hpp"
9
Jan Eilers8eb25602020-03-09 12:13:48 +000010#include <armnn/utility/IgnoreUnused.hpp>
Francis Murtagh11f99b42019-08-16 11:28:52 +010011
Jan Eilers8eb25602020-03-09 12:13:48 +000012#include <cstdint>
Derek Lamberti1dd75b32019-12-10 21:23:23 +000013
Aron Virginas-Tare898db92019-08-22 12:56:34 +010014namespace armnn
15{
16
17namespace profiling
18{
19
Francis Murtagh11f99b42019-08-16 11:28:52 +010020class CommandHandlerFunctor
21{
22public:
Jim Flynn397043f2019-10-17 17:37:10 +010023 CommandHandlerFunctor(uint32_t familyId, uint32_t packetId, uint32_t version)
24 : m_FamilyId(familyId),
25 m_PacketId(packetId)
Matteo Martincighc2728f92019-10-07 12:35:21 +010026 , m_Version(version)
27 {}
Francis Murtagh11f99b42019-08-16 11:28:52 +010028
Jim Flynn397043f2019-10-17 17:37:10 +010029 uint32_t GetFamilyId() const;
Francis Murtagh11f99b42019-08-16 11:28:52 +010030 uint32_t GetPacketId() const;
31 uint32_t GetVersion() const;
32
Derek Lamberti1dd75b32019-12-10 21:23:23 +000033 virtual void operator()(const Packet& packet) = 0;
Francis Murtagh11f99b42019-08-16 11:28:52 +010034
Jim Flynnc4728ad2019-10-07 15:15:12 +010035 virtual ~CommandHandlerFunctor() {}
36
Francis Murtagh11f99b42019-08-16 11:28:52 +010037private:
Jim Flynn397043f2019-10-17 17:37:10 +010038 uint32_t m_FamilyId;
Francis Murtagh11f99b42019-08-16 11:28:52 +010039 uint32_t m_PacketId;
40 uint32_t m_Version;
Aron Virginas-Tare898db92019-08-22 12:56:34 +010041};
42
43} // namespace profiling
44
45} // namespace armnn