mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 10:55:32 +08:00
Improved handling in CContextNetwork::getUsersForCallsigns
CContextNetwork::readAtcBookingsFromSource(), URL from settings Helper method: BlackMisc::Settings::CSettingsNetwork getNetworkSettings()
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
#include "blackcore/network_vatlib.h"
|
#include "blackcore/network_vatlib.h"
|
||||||
#include "blackcore/coreruntime.h"
|
#include "blackcore/coreruntime.h"
|
||||||
#include "blackcore/context_network_interface.h"
|
#include "blackcore/context_network_interface.h"
|
||||||
|
#include "blackcore/context_settings_interface.h"
|
||||||
#include "blackmisc/avcallsignlist.h"
|
#include "blackmisc/avcallsignlist.h"
|
||||||
#include "blackmisc/statusmessagelist.h"
|
#include "blackmisc/statusmessagelist.h"
|
||||||
#include "blackmisc/nwuserlist.h"
|
#include "blackmisc/nwuserlist.h"
|
||||||
@@ -34,7 +35,6 @@ namespace BlackCore
|
|||||||
public:
|
public:
|
||||||
/*!
|
/*!
|
||||||
* \brief With link to server
|
* \brief With link to server
|
||||||
* \param server
|
|
||||||
*/
|
*/
|
||||||
CContextNetwork(CCoreRuntime *runtime);
|
CContextNetwork(CCoreRuntime *runtime);
|
||||||
|
|
||||||
@@ -127,45 +127,37 @@ namespace BlackCore
|
|||||||
virtual BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft);
|
virtual BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Update own position
|
* \copydoc IContextNetwork::updateOwnPosition()
|
||||||
* \param position own position
|
|
||||||
* \param altitude own altitude
|
|
||||||
*/
|
*/
|
||||||
virtual void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude);
|
virtual void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Update own situation
|
* \copydoc IContextNetwork::updateOwnSituation()
|
||||||
* \param situation own situation
|
|
||||||
*/
|
*/
|
||||||
virtual void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
virtual void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Update own cockpit
|
* \copydoc IContextNetwork::updateOwnCockpit()
|
||||||
* \param com1 my COM1 unit
|
|
||||||
* \param com2 my COM2 unit
|
|
||||||
* \param transponder my transponder
|
|
||||||
*/
|
*/
|
||||||
virtual void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder);
|
virtual void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Get own aircraft
|
* \copydoc IContextNetwork::getOwnAircraft()
|
||||||
*/
|
*/
|
||||||
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const;
|
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Text messages (also private chat messages)
|
* \copydoc IContextNetwork::sendTextMessages()
|
||||||
*/
|
*/
|
||||||
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages);
|
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Request METAR
|
* \copydoc IContextNetwork::getMetar()
|
||||||
* \param airportIcaoCode e.g. EDDF, KLAX
|
|
||||||
*/
|
*/
|
||||||
virtual BlackMisc::Aviation::CInformationMessage getMetar(const QString &airportIcaoCode);
|
virtual BlackMisc::Aviation::CInformationMessage getMetar(const QString &airportIcaoCode);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Selected COM1/2 frequencies as voice rooms
|
* \copydoc IContextNetwork::getSelectedVoiceRooms()
|
||||||
* \return COM1/2 voice rooms
|
|
||||||
*/
|
*/
|
||||||
virtual BlackMisc::Voice::CVoiceRoomList getSelectedVoiceRooms() const;
|
virtual BlackMisc::Voice::CVoiceRoomList getSelectedVoiceRooms() const;
|
||||||
|
|
||||||
@@ -223,6 +215,16 @@ namespace BlackCore
|
|||||||
*/
|
*/
|
||||||
void initOwnAircraft();
|
void initOwnAircraft();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Get network settings
|
||||||
|
*/
|
||||||
|
BlackMisc::Settings::CSettingsNetwork getNetworkSettings() const
|
||||||
|
{
|
||||||
|
Q_ASSERT(this->getRuntime());
|
||||||
|
Q_ASSERT(this->getRuntime()->getIContextSettings());
|
||||||
|
return this->getRuntime()->getIContextSettings()->getNetworkSettings();
|
||||||
|
}
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/*!
|
/*!
|
||||||
* \brief Connection status changed
|
* \brief Connection status changed
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace BlackCore
|
|||||||
*/
|
*/
|
||||||
void CContextNetwork::readAtcBookingsFromSource() const
|
void CContextNetwork::readAtcBookingsFromSource() const
|
||||||
{
|
{
|
||||||
QUrl url("http://vatbook.euroutepro.com/xml2.php");
|
QUrl url(this->getNetworkSettings().getBookingServiceUrl());
|
||||||
QNetworkRequest request(url);
|
QNetworkRequest request(url);
|
||||||
this->m_networkManager->get(request);
|
this->m_networkManager->get(request);
|
||||||
}
|
}
|
||||||
@@ -108,13 +108,16 @@ namespace BlackCore
|
|||||||
CUserList CContextNetwork::getUsers() const
|
CUserList CContextNetwork::getUsers() const
|
||||||
{
|
{
|
||||||
CUserList users;
|
CUserList users;
|
||||||
|
CUser user;
|
||||||
foreach(CAtcStation station, this->m_atcStationsOnline)
|
foreach(CAtcStation station, this->m_atcStationsOnline)
|
||||||
{
|
{
|
||||||
users.push_back(station.getController());
|
user = station.getController();
|
||||||
|
users.push_back(user);
|
||||||
}
|
}
|
||||||
foreach(CAircraft aircraft, this->m_aircraftsInRange)
|
foreach(CAircraft aircraft, this->m_aircraftsInRange)
|
||||||
{
|
{
|
||||||
users.push_back(aircraft.getPilot());
|
user = aircraft.getPilot();
|
||||||
|
users.push_back(user);
|
||||||
}
|
}
|
||||||
return users;
|
return users;
|
||||||
}
|
}
|
||||||
@@ -126,15 +129,36 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
CUserList users;
|
CUserList users;
|
||||||
if (callsigns.isEmpty()) return users;
|
if (callsigns.isEmpty()) return users;
|
||||||
|
CCallsignList searchList(callsigns);
|
||||||
|
CUser user;
|
||||||
|
CCallsign callsign;
|
||||||
foreach(CAtcStation station, this->m_atcStationsOnline)
|
foreach(CAtcStation station, this->m_atcStationsOnline)
|
||||||
{
|
{
|
||||||
if (callsigns.contains(station.getCallsign()))
|
callsign = station.getCallsign();
|
||||||
users.push_back(station.getController());
|
if (callsigns.contains(callsign))
|
||||||
|
{
|
||||||
|
user = station.getController();
|
||||||
|
users.push_back(user);
|
||||||
|
searchList.remove(callsign);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
foreach(CAircraft aircraft, this->m_aircraftsInRange)
|
foreach(CAircraft aircraft, this->m_aircraftsInRange)
|
||||||
{
|
{
|
||||||
if (callsigns.contains(aircraft.getCallsign()))
|
callsign = aircraft.getCallsign();
|
||||||
users.push_back(aircraft.getPilot());
|
if (callsigns.contains(callsign))
|
||||||
|
{
|
||||||
|
user = aircraft.getPilot();
|
||||||
|
users.push_back(user);
|
||||||
|
searchList.remove(callsign);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// we might have unsresolved callsigns
|
||||||
|
foreach(CCallsign unresolved, searchList)
|
||||||
|
{
|
||||||
|
user = CUser();
|
||||||
|
user.setCallsign(unresolved);
|
||||||
|
users.push_back(user);
|
||||||
}
|
}
|
||||||
return users;
|
return users;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Disconnect from network
|
* \brief Disconnect from network
|
||||||
* \return messages gererated during disconnecting
|
* \return messages generated during disconnecting
|
||||||
*/
|
*/
|
||||||
virtual BlackMisc::CStatusMessageList disconnectFromNetwork();
|
virtual BlackMisc::CStatusMessageList disconnectFromNetwork();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user