Ref T632, utility functions in client/client list

This commit is contained in:
Klaus Basan
2019-04-24 13:34:41 +02:00
parent 7fee1cfcff
commit eb89273104
4 changed files with 19 additions and 3 deletions

View File

@@ -85,9 +85,9 @@ namespace BlackMisc
return this->hasCapability(FsdWithGroundFlag);
}
void CClient::setUserCallsign(const Aviation::CCallsign &callsign)
bool CClient::setUserCallsign(const Aviation::CCallsign &callsign)
{
m_user.setCallsign(callsign);
return m_user.setCallsign(callsign);
}
void CClient::setQueriedModelString(const QString &modelString)

View File

@@ -121,7 +121,7 @@ namespace BlackMisc
void setUser(const CUser &user) { m_user = user;}
//! User's callsign
void setUserCallsign(const BlackMisc::Aviation::CCallsign &callsign);
bool setUserCallsign(const BlackMisc::Aviation::CCallsign &callsign);
//! Server
const QString &getServer() const { return m_server; }

View File

@@ -29,5 +29,18 @@ namespace BlackMisc
if (this->isEmpty()) { return static_cast<CClient::Capabilities>(CClient::None); }
return this->findFirstByCallsign(callsign).getCapabilities();
}
CClientList CClientList::filterPilotsByCallsign(const CCallsignSet &callsigns) const
{
CClientList filtered;
for (const CClient &client : *this)
{
if (client.isAtc() || callsigns.contains(client.getCallsign()))
{
filtered.push_back(client);
}
}
return filtered;
}
} // namespace
} // namespace

View File

@@ -45,6 +45,9 @@ namespace BlackMisc
//! Capabilities of client for callsign
CClient::Capabilities getCapabilities(const Aviation::CCallsign &callsign) const;
//! Filter pilots by callsign in set
CClientList filterPilotsByCallsign(const Aviation::CCallsignSet &callsigns) const;
};
//! Client per callsign