1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include <common/include/PacketVersionResolver.hpp> 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker namespace arm 9*89c4ff92SAndroid Build Coastguard Worker { 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker namespace pipe 12*89c4ff92SAndroid Build Coastguard Worker { 13*89c4ff92SAndroid Build Coastguard Worker operator <(const PacketKey & rhs) const14*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator<(const PacketKey& rhs) const 15*89c4ff92SAndroid Build Coastguard Worker { 16*89c4ff92SAndroid Build Coastguard Worker bool result = true; 17*89c4ff92SAndroid Build Coastguard Worker if (m_FamilyId == rhs.m_FamilyId) 18*89c4ff92SAndroid Build Coastguard Worker { 19*89c4ff92SAndroid Build Coastguard Worker result = m_PacketId < rhs.m_PacketId; 20*89c4ff92SAndroid Build Coastguard Worker } 21*89c4ff92SAndroid Build Coastguard Worker else if (m_FamilyId > rhs.m_FamilyId) 22*89c4ff92SAndroid Build Coastguard Worker { 23*89c4ff92SAndroid Build Coastguard Worker result = false; 24*89c4ff92SAndroid Build Coastguard Worker } 25*89c4ff92SAndroid Build Coastguard Worker return result; 26*89c4ff92SAndroid Build Coastguard Worker } 27*89c4ff92SAndroid Build Coastguard Worker operator >(const PacketKey & rhs) const28*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator>(const PacketKey& rhs) const 29*89c4ff92SAndroid Build Coastguard Worker { 30*89c4ff92SAndroid Build Coastguard Worker return rhs < *this; 31*89c4ff92SAndroid Build Coastguard Worker } 32*89c4ff92SAndroid Build Coastguard Worker operator <=(const PacketKey & rhs) const33*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator<=(const PacketKey& rhs) const 34*89c4ff92SAndroid Build Coastguard Worker { 35*89c4ff92SAndroid Build Coastguard Worker return !(*this > rhs); 36*89c4ff92SAndroid Build Coastguard Worker } 37*89c4ff92SAndroid Build Coastguard Worker operator >=(const PacketKey & rhs) const38*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator>=(const PacketKey& rhs) const 39*89c4ff92SAndroid Build Coastguard Worker { 40*89c4ff92SAndroid Build Coastguard Worker return !(*this < rhs); 41*89c4ff92SAndroid Build Coastguard Worker } 42*89c4ff92SAndroid Build Coastguard Worker operator ==(const PacketKey & rhs) const43*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator==(const PacketKey& rhs) const 44*89c4ff92SAndroid Build Coastguard Worker { 45*89c4ff92SAndroid Build Coastguard Worker return m_FamilyId == rhs.m_FamilyId && m_PacketId == rhs.m_PacketId; 46*89c4ff92SAndroid Build Coastguard Worker } 47*89c4ff92SAndroid Build Coastguard Worker operator !=(const PacketKey & rhs) const48*89c4ff92SAndroid Build Coastguard Workerbool PacketKey::operator!=(const PacketKey& rhs) const 49*89c4ff92SAndroid Build Coastguard Worker { 50*89c4ff92SAndroid Build Coastguard Worker return !(*this == rhs); 51*89c4ff92SAndroid Build Coastguard Worker } 52*89c4ff92SAndroid Build Coastguard Worker ResolvePacketVersion(uint32_t familyId,uint32_t packetId) const53*89c4ff92SAndroid Build Coastguard WorkerVersion PacketVersionResolver::ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const 54*89c4ff92SAndroid Build Coastguard Worker { 55*89c4ff92SAndroid Build Coastguard Worker const PacketKey packetKey(familyId, packetId); 56*89c4ff92SAndroid Build Coastguard Worker 57*89c4ff92SAndroid Build Coastguard Worker if( packetKey == ActivateTimeLinePacket ) 58*89c4ff92SAndroid Build Coastguard Worker { 59*89c4ff92SAndroid Build Coastguard Worker return Version(1, 1, 0); 60*89c4ff92SAndroid Build Coastguard Worker } 61*89c4ff92SAndroid Build Coastguard Worker if( packetKey == DeactivateTimeLinePacket ) 62*89c4ff92SAndroid Build Coastguard Worker { 63*89c4ff92SAndroid Build Coastguard Worker return Version(1, 1, 0); 64*89c4ff92SAndroid Build Coastguard Worker } 65*89c4ff92SAndroid Build Coastguard Worker 66*89c4ff92SAndroid Build Coastguard Worker return Version(1, 0, 0); 67*89c4ff92SAndroid Build Coastguard Worker } 68*89c4ff92SAndroid Build Coastguard Worker 69*89c4ff92SAndroid Build Coastguard Worker } // namespace pipe 70*89c4ff92SAndroid Build Coastguard Worker 71*89c4ff92SAndroid Build Coastguard Worker } // namespace arm 72