Added methods getUsers / getUsersForCallsigns

This commit is contained in:
Klaus Basan
2014-01-21 01:59:44 +01:00
parent a71658a5f3
commit 3769ad1e65
2 changed files with 49 additions and 1 deletions

View File

@@ -11,8 +11,9 @@
#include "blackcore/coreruntime.h"
#include "blackcore/context_network_interface.h"
#include "blackmisc/avallclasses.h"
#include "blackmisc/statusmessage.h"
#include "blackmisc/statusmessagelist.h"
#include "blackmisc/nwuserlist.h"
#include <QTimer>
#include <QNetworkAccessManager>
@@ -174,6 +175,16 @@ namespace BlackCore
*/
virtual BlackMisc::Voice::CVoiceRoomList getSelectedVoiceRooms() const;
/*!
* \brief Get all users
*/
virtual BlackMisc::Network::CUserList getUsers() const;
/*!
* \brief All users with callsign, e.g. for voice room resolution
*/
virtual BlackMisc::Network::CUserList getUsersForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const;
private:
BlackMisc::Aviation::CAtcStationList m_atcStationsOnline;
BlackMisc::Aviation::CAtcStationList m_atcStationsBooked;

View File

@@ -102,6 +102,43 @@ namespace BlackCore
return rooms;
}
/*
* All users
*/
CUserList CContextNetwork::getUsers() const
{
CUserList users;
foreach(CAtcStation station, this->m_atcStationsOnline)
{
users.push_back(station.getController());
}
foreach(CAircraft aircraft, this->m_aircraftsInRange)
{
users.push_back(aircraft.getPilot());
}
return users;
}
/*
* Users with callsigns
*/
CUserList CContextNetwork::getUsersForCallsigns(const CCallsignList &callsigns) const
{
CUserList users;
if (callsigns.isEmpty()) return users;
foreach(CAtcStation station, this->m_atcStationsOnline)
{
if (callsigns.contains(station.getCallsign()))
users.push_back(station.getController());
}
foreach(CAircraft aircraft, this->m_aircraftsInRange)
{
if (callsigns.contains(aircraft.getCallsign()))
users.push_back(aircraft.getPilot());
}
return users;
}
/*
* ATC Position update
*/