mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 21:15:33 +08:00
Ref T632, utility functions in client/client list
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user