xref: /aosp_15_r20/external/armnn/profiling/common/include/CommandHandlerKey.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <cstdint>
9 
10 namespace arm
11 {
12 
13 namespace pipe
14 {
15 
16 class CommandHandlerKey
17 {
18 public:
CommandHandlerKey(uint32_t familyId,uint32_t packetId,uint32_t version)19     CommandHandlerKey(uint32_t familyId, uint32_t packetId, uint32_t version)
20     : m_FamilyId(familyId), m_PacketId(packetId), m_Version(version) {};
21 
22     uint32_t GetFamilyId() const;
23     uint32_t GetPacketId() const;
24     uint32_t GetVersion()  const;
25 
26     bool operator< (const CommandHandlerKey& rhs) const;
27     bool operator> (const CommandHandlerKey& rhs) const;
28     bool operator<=(const CommandHandlerKey& rhs) const;
29     bool operator>=(const CommandHandlerKey& rhs) const;
30     bool operator==(const CommandHandlerKey& rhs) const;
31     bool operator!=(const CommandHandlerKey& rhs) const;
32 
33 private:
34     uint32_t m_FamilyId;
35     uint32_t m_PacketId;
36     uint32_t m_Version;
37 };
38 
39 } // namespace pipe
40 
41 } // namespace arm
42