mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 01:05:34 +08:00
refs #840, update (ground) elevation via remote aircraft provider
This commit is contained in:
committed by
Mathew Sutcliffe
parent
667009c85e
commit
be297d8ccf
@@ -52,6 +52,8 @@ namespace BlackCore
|
||||
const CAircraftModelList modelSet(this->m_modelSet); // Models for this matching
|
||||
const MatchingMode mode = this->m_matchingMode;
|
||||
|
||||
static const QString format("hh:mm:ss.zzz");
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("--- Matching: %1 ---").arg(QDateTime::currentDateTimeUtc().toString(format)));
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Matching uses model set of %1 models").arg(modelSet.size()), getLogCategories());
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Input model: '%1' '%2'").arg(remoteAircraft.getCallsignAsString(), remoteAircraft.getModel().toQString()), getLogCategories());
|
||||
|
||||
@@ -108,6 +110,7 @@ namespace BlackCore
|
||||
Q_ASSERT_X(matchedModel.hasModelString(), Q_FUNC_INFO, "Missing model string");
|
||||
Q_ASSERT_X(matchedModel.getModelType() != CAircraftModel::TypeUnknown, Q_FUNC_INFO, "Missing model type");
|
||||
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("--- Matching end: %1 ---").arg(QDateTime::currentDateTimeUtc().toString(format)));
|
||||
return matchedModel;
|
||||
}
|
||||
|
||||
@@ -482,34 +485,46 @@ namespace BlackCore
|
||||
return matchedModel;
|
||||
}
|
||||
|
||||
CAircraftModel CAircraftMatcher::getClosestMatchScoreImplementation(MatchingMode mode, const BlackMisc::Simulation::CAircraftModelList &modelSet, const CSimulatedAircraft &remoteAircraft, CStatusMessageList *log) const
|
||||
CAircraftModel CAircraftMatcher::getClosestMatchScoreImplementation(MatchingMode mode, const CAircraftModelList &modelSet, const CSimulatedAircraft &remoteAircraft, CStatusMessageList *log) const
|
||||
{
|
||||
Q_UNUSED(mode);
|
||||
CAircraftModelList usedModelSet;
|
||||
|
||||
// VTOL
|
||||
ScoredModels map;
|
||||
if (remoteAircraft.isVtol() && modelSet.contains(&CAircraftModel::isVtol, true))
|
||||
{
|
||||
usedModelSet = modelSet.findBy(&CAircraftModel::isVtol, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
usedModelSet = modelSet;
|
||||
}
|
||||
|
||||
|
||||
// first decide what set to use for scoring, it should not be too large
|
||||
ScoredModels map;
|
||||
if (remoteAircraft.hasAircraftAndAirlineDesignator() && modelSet.containsModelsWithAircraftAndAirlineDesignator(remoteAircraft.getAircraftIcaoCodeDesignator(), remoteAircraft.getAirlineIcaoCodeDesignator()))
|
||||
if (remoteAircraft.hasAircraftAndAirlineDesignator() && usedModelSet.containsModelsWithAircraftAndAirlineDesignator(remoteAircraft.getAircraftIcaoCodeDesignator(), remoteAircraft.getAirlineIcaoCodeDesignator()))
|
||||
{
|
||||
const CAircraftModelList byAircraftAndAirline(modelSet.findByIcaoDesignators(remoteAircraft.getAircraftIcaoCode(), remoteAircraft.getAirlineIcaoCode()));
|
||||
const CAircraftModelList byAircraftAndAirline(usedModelSet.findByIcaoDesignators(remoteAircraft.getAircraftIcaoCode(), remoteAircraft.getAirlineIcaoCode()));
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using reduced set of %1 models by aircraft/airline ICAOs '%2'/'%3' for scoring").arg(byAircraftAndAirline.size()).arg(remoteAircraft.getAircraftIcaoCode().getDesignatorDbKey(), remoteAircraft.getAirlineIcaoCode().getVDesignatorDbKey()), getLogCategories());
|
||||
map = byAircraftAndAirline.scoreFull(remoteAircraft.getModel());
|
||||
}
|
||||
else if (remoteAircraft.hasAircraftDesignator() && modelSet.contains(&CAircraftModel::getAircraftIcaoCodeDesignator, remoteAircraft.getAircraftIcaoCodeDesignator()))
|
||||
else if (remoteAircraft.hasAircraftDesignator() && usedModelSet.contains(&CAircraftModel::getAircraftIcaoCodeDesignator, remoteAircraft.getAircraftIcaoCodeDesignator()))
|
||||
{
|
||||
const CAircraftModelList byAircraft(modelSet.findByIcaoDesignators(remoteAircraft.getAircraftIcaoCode(), CAirlineIcaoCode()));
|
||||
const CAircraftModelList byAircraft(usedModelSet.findByIcaoDesignators(remoteAircraft.getAircraftIcaoCode(), CAirlineIcaoCode()));
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using reduced set of %1 models by aircraft ICAO '%2' for scoring").arg(byAircraft.size()).arg(remoteAircraft.getAircraftIcaoCode().getDesignatorDbKey()), getLogCategories());
|
||||
map = byAircraft.scoreFull(remoteAircraft.getModel());
|
||||
}
|
||||
else if (remoteAircraft.getAircraftIcaoCode().hasValidCombinedType() && modelSet.containsCombinedType(remoteAircraft.getAircraftIcaoCode().getCombinedType()))
|
||||
else if (remoteAircraft.getAircraftIcaoCode().hasValidCombinedType() && usedModelSet.containsCombinedType(remoteAircraft.getAircraftIcaoCode().getCombinedType()))
|
||||
{
|
||||
const CAircraftModelList byAircraft(modelSet.findByCombinedType(remoteAircraft.getAircraftIcaoCode().getCombinedType()));
|
||||
const CAircraftModelList byAircraft(usedModelSet.findByCombinedType(remoteAircraft.getAircraftIcaoCode().getCombinedType()));
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using reduced set of %1 models by combined type '%2' for scoring").arg(byAircraft.size()).arg(remoteAircraft.getAircraftIcaoCode().getCombinedType()), getLogCategories());
|
||||
map = byAircraft.scoreFull(remoteAircraft.getModel());
|
||||
}
|
||||
else
|
||||
{
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using full set with %1 models").arg(modelSet.size()), getLogCategories());
|
||||
map = modelSet.scoreFull(remoteAircraft.getModel());
|
||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using set with %1 models").arg(usedModelSet.size()), getLogCategories());
|
||||
map = usedModelSet.scoreFull(remoteAircraft.getModel());
|
||||
}
|
||||
|
||||
CAircraftModel matchedModel;
|
||||
|
||||
@@ -21,13 +21,14 @@
|
||||
#include "blackmisc/aviation/comsystem.h"
|
||||
#include "blackmisc/aviation/modulator.h"
|
||||
#include "blackmisc/aviation/transponder.h"
|
||||
#include "blackmisc/geo/elevationplane.h"
|
||||
#include "blackmisc/network/user.h"
|
||||
#include "blackmisc/network/voicecapabilities.h"
|
||||
#include "blackmisc/pq/units.h"
|
||||
#include "blackmisc/compare.h"
|
||||
#include "blackmisc/iterator.h"
|
||||
#include "blackmisc/json.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
#include "blackmisc/network/user.h"
|
||||
#include "blackmisc/network/voicecapabilities.h"
|
||||
#include "blackmisc/pq/units.h"
|
||||
#include "blackmisc/propertyindexvariantmap.h"
|
||||
#include "blackmisc/range.h"
|
||||
#include "blackmisc/sequence.h"
|
||||
@@ -195,15 +196,15 @@ namespace BlackCore
|
||||
Q_ASSERT_X(receiver, Q_FUNC_INFO, "Missing receiver");
|
||||
|
||||
// bind does not allow to define connection type, so we use receiver as workaround
|
||||
QMetaObject::Connection c1 = connect(this, &CAirspaceMonitor::addedAircraftSituation, receiver, situationSlot);
|
||||
const QMetaObject::Connection c1 = connect(this, &CAirspaceMonitor::addedAircraftSituation, receiver, situationSlot);
|
||||
Q_ASSERT_X(c1, Q_FUNC_INFO, "connect failed");
|
||||
QMetaObject::Connection c2 = connect(this, &CAirspaceMonitor::addedAircraftParts, receiver, partsSlot);
|
||||
const QMetaObject::Connection c2 = connect(this, &CAirspaceMonitor::addedAircraftParts, receiver, partsSlot);
|
||||
Q_ASSERT_X(c2, Q_FUNC_INFO, "connect failed");
|
||||
QMetaObject::Connection c3 = connect(this, &CAirspaceMonitor::removedAircraft, receiver, removedAircraftSlot);
|
||||
const QMetaObject::Connection c3 = connect(this, &CAirspaceMonitor::removedAircraft, receiver, removedAircraftSlot);
|
||||
Q_ASSERT_X(c3, Q_FUNC_INFO, "connect failed");
|
||||
// trick is to use the Queued signal here
|
||||
// analyzer (own thread) -> airspaceAircraftSnapshot -> AirspaceMonitor -> airspaceAircraftSnapshot queued in main thread
|
||||
QMetaObject::Connection c4 = this->connect(this->m_analyzer, &CAirspaceAnalyzer::airspaceAircraftSnapshot, receiver, aircraftSnapshotSlot, Qt::QueuedConnection);
|
||||
const QMetaObject::Connection c4 = this->connect(this->m_analyzer, &CAirspaceAnalyzer::airspaceAircraftSnapshot, receiver, aircraftSnapshotSlot, Qt::QueuedConnection);
|
||||
Q_ASSERT_X(c4, Q_FUNC_INFO, "connect failed");
|
||||
return QList<QMetaObject::Connection>({ c1, c2, c3, c4});
|
||||
}
|
||||
@@ -250,6 +251,13 @@ namespace BlackCore
|
||||
return c > 0;
|
||||
}
|
||||
|
||||
bool CAirspaceMonitor::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||
{
|
||||
QWriteLocker l(&m_lockAircraft);
|
||||
const int c = m_aircraftInRange.setGroundElevation(callsign, elevation.geodeticHeight());
|
||||
return c > 0;
|
||||
}
|
||||
|
||||
void CAirspaceMonitor::updateMarkAllAsNotRendered()
|
||||
{
|
||||
QWriteLocker l(&m_lockAircraft);
|
||||
@@ -307,7 +315,7 @@ namespace BlackCore
|
||||
CCallsignSet searchList(callsigns);
|
||||
|
||||
// myself, which is not in the lists below
|
||||
CSimulatedAircraft myAircraft(getOwnAircraft());
|
||||
const CSimulatedAircraft myAircraft(getOwnAircraft());
|
||||
if (!myAircraft.getCallsign().isEmpty() && searchList.contains(myAircraft.getCallsign()))
|
||||
{
|
||||
searchList.remove(myAircraft.getCallsign());
|
||||
@@ -343,7 +351,7 @@ namespace BlackCore
|
||||
// those are the ones not in range
|
||||
for (const CCallsign &callsign : searchList)
|
||||
{
|
||||
CUserList usersByCallsign = sApp->getWebDataServices()->getUsersForCallsign(callsign);
|
||||
const CUserList usersByCallsign = sApp->getWebDataServices()->getUsersForCallsign(callsign);
|
||||
if (usersByCallsign.isEmpty())
|
||||
{
|
||||
CUser user;
|
||||
@@ -663,7 +671,7 @@ namespace BlackCore
|
||||
{
|
||||
Q_ASSERT(CThreadUtils::isCurrentThreadObjectThread(this));
|
||||
if (!this->isConnected()) { return; }
|
||||
CAtcStationList stationsWithCallsign = this->m_atcStationsOnline.findByCallsign(callsign);
|
||||
const CAtcStationList stationsWithCallsign = this->m_atcStationsOnline.findByCallsign(callsign);
|
||||
if (stationsWithCallsign.isEmpty())
|
||||
{
|
||||
// new station, init with data from data file
|
||||
@@ -699,7 +707,7 @@ namespace BlackCore
|
||||
vm.addValue(CAtcStation::IndexFrequency, frequency);
|
||||
vm.addValue(CAtcStation::IndexPosition, position);
|
||||
vm.addValue(CAtcStation::IndexRange, range);
|
||||
int changed = this->m_atcStationsOnline.applyIf(&CAtcStation::getCallsign, callsign, vm, true);
|
||||
const int changed = this->m_atcStationsOnline.applyIfCallsign(callsign, vm, true);
|
||||
if (changed > 0) { emit this->changedAtcStationsOnline(); }
|
||||
}
|
||||
|
||||
@@ -713,7 +721,7 @@ namespace BlackCore
|
||||
this->m_otherClients.removeByCallsign(callsign);
|
||||
if (this->m_atcStationsOnline.containsCallsign(callsign))
|
||||
{
|
||||
CAtcStation removedStation = this->m_atcStationsOnline.findFirstByCallsign(callsign);
|
||||
const CAtcStation removedStation = this->m_atcStationsOnline.findFirstByCallsign(callsign);
|
||||
this->m_atcStationsOnline.removeByCallsign(callsign);
|
||||
emit this->changedAtcStationsOnline();
|
||||
emit this->changedAtcStationOnlineConnectionStatus(removedStation, false);
|
||||
@@ -933,7 +941,7 @@ namespace BlackCore
|
||||
|
||||
int CAirspaceMonitor::updateOnlineStations(const CCallsign &callsign, const CPropertyIndexVariantMap &vm, bool skipEqualValues, bool sendSignal)
|
||||
{
|
||||
const int c = this->m_atcStationsOnline.applyIf(&CAtcStation::getCallsign, callsign, vm, skipEqualValues);
|
||||
const int c = this->m_atcStationsOnline.applyIfCallsign(callsign, vm, skipEqualValues);
|
||||
if (c > 0 && sendSignal)
|
||||
{
|
||||
emit this->changedAtcStationsOnline();
|
||||
@@ -943,7 +951,8 @@ namespace BlackCore
|
||||
|
||||
int CAirspaceMonitor::updateBookedStations(const CCallsign &callsign, const CPropertyIndexVariantMap &vm, bool skipEqualValues, bool sendSignal)
|
||||
{
|
||||
const int c = this->m_atcStationsBooked.applyIf(&CAtcStation::getCallsign, callsign, vm, skipEqualValues);
|
||||
// do not used applyFirst here, more stations wit callsign at a time
|
||||
const int c = this->m_atcStationsBooked.applyIfCallsign(callsign, vm, skipEqualValues);
|
||||
if (c > 0 && sendSignal)
|
||||
{
|
||||
emit this->changedAtcStationsBooked();
|
||||
|
||||
@@ -100,6 +100,7 @@ namespace BlackCore
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
|
||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) override;
|
||||
virtual bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) override;
|
||||
virtual void updateMarkAllAsNotRendered() override;
|
||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||
|
||||
@@ -637,14 +637,17 @@ namespace BlackCore
|
||||
|
||||
bool CContextNetwork::updateAircraftRendered(const CCallsign &callsign, bool rendered)
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign << rendered; }
|
||||
bool c = this->m_airspace->updateAircraftRendered(callsign, rendered);
|
||||
return c;
|
||||
}
|
||||
|
||||
bool CContextNetwork::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||
{
|
||||
return this->m_airspace->updateAircraftGroundElevation(callsign, elevation);
|
||||
}
|
||||
|
||||
void CContextNetwork::updateMarkAllAsNotRendered()
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
this->m_airspace->updateMarkAllAsNotRendered();
|
||||
}
|
||||
|
||||
|
||||
@@ -84,28 +84,13 @@ namespace BlackCore
|
||||
//! Destructor
|
||||
virtual ~CContextNetwork();
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftSituations
|
||||
//! \ingroup remoteaircraftprovider
|
||||
//! @{
|
||||
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftSituationsCount
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftParts
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Aviation::CAircraftPartsList remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore = -1) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::isRemoteAircraftSupportingParts
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftSupportingParts
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::connectRemoteAircraftProviderSignals
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
@@ -113,89 +98,36 @@ namespace BlackCore
|
||||
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
|
||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> aircraftSnapshotSlot
|
||||
) override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::updateAircraftRendered
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::updateMarkAllAsNotRendered
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) override;
|
||||
virtual void updateMarkAllAsNotRendered() override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
|
||||
//! @}
|
||||
|
||||
//! Network library
|
||||
INetwork *network() const { return m_network; }
|
||||
|
||||
public slots:
|
||||
//! \copydoc IContextNetwork::updateAircraftEnabled
|
||||
// from context and provider interface
|
||||
//! \ingroup remoteaircraftprovider
|
||||
//! @{
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
|
||||
//! \copydoc IContextNetwork::updateAircraftModel
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::updateAircraftNetworkModel
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::updateFastPositionEnabled
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
|
||||
|
||||
//! \copydoc IContextNetwork::getAtcStationsBooked()
|
||||
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRange
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeCallsigns
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeCount
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual int getAircraftInRangeCount() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeModelForCallsign
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getReverseLookupMessages
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::isReverseLookupMessagesEnabled
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::enableReverseLookupMessages
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftPartsHistory
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftParts
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual BlackMisc::Aviation::CAircraftPartsList getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeValuesBefore) const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::isAircraftPartsHistoryEnabled
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual bool isAircraftPartsHistoryEnabled() const override;
|
||||
|
||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::enableAircraftPartsHistory
|
||||
//! \ingroup remoteaircraftprovider
|
||||
virtual void enableAircraftPartsHistory(bool enabled) override;
|
||||
//! @}
|
||||
|
||||
//! In transition state, e.g. connecting, disconnecting.
|
||||
//! \details In such a state it is advisable to wait until an end state (connected/disconnected) is reached
|
||||
@@ -211,6 +143,9 @@ namespace BlackCore
|
||||
//! \copydoc IContextNetwork::parseCommandLine
|
||||
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::getAtcStationsBooked()
|
||||
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override;
|
||||
|
||||
//! \copydoc IContextNetwork::readAtcBookingsFromSource()
|
||||
virtual void readAtcBookingsFromSource() const override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user