diff --git a/src/blackmisc/network/textmessage.cpp b/src/blackmisc/network/textmessage.cpp index 8f85b5945..6576eb913 100644 --- a/src/blackmisc/network/textmessage.cpp +++ b/src/blackmisc/network/textmessage.cpp @@ -118,6 +118,13 @@ namespace BlackMisc return CComSystem::isValidCivilAviationFrequency(m_frequency); } + bool CTextMessage::mentionsCallsign(const CCallsign &callsign) const + { + if (callsign.isEmpty()) { return false; } + if (m_message.length() < callsign.asString().length()) { return false; } + return m_message.contains(callsign.asString(), Qt::CaseInsensitive); + } + QString CTextMessage::getAsciiOnlyMessage() const { if (m_message.isEmpty()) { return {}; } diff --git a/src/blackmisc/network/textmessage.h b/src/blackmisc/network/textmessage.h index a2f9b4e91..8cfe4993c 100644 --- a/src/blackmisc/network/textmessage.h +++ b/src/blackmisc/network/textmessage.h @@ -85,6 +85,9 @@ namespace BlackMisc //! Get message const QString &getMessage() const { return m_message; } + //! Is the callsign given mentioned in that message + bool mentionsCallsign(const Aviation::CCallsign &callsign) const; + //! Get ASCII only message QString getAsciiOnlyMessage() const;