diff --git a/src/blackmisc/aviation/atcstation.cpp b/src/blackmisc/aviation/atcstation.cpp index 2e80cd866..d04aa498d 100644 --- a/src/blackmisc/aviation/atcstation.cpp +++ b/src/blackmisc/aviation/atcstation.cpp @@ -381,6 +381,7 @@ namespace BlackMisc case IndexAtis: return m_atis.propertyByIndex(index.copyFrontRemoved()); case IndexMetar: return m_metar.propertyByIndex(index.copyFrontRemoved()); case IndexVoiceRoom: return m_voiceRoom.propertyByIndex(index.copyFrontRemoved()); + case IndexIsAfvCrossCoupled: return CVariant::from(m_isAfvCrossCoupled); default: return (ICoordinateWithRelativePosition::canHandleIndex(index)) ? ICoordinateWithRelativePosition::propertyByIndex(index) : @@ -405,6 +406,7 @@ namespace BlackMisc case IndexAtis: m_atis.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexMetar: m_metar.setPropertyByIndex(index.copyFrontRemoved(), variant); break; case IndexVoiceRoom: m_voiceRoom.setPropertyByIndex(index.copyFrontRemoved(), variant); break; + case IndexIsAfvCrossCoupled: this->setAfvCrossCoupled(variant.value()); break; default: if (ICoordinateWithRelativePosition::canHandleIndex(index)) { @@ -438,6 +440,7 @@ namespace BlackMisc case IndexAtis: return m_atis.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getAtis()); case IndexMetar: return m_metar.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getMetar()); case IndexVoiceRoom: return this->getVoiceRoom().getVoiceRoomUrl().compare(compareValue.getVoiceRoom().getVoiceRoomUrl()); + case IndexIsAfvCrossCoupled: return Compare::compare(this->isAfvCrossCoupled(), compareValue.isAfvCrossCoupled()); default: if (ICoordinateWithRelativePosition::canHandleIndex(index)) { diff --git a/src/blackmisc/aviation/atcstation.h b/src/blackmisc/aviation/atcstation.h index 97babc2d6..313bf6eec 100644 --- a/src/blackmisc/aviation/atcstation.h +++ b/src/blackmisc/aviation/atcstation.h @@ -54,6 +54,7 @@ namespace BlackMisc IndexRange, IndexIsInRange, IndexIsOnline, + IndexIsAfvCrossCoupled, IndexBookedFrom, IndexBookedUntil, IndexLatitude, @@ -169,6 +170,12 @@ namespace BlackMisc //! Set online bool setOnline(bool online); + //! Is AFV cross coupled? + bool isAfvCrossCoupled() const { return m_isAfvCrossCoupled; } + + //! Set AFV cross coupled + void setAfvCrossCoupled(bool coupled) { m_isAfvCrossCoupled = coupled; } + //! Get voice room const Audio::CVoiceRoom &getVoiceRoom() const { return m_voiceRoom; } @@ -280,6 +287,7 @@ namespace BlackMisc Geo::CCoordinateGeodetic m_position; PhysicalQuantities::CLength m_range; bool m_isOnline = false; + bool m_isAfvCrossCoupled = false; QDateTime m_bookedFromUtc; QDateTime m_bookedUntilUtc; CInformationMessage m_atis { CInformationMessage::ATIS }; @@ -294,6 +302,7 @@ namespace BlackMisc BLACK_METAMEMBER(position), BLACK_METAMEMBER(range), BLACK_METAMEMBER(isOnline), + BLACK_METAMEMBER(isAfvCrossCoupled), BLACK_METAMEMBER(bookedFromUtc), BLACK_METAMEMBER(bookedUntilUtc), BLACK_METAMEMBER(atis),