refs #242, removed own aircraft from network context

* removed attribute
* changed to use object (local) from own aircraft context
* helper methods
This commit is contained in:
Klaus Basan
2014-05-20 22:29:24 +02:00
parent 8236617fbc
commit c2cd983d64
7 changed files with 73 additions and 112 deletions

View File

@@ -101,9 +101,6 @@ namespace BlackCore
//! User for given callsign, e.g. for text messages //! User for given callsign, e.g. for text messages
virtual BlackMisc::Network::CUser getUserForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const = 0; virtual BlackMisc::Network::CUser getUserForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Get own aircraft
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const = 0;
//! Information about other clients //! Information about other clients
virtual BlackMisc::Network::CClientList getOtherClients() const = 0; virtual BlackMisc::Network::CClientList getOtherClients() const = 0;
@@ -126,22 +123,6 @@ namespace BlackCore
//! \brief Network connected? //! \brief Network connected?
virtual bool isConnected() const = 0; virtual bool isConnected() const = 0;
/*!
* Set own aircraft
* \param aircraft
* \return message list, as aircraft can only be set prior connecting
*/
virtual BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft) = 0;
//! Own position, be aware height is terrain height
virtual void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) = 0;
//! Complete situation update
virtual void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) = 0;
//! Update own cockpit
virtual void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder) = 0;
//! Text messages (radio and private chat messages) //! Text messages (radio and private chat messages)
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) = 0; virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) = 0;
@@ -170,6 +151,7 @@ namespace BlackCore
protected: protected:
//! Constructor //! Constructor
IContextNetwork(CRuntimeConfig::ContextMode mode, CRuntime *runtime) : CContext(mode, runtime) {} IContextNetwork(CRuntimeConfig::ContextMode mode, CRuntime *runtime) : CContext(mode, runtime) {}
}; };
} }

View File

@@ -43,7 +43,7 @@ namespace BlackCore
aircraft.setCallsign(callsign); aircraft.setCallsign(callsign);
aircraft.setSituation(situation); aircraft.setSituation(situation);
aircraft.setTransponder(transponder); aircraft.setTransponder(transponder);
aircraft.calculcateDistanceToPlane(this->m_ownAircraft.getPosition()); aircraft.calculcateDistanceToPlane(this->ownAircraft().getPosition());
this->m_vatsimDataFileReader->getAircrafts().updateFromVatsimDataFileAircraft(aircraft); this->m_vatsimDataFileReader->getAircrafts().updateFromVatsimDataFileAircraft(aircraft);
this->m_aircraftsInRange.push_back(aircraft); this->m_aircraftsInRange.push_back(aircraft);
@@ -67,7 +67,7 @@ namespace BlackCore
else else
{ {
// update // update
CLength distance = this->m_ownAircraft.calculcateDistanceToPlane(situation.getPosition()); CLength distance = this->ownAircraft().calculcateDistanceToPlane(situation.getPosition());
distance.switchUnit(CLengthUnit::NM()); distance.switchUnit(CLengthUnit::NM());
CIndexVariantMap vm; CIndexVariantMap vm;
vm.addValue(CAircraft::IndexTransponder, transponder); vm.addValue(CAircraft::IndexTransponder, transponder);

View File

@@ -138,8 +138,8 @@ namespace BlackCore
*/ */
CAtcStationList CContextNetwork::getSelectedAtcStations() const CAtcStationList CContextNetwork::getSelectedAtcStations() const
{ {
CAtcStationList stationsCom1 = this->m_atcStationsOnline.findIfComUnitTunedIn25KHz(this->m_ownAircraft.getCom1System()); CAtcStationList stationsCom1 = this->m_atcStationsOnline.findIfComUnitTunedIn25KHz(this->ownAircraft().getCom1System());
CAtcStationList stationsCom2 = this->m_atcStationsOnline.findIfComUnitTunedIn25KHz(this->m_ownAircraft.getCom2System()); CAtcStationList stationsCom2 = this->m_atcStationsOnline.findIfComUnitTunedIn25KHz(this->ownAircraft().getCom2System());
stationsCom1.sortBy(&CAtcStation::getDistanceToPlane); stationsCom1.sortBy(&CAtcStation::getDistanceToPlane);
stationsCom2.sortBy(&CAtcStation::getDistanceToPlane); stationsCom2.sortBy(&CAtcStation::getDistanceToPlane);
@@ -179,7 +179,7 @@ namespace BlackCore
station.setFrequency(frequency); station.setFrequency(frequency);
station.setPosition(position); station.setPosition(position);
station.setOnline(true); station.setOnline(true);
station.calculcateDistanceToPlane(this->m_ownAircraft.getPosition()); station.calculcateDistanceToPlane(this->ownAircraft().getPosition());
this->m_vatsimDataFileReader->getAtcStations().updateFromVatsimDataFileStation(station); // prefill this->m_vatsimDataFileReader->getAtcStations().updateFromVatsimDataFileStation(station); // prefill
this->m_atcStationsOnline.push_back(station); this->m_atcStationsOnline.push_back(station);
emit this->changedAtcStationsOnline(); emit this->changedAtcStationsOnline();

View File

@@ -8,6 +8,7 @@
#include "context_settings.h" #include "context_settings.h"
#include "context_application.h" #include "context_application.h"
#include "context_simulator.h" #include "context_simulator.h"
#include "context_ownaircraft_impl.h"
#include "network_vatlib.h" #include "network_vatlib.h"
#include "vatsimbookingreader.h" #include "vatsimbookingreader.h"
#include "vatsimdatafilereader.h" #include "vatsimdatafilereader.h"
@@ -94,8 +95,8 @@ namespace BlackCore
{ {
Q_ASSERT(this->getRuntime()); Q_ASSERT(this->getRuntime());
Q_ASSERT(this->getRuntime()->getIContextSettings()); Q_ASSERT(this->getRuntime()->getIContextSettings());
this->m_ownAircraft.initComSystems(); this->ownAircraft().initComSystems();
this->m_ownAircraft.initTransponder(); this->ownAircraft().initTransponder();
CAircraftSituation situation( CAircraftSituation situation(
CCoordinateGeodetic( CCoordinateGeodetic(
CLatitude::fromWgs84("N 049° 18' 17"), CLatitude::fromWgs84("N 049° 18' 17"),
@@ -103,13 +104,13 @@ namespace BlackCore
CLength(0, CLengthUnit::m())), CLength(0, CLengthUnit::m())),
CAltitude(312, CAltitude::MeanSeaLevel, CLengthUnit::ft()) CAltitude(312, CAltitude::MeanSeaLevel, CLengthUnit::ft())
); );
this->m_ownAircraft.setSituation(situation); this->ownAircraft().setSituation(situation);
this->m_ownAircraft.setPilot(this->getIContextSettings()->getNetworkSettings().getCurrentTrafficNetworkServer().getUser()); this->ownAircraft().setPilot(this->getIContextSettings()->getNetworkSettings().getCurrentTrafficNetworkServer().getUser());
// TODO: This would need to come from somewhere (mappings) // TODO: This would need to come from somewhere (mappings)
// Own callsign, plane ICAO status, model used // Own callsign, plane ICAO status, model used
this->m_ownAircraft.setCallsign(CCallsign("BLACK")); this->ownAircraft().setCallsign(CCallsign("BLACK"));
this->m_ownAircraft.setIcaoInfo(CAircraftIcao("C172", "L1P", "GA", "GA", "0000ff")); this->ownAircraft().setIcaoInfo(CAircraftIcao("C172", "L1P", "GA", "GA", "0000ff"));
} }
/* /*
@@ -125,7 +126,7 @@ namespace BlackCore
{ {
msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityWarning, "Invalid user credentials")); msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityWarning, "Invalid user credentials"));
} }
else if (!this->m_ownAircraft.getIcaoInfo().hasAircraftAndAirlineDsignator()) else if (!this->ownAircraft().getIcaoInfo().hasAircraftAndAirlineDsignator())
{ {
msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityWarning, "Invalid ICAO data for own aircraft")); msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityWarning, "Invalid ICAO data for own aircraft"));
} }
@@ -139,12 +140,12 @@ namespace BlackCore
if (CNetworkUtils::canConnect(currentServer, msg, 2000)) if (CNetworkUtils::canConnect(currentServer, msg, 2000))
{ {
INetwork::LoginMode mode = static_cast<INetwork::LoginMode>(loginMode); INetwork::LoginMode mode = static_cast<INetwork::LoginMode>(loginMode);
this->m_ownAircraft.setPilot(currentServer.getUser()); // still needed? this->ownAircraft().setPilot(currentServer.getUser()); // still needed?
this->m_network->presetServer(currentServer); this->m_network->presetServer(currentServer);
this->m_network->presetLoginMode(mode); this->m_network->presetLoginMode(mode);
this->m_network->presetCallsign(this->m_ownAircraft.getCallsign()); this->m_network->presetCallsign(this->ownAircraft().getCallsign());
this->m_network->presetIcaoCodes(this->m_ownAircraft.getIcaoInfo()); this->m_network->presetIcaoCodes(this->ownAircraft().getIcaoInfo());
this->m_network->setOwnAircraft(this->m_ownAircraft); this->m_network->setOwnAircraft(this->ownAircraft());
this->m_network->initiateConnection(); this->m_network->initiateConnection();
msg = "Connection pending "; msg = "Connection pending ";
msg.append(" ").append(currentServer.getAddress()).append(" ").append(QString::number(currentServer.getPort())); msg.append(" ").append(currentServer.getAddress()).append(" ").append(QString::number(currentServer.getPort()));
@@ -205,7 +206,7 @@ namespace BlackCore
} }
else else
{ {
this->m_ownAircraft = aircraft; this->ownAircraft() = aircraft;
} }
return msgs; return msgs;
} }
@@ -216,8 +217,8 @@ namespace BlackCore
void CContextNetwork::updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) void CContextNetwork::updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude)
{ {
if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, position.toQString(), altitude.toQString()); if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, position.toQString(), altitude.toQString());
this->m_ownAircraft.setPosition(position); this->ownAircraft().setPosition(position);
this->m_ownAircraft.setAltitude(altitude); this->ownAircraft().setAltitude(altitude);
this->m_network->setOwnAircraftPosition(position, altitude); this->m_network->setOwnAircraftPosition(position, altitude);
} }
@@ -227,7 +228,7 @@ namespace BlackCore
void CContextNetwork::updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) void CContextNetwork::updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation)
{ {
if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, situation.toQString()); if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, situation.toQString());
this->m_ownAircraft.setSituation(situation); this->ownAircraft().setSituation(situation);
this->m_network->setOwnAircraftSituation(situation); this->m_network->setOwnAircraftSituation(situation);
} }
@@ -238,19 +239,19 @@ namespace BlackCore
{ {
if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, com1.toQString(), com2.toQString(), transponder.toQString()); if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, com1.toQString(), com2.toQString(), transponder.toQString());
bool changed = false; bool changed = false;
if (com1 != this->m_ownAircraft.getCom1System()) if (com1 != this->ownAircraft().getCom1System())
{ {
this->m_ownAircraft.setCom1System(com1); this->ownAircraft().setCom1System(com1);
changed = true; changed = true;
} }
if (com2 != this->m_ownAircraft.getCom2System()) if (com2 != this->ownAircraft().getCom2System())
{ {
this->m_ownAircraft.setCom2System(com2); this->ownAircraft().setCom2System(com2);
changed = true; changed = true;
} }
if (transponder != this->m_ownAircraft.getTransponder()) if (transponder != this->ownAircraft().getTransponder())
{ {
this->m_ownAircraft.setTransponder(transponder); this->ownAircraft().setTransponder(transponder);
changed = true; changed = true;
} }
@@ -263,8 +264,8 @@ namespace BlackCore
*/ */
CAircraft CContextNetwork::getOwnAircraft() const CAircraft CContextNetwork::getOwnAircraft() const
{ {
if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, this->m_ownAircraft.toQString()); if (this->getRuntime()->isSlotLogForNetworkEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, this->ownAircraft().toQString());
return this->m_ownAircraft; return this->ownAircraft();
} }
/* /*
@@ -402,7 +403,7 @@ namespace BlackCore
if (to == INetwork::Connected) if (to == INetwork::Connected)
{ {
QString m("Connected, own aircraft "); QString m("Connected, own aircraft ");
m.append(this->m_ownAircraft.toQString(true)); m.append(this->ownAircraft().toQString(true));
msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityInfo, m)); msgs.push_back(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityInfo, m));
} }
@@ -531,4 +532,19 @@ namespace BlackCore
icao.getAircraftCombinedType(), modelString); icao.getAircraftCombinedType(), modelString);
return data; return data;
} }
const CAircraft &CContextNetwork::ownAircraft() const
{
Q_ASSERT(this->getRuntime());
Q_ASSERT(this->getRuntime()->getCContextOwnAircraft());
return this->getRuntime()->getCContextOwnAircraft()->ownAircraft();
}
CAircraft &CContextNetwork::ownAircraft()
{
Q_ASSERT(this->getRuntime());
Q_ASSERT(this->getRuntime()->getCContextOwnAircraft());
return this->getRuntime()->getCContextOwnAircraft()->ownAircraft();
}
} // namespace } // namespace

View File

@@ -35,6 +35,25 @@ namespace BlackCore
//! Destructor //! Destructor
virtual ~CContextNetwork(); virtual ~CContextNetwork();
/*!
* Set own aircraft
* \param aircraft
* \return message list, as aircraft can only be set prior connecting
*/
BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft);
//! Own position, be aware height is terrain height
void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude);
//! Complete situation update
void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
//! Update own cockpit
void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder);
//! Get own aircraft
BlackMisc::Aviation::CAircraft getOwnAircraft() const;
public slots: // IContextNetwork overrides public slots: // IContextNetwork overrides
//! \copydoc IContextNetwork::readAtcBookingsFromSource() //! \copydoc IContextNetwork::readAtcBookingsFromSource()
@@ -70,21 +89,6 @@ namespace BlackCore
//! \copydoc IContextNetwork::isConnected() //! \copydoc IContextNetwork::isConnected()
virtual bool isConnected() const override; virtual bool isConnected() const override;
//! \copydoc IContextNetwork::setOwnAircraft()
virtual BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft) override;
//! \copydoc IContextNetwork::updateOwnPosition()
virtual void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) override;
//! \copydoc IContextNetwork::updateOwnSituation()
virtual void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
//! \copydoc IContextNetwork::updateOwnCockpit()
virtual void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder) override;
//! \copydoc IContextNetwork::getOwnAircraft()
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const override;
//! \copydoc IContextNetwork::sendTextMessages() //! \copydoc IContextNetwork::sendTextMessages()
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override; virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;
@@ -139,7 +143,6 @@ namespace BlackCore
BlackMisc::Aviation::CAircraftList m_aircraftsInRange; BlackMisc::Aviation::CAircraftList m_aircraftsInRange;
BlackMisc::Network::CClientList m_otherClients; BlackMisc::Network::CClientList m_otherClients;
BlackCore::INetwork *m_network; BlackCore::INetwork *m_network;
BlackMisc::Aviation::CAircraft m_ownAircraft;
QMap<QString, BlackMisc::Aviation::CInformationMessage> m_metarCache /*!< Keep METARs for a while */; QMap<QString, BlackMisc::Aviation::CInformationMessage> m_metarCache /*!< Keep METARs for a while */;
// for reading XML and VATSIM data files // for reading XML and VATSIM data files
@@ -154,16 +157,10 @@ namespace BlackCore
void setAtcStationsOnline(const BlackMisc::Aviation::CAtcStationList &newStations); void setAtcStationsOnline(const BlackMisc::Aviation::CAtcStationList &newStations);
//! The "central" ATC list with online ATC controllers //! The "central" ATC list with online ATC controllers
BlackMisc::Aviation::CAtcStationList &atcStationsOnline() BlackMisc::Aviation::CAtcStationList &atcStationsOnline() { return m_atcStationsOnline; }
{
return m_atcStationsOnline;
}
//! ATC list, with booked controllers //! ATC list, with booked controllers
BlackMisc::Aviation::CAtcStationList &atcStationsBooked() BlackMisc::Aviation::CAtcStationList &atcStationsBooked() { return m_atcStationsBooked; }
{
return m_atcStationsBooked;
}
//! Init my very own aircraft //! Init my very own aircraft
void initOwnAircraft(); void initOwnAircraft();
@@ -185,6 +182,12 @@ namespace BlackCore
//! Custom package data based on own aircraft / model //! Custom package data based on own aircraft / model
QStringList createFsipiCustomPackageData() const; QStringList createFsipiCustomPackageData() const;
//! Own aircraft
const BlackMisc::Aviation::CAircraft &ownAircraft() const;
//! Own aircraft
BlackMisc::Aviation::CAircraft &ownAircraft();
private slots: private slots:
//! ATC bookings received //! ATC bookings received
void psReceivedBookings(BlackMisc::Aviation::CAtcStationList bookedStations); void psReceivedBookings(BlackMisc::Aviation::CAtcStationList bookedStations);

View File

@@ -111,11 +111,6 @@ namespace BlackCore
this->m_dBusInterface->callDBus(QLatin1Literal("requestAtisUpdates")); this->m_dBusInterface->callDBus(QLatin1Literal("requestAtisUpdates"));
} }
BlackMisc::Aviation::CAircraft CContextNetworkProxy::getOwnAircraft() const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Aviation::CAircraft>(QLatin1Literal("getOwnAircraft"));
}
BlackMisc::CStatusMessageList CContextNetworkProxy::connectToNetwork(uint loginMode) BlackMisc::CStatusMessageList CContextNetworkProxy::connectToNetwork(uint loginMode)
{ {
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1Literal("connectToNetwork"), loginMode); return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1Literal("connectToNetwork"), loginMode);
@@ -131,26 +126,6 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isConnected")); return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isConnected"));
} }
BlackMisc::CStatusMessageList CContextNetworkProxy::setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft)
{
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1Literal("setOwnAircraft"), aircraft);
}
void CContextNetworkProxy::updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude)
{
this->m_dBusInterface->callDBus(QLatin1Literal("updateOwnPosition"), position, altitude);
}
void CContextNetworkProxy::updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation)
{
this->m_dBusInterface->callDBus(QLatin1Literal("updateOwnSituation"), situation);
}
void CContextNetworkProxy::updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder)
{
this->m_dBusInterface->callDBus(QLatin1Literal("updateOwnCockpit"), com1, com2, transponder);
}
void CContextNetworkProxy::sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) void CContextNetworkProxy::sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages)
{ {
this->m_dBusInterface->callDBus(QLatin1Literal("sendTextMessages"), textMessages); this->m_dBusInterface->callDBus(QLatin1Literal("sendTextMessages"), textMessages);

View File

@@ -73,21 +73,6 @@ namespace BlackCore
//! \copydoc IContextNetwork::isConnected() //! \copydoc IContextNetwork::isConnected()
virtual bool isConnected() const override; virtual bool isConnected() const override;
//! \copydoc IContextNetwork::setOwnAircraft()
virtual BlackMisc::CStatusMessageList setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft) override;
//! \copydoc IContextNetwork::updateOwnPosition()
virtual void updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) override;
//! \copydoc IContextNetwork::updateOwnSituation()
virtual void updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
//! \copydoc IContextNetwork::updateOwnCockpit()
virtual void updateOwnCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder) override;
//! \copydoc IContextNetwork::getOwnAircraft()
virtual BlackMisc::Aviation::CAircraft getOwnAircraft() const override;
//! \copydoc IContextNetwork::sendTextMessages() //! \copydoc IContextNetwork::sendTextMessages()
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override; virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;