From 819c4cb0db55ef9c6de3042f8a04f27d2648b259 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 15 Dec 2014 17:28:32 +0100 Subject: [PATCH] refs #358, new finders for client list --- src/blackmisc/nwclientlist.cpp | 18 ++++++++++++++++++ src/blackmisc/nwclientlist.h | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/blackmisc/nwclientlist.cpp b/src/blackmisc/nwclientlist.cpp index 5698859e1..251822c63 100644 --- a/src/blackmisc/nwclientlist.cpp +++ b/src/blackmisc/nwclientlist.cpp @@ -10,6 +10,8 @@ #include "nwclientlist.h" #include "predicates.h" +using namespace BlackMisc::Aviation; + namespace BlackMisc { namespace Network @@ -39,5 +41,21 @@ namespace BlackMisc registerMetaValueType(); } + /* + * Find by callsign + */ + CClientList CClientList::findByCallsign(const CCallsign &callsign) const + { + return findBy(&CClient::getCallsign, callsign); + } + + /* + * Find by callsign + */ + CClient CClientList::findFirstByCallsign(const CCallsign &callsign, const CClient &ifNotFound) const + { + return this->findByCallsign(callsign).frontOrDefault(ifNotFound); + } + } // namespace } // namespace diff --git a/src/blackmisc/nwclientlist.h b/src/blackmisc/nwclientlist.h index b30191a08..597cb918e 100644 --- a/src/blackmisc/nwclientlist.h +++ b/src/blackmisc/nwclientlist.h @@ -15,6 +15,7 @@ #include "nwclient.h" #include "sequence.h" #include "collection.h" +#include "blackmisc/avcallsign.h" #include #include #include @@ -39,6 +40,11 @@ namespace BlackMisc //! Register metadata static void registerMetadata(); + //! Find by callsign + CClientList findByCallsign(const BlackMisc::Aviation::CCallsign &callsign) const; + + //! First by callsign + CClient findFirstByCallsign(const BlackMisc::Aviation::CCallsign &callsign, const CClient &ifNotFound = CClient()) const; }; } //namespace