blob: ea76d101410179d46833b0d2f337d4884e62b2f7 [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
6#include "Packet.hpp"
7
8#include <cstdint>
9
Derek Lamberti1dd75b32019-12-10 21:23:23 +000010#include <boost/core/ignore_unused.hpp>
11
Aron Virginas-Tare898db92019-08-22 12:56:34 +010012namespace armnn
13{
14
15namespace profiling
16{
17
Francis Murtagh11f99b42019-08-16 11:28:52 +010018#pragma once
19
20class 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