forked from Qortal/Brooklyn
51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
//
|
|
// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "EncodeVersion.hpp"
|
|
|
|
namespace arm
|
|
{
|
|
|
|
namespace pipe
|
|
{
|
|
|
|
class PacketKey final
|
|
{
|
|
public:
|
|
PacketKey(uint32_t familyId, uint32_t packetId) : m_FamilyId(familyId), m_PacketId(packetId) {}
|
|
|
|
uint32_t GetFamilyId() { return m_FamilyId; }
|
|
uint32_t GetPacketId() { return m_PacketId; }
|
|
|
|
bool operator< (const PacketKey& rhs) const;
|
|
bool operator> (const PacketKey& rhs) const;
|
|
bool operator<=(const PacketKey& rhs) const;
|
|
bool operator>=(const PacketKey& rhs) const;
|
|
bool operator==(const PacketKey& rhs) const;
|
|
bool operator!=(const PacketKey& rhs) const;
|
|
|
|
private:
|
|
uint32_t m_FamilyId;
|
|
uint32_t m_PacketId;
|
|
};
|
|
|
|
static const PacketKey ActivateTimeLinePacket(0 , 6);
|
|
static const PacketKey DeactivateTimeLinePacket(0 , 7);
|
|
|
|
class PacketVersionResolver final
|
|
{
|
|
public:
|
|
PacketVersionResolver() = default;
|
|
~PacketVersionResolver() = default;
|
|
|
|
Version ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const;
|
|
};
|
|
|
|
} // namespace pipe
|
|
|
|
} // namespace arm
|