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