mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-04 00:45:46 +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 CAircraftModelList modelSet(this->m_modelSet); // Models for this matching
|
||||||
const MatchingMode mode = this->m_matchingMode;
|
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("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());
|
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.hasModelString(), Q_FUNC_INFO, "Missing model string");
|
||||||
Q_ASSERT_X(matchedModel.getModelType() != CAircraftModel::TypeUnknown, Q_FUNC_INFO, "Missing model type");
|
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;
|
return matchedModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -482,34 +485,46 @@ namespace BlackCore
|
|||||||
return matchedModel;
|
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);
|
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
|
// first decide what set to use for scoring, it should not be too large
|
||||||
ScoredModels map;
|
if (remoteAircraft.hasAircraftAndAirlineDesignator() && usedModelSet.containsModelsWithAircraftAndAirlineDesignator(remoteAircraft.getAircraftIcaoCodeDesignator(), remoteAircraft.getAirlineIcaoCodeDesignator()))
|
||||||
if (remoteAircraft.hasAircraftAndAirlineDesignator() && modelSet.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());
|
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());
|
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());
|
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());
|
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());
|
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());
|
map = byAircraft.scoreFull(remoteAircraft.getModel());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using full set with %1 models").arg(modelSet.size()), getLogCategories());
|
CMatchingUtils::addLogDetailsToList(log, remoteAircraft, QString("Using set with %1 models").arg(usedModelSet.size()), getLogCategories());
|
||||||
map = modelSet.scoreFull(remoteAircraft.getModel());
|
map = usedModelSet.scoreFull(remoteAircraft.getModel());
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftModel matchedModel;
|
CAircraftModel matchedModel;
|
||||||
|
|||||||
@@ -21,13 +21,14 @@
|
|||||||
#include "blackmisc/aviation/comsystem.h"
|
#include "blackmisc/aviation/comsystem.h"
|
||||||
#include "blackmisc/aviation/modulator.h"
|
#include "blackmisc/aviation/modulator.h"
|
||||||
#include "blackmisc/aviation/transponder.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/compare.h"
|
||||||
#include "blackmisc/iterator.h"
|
#include "blackmisc/iterator.h"
|
||||||
#include "blackmisc/json.h"
|
#include "blackmisc/json.h"
|
||||||
#include "blackmisc/logmessage.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/propertyindexvariantmap.h"
|
||||||
#include "blackmisc/range.h"
|
#include "blackmisc/range.h"
|
||||||
#include "blackmisc/sequence.h"
|
#include "blackmisc/sequence.h"
|
||||||
@@ -195,15 +196,15 @@ namespace BlackCore
|
|||||||
Q_ASSERT_X(receiver, Q_FUNC_INFO, "Missing receiver");
|
Q_ASSERT_X(receiver, Q_FUNC_INFO, "Missing receiver");
|
||||||
|
|
||||||
// bind does not allow to define connection type, so we use receiver as workaround
|
// 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");
|
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");
|
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");
|
Q_ASSERT_X(c3, Q_FUNC_INFO, "connect failed");
|
||||||
// trick is to use the Queued signal here
|
// trick is to use the Queued signal here
|
||||||
// analyzer (own thread) -> airspaceAircraftSnapshot -> AirspaceMonitor -> airspaceAircraftSnapshot queued in main thread
|
// 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");
|
Q_ASSERT_X(c4, Q_FUNC_INFO, "connect failed");
|
||||||
return QList<QMetaObject::Connection>({ c1, c2, c3, c4});
|
return QList<QMetaObject::Connection>({ c1, c2, c3, c4});
|
||||||
}
|
}
|
||||||
@@ -250,6 +251,13 @@ namespace BlackCore
|
|||||||
return c > 0;
|
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()
|
void CAirspaceMonitor::updateMarkAllAsNotRendered()
|
||||||
{
|
{
|
||||||
QWriteLocker l(&m_lockAircraft);
|
QWriteLocker l(&m_lockAircraft);
|
||||||
@@ -307,7 +315,7 @@ namespace BlackCore
|
|||||||
CCallsignSet searchList(callsigns);
|
CCallsignSet searchList(callsigns);
|
||||||
|
|
||||||
// myself, which is not in the lists below
|
// myself, which is not in the lists below
|
||||||
CSimulatedAircraft myAircraft(getOwnAircraft());
|
const CSimulatedAircraft myAircraft(getOwnAircraft());
|
||||||
if (!myAircraft.getCallsign().isEmpty() && searchList.contains(myAircraft.getCallsign()))
|
if (!myAircraft.getCallsign().isEmpty() && searchList.contains(myAircraft.getCallsign()))
|
||||||
{
|
{
|
||||||
searchList.remove(myAircraft.getCallsign());
|
searchList.remove(myAircraft.getCallsign());
|
||||||
@@ -343,7 +351,7 @@ namespace BlackCore
|
|||||||
// those are the ones not in range
|
// those are the ones not in range
|
||||||
for (const CCallsign &callsign : searchList)
|
for (const CCallsign &callsign : searchList)
|
||||||
{
|
{
|
||||||
CUserList usersByCallsign = sApp->getWebDataServices()->getUsersForCallsign(callsign);
|
const CUserList usersByCallsign = sApp->getWebDataServices()->getUsersForCallsign(callsign);
|
||||||
if (usersByCallsign.isEmpty())
|
if (usersByCallsign.isEmpty())
|
||||||
{
|
{
|
||||||
CUser user;
|
CUser user;
|
||||||
@@ -663,7 +671,7 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
Q_ASSERT(CThreadUtils::isCurrentThreadObjectThread(this));
|
Q_ASSERT(CThreadUtils::isCurrentThreadObjectThread(this));
|
||||||
if (!this->isConnected()) { return; }
|
if (!this->isConnected()) { return; }
|
||||||
CAtcStationList stationsWithCallsign = this->m_atcStationsOnline.findByCallsign(callsign);
|
const CAtcStationList stationsWithCallsign = this->m_atcStationsOnline.findByCallsign(callsign);
|
||||||
if (stationsWithCallsign.isEmpty())
|
if (stationsWithCallsign.isEmpty())
|
||||||
{
|
{
|
||||||
// new station, init with data from data file
|
// new station, init with data from data file
|
||||||
@@ -699,7 +707,7 @@ namespace BlackCore
|
|||||||
vm.addValue(CAtcStation::IndexFrequency, frequency);
|
vm.addValue(CAtcStation::IndexFrequency, frequency);
|
||||||
vm.addValue(CAtcStation::IndexPosition, position);
|
vm.addValue(CAtcStation::IndexPosition, position);
|
||||||
vm.addValue(CAtcStation::IndexRange, range);
|
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(); }
|
if (changed > 0) { emit this->changedAtcStationsOnline(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -713,7 +721,7 @@ namespace BlackCore
|
|||||||
this->m_otherClients.removeByCallsign(callsign);
|
this->m_otherClients.removeByCallsign(callsign);
|
||||||
if (this->m_atcStationsOnline.containsCallsign(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);
|
this->m_atcStationsOnline.removeByCallsign(callsign);
|
||||||
emit this->changedAtcStationsOnline();
|
emit this->changedAtcStationsOnline();
|
||||||
emit this->changedAtcStationOnlineConnectionStatus(removedStation, false);
|
emit this->changedAtcStationOnlineConnectionStatus(removedStation, false);
|
||||||
@@ -933,7 +941,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
int CAirspaceMonitor::updateOnlineStations(const CCallsign &callsign, const CPropertyIndexVariantMap &vm, bool skipEqualValues, bool sendSignal)
|
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)
|
if (c > 0 && sendSignal)
|
||||||
{
|
{
|
||||||
emit this->changedAtcStationsOnline();
|
emit this->changedAtcStationsOnline();
|
||||||
@@ -943,7 +951,8 @@ namespace BlackCore
|
|||||||
|
|
||||||
int CAirspaceMonitor::updateBookedStations(const CCallsign &callsign, const CPropertyIndexVariantMap &vm, bool skipEqualValues, bool sendSignal)
|
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)
|
if (c > 0 && sendSignal)
|
||||||
{
|
{
|
||||||
emit this->changedAtcStationsBooked();
|
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 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 updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
|
||||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) 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 updateMarkAllAsNotRendered() override;
|
||||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||||
|
|||||||
@@ -637,14 +637,17 @@ namespace BlackCore
|
|||||||
|
|
||||||
bool CContextNetwork::updateAircraftRendered(const CCallsign &callsign, bool rendered)
|
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);
|
bool c = this->m_airspace->updateAircraftRendered(callsign, rendered);
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CContextNetwork::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||||
|
{
|
||||||
|
return this->m_airspace->updateAircraftGroundElevation(callsign, elevation);
|
||||||
|
}
|
||||||
|
|
||||||
void CContextNetwork::updateMarkAllAsNotRendered()
|
void CContextNetwork::updateMarkAllAsNotRendered()
|
||||||
{
|
{
|
||||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
|
||||||
this->m_airspace->updateMarkAllAsNotRendered();
|
this->m_airspace->updateMarkAllAsNotRendered();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,28 +84,13 @@ namespace BlackCore
|
|||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~CContextNetwork();
|
virtual ~CContextNetwork();
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftSituations
|
|
||||||
//! \ingroup remoteaircraftprovider
|
//! \ingroup remoteaircraftprovider
|
||||||
|
//! @{
|
||||||
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
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;
|
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;
|
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;
|
virtual bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::remoteAircraftSupportingParts
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const override;
|
virtual BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::connectRemoteAircraftProviderSignals
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
|
||||||
QObject *receiver,
|
QObject *receiver,
|
||||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
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::Aviation::CCallsign &)> removedAircraftSlot,
|
||||||
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> aircraftSnapshotSlot
|
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> aircraftSnapshotSlot
|
||||||
) override;
|
) override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::updateAircraftRendered
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) 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;
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::updateMarkAllAsNotRendered
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual void updateMarkAllAsNotRendered() override;
|
virtual void updateMarkAllAsNotRendered() override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
|
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
|
||||||
|
//! @}
|
||||||
|
|
||||||
//! Network library
|
//! Network library
|
||||||
INetwork *network() const { return m_network; }
|
INetwork *network() const { return m_network; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! \copydoc IContextNetwork::updateAircraftEnabled
|
// from context and provider interface
|
||||||
//! \ingroup remoteaircraftprovider
|
//! \ingroup remoteaircraftprovider
|
||||||
|
//! @{
|
||||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
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;
|
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;
|
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;
|
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;
|
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeCallsigns
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeCount
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual int getAircraftInRangeCount() const override;
|
virtual int getAircraftInRangeCount() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
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;
|
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;
|
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::isReverseLookupMessagesEnabled
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::enableReverseLookupMessages
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::getAircraftPartsHistory
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
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;
|
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;
|
virtual bool isAircraftPartsHistoryEnabled() const override;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Simulation::IRemoteAircraftProvider::enableAircraftPartsHistory
|
|
||||||
//! \ingroup remoteaircraftprovider
|
|
||||||
virtual void enableAircraftPartsHistory(bool enabled) override;
|
virtual void enableAircraftPartsHistory(bool enabled) override;
|
||||||
|
//! @}
|
||||||
|
|
||||||
//! In transition state, e.g. connecting, disconnecting.
|
//! 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
|
//! \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
|
//! \copydoc IContextNetwork::parseCommandLine
|
||||||
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
||||||
|
|
||||||
|
//! \copydoc IContextNetwork::getAtcStationsBooked()
|
||||||
|
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override;
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::readAtcBookingsFromSource()
|
//! \copydoc IContextNetwork::readAtcBookingsFromSource()
|
||||||
virtual void readAtcBookingsFromSource() const override;
|
virtual void readAtcBookingsFromSource() const override;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include "blackmisc/simulation/remoteaircraftprovider.h"
|
#include "blackmisc/simulation/remoteaircraftprovider.h"
|
||||||
|
|
||||||
using namespace BlackMisc::Aviation;
|
using namespace BlackMisc::Aviation;
|
||||||
|
using namespace BlackMisc::Geo;
|
||||||
|
|
||||||
namespace BlackMisc
|
namespace BlackMisc
|
||||||
{
|
{
|
||||||
@@ -93,6 +94,12 @@ namespace BlackMisc
|
|||||||
return this->m_remoteAircraftProvider->updateAircraftRendered(callsign, rendered);
|
return this->m_remoteAircraftProvider->updateAircraftRendered(callsign, rendered);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CRemoteAircraftAware::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||||
|
{
|
||||||
|
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
||||||
|
return this->m_remoteAircraftProvider->updateAircraftGroundElevation(callsign, elevation);
|
||||||
|
}
|
||||||
|
|
||||||
void CRemoteAircraftAware::updateMarkAllAsNotRendered()
|
void CRemoteAircraftAware::updateMarkAllAsNotRendered()
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace BlackMisc
|
|||||||
class CAircraftSituation;
|
class CAircraftSituation;
|
||||||
class CCallsign;
|
class CCallsign;
|
||||||
}
|
}
|
||||||
|
namespace Geo { class CElevationPlane; }
|
||||||
namespace Simulation
|
namespace Simulation
|
||||||
{
|
{
|
||||||
//! Direct thread safe in memory access to remote aircraft
|
//! Direct thread safe in memory access to remote aircraft
|
||||||
@@ -108,6 +108,10 @@ namespace BlackMisc
|
|||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) = 0;
|
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) = 0;
|
||||||
|
|
||||||
|
//! Ground elevation of aircraft
|
||||||
|
//! \threadsafe
|
||||||
|
virtual bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) = 0;
|
||||||
|
|
||||||
//! Mark all as not rendered
|
//! Mark all as not rendered
|
||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
virtual void updateMarkAllAsNotRendered() = 0;
|
virtual void updateMarkAllAsNotRendered() = 0;
|
||||||
@@ -168,7 +172,7 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRange
|
//! \copydoc IRemoteAircraftProvider::getAircraftInRange
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const;
|
BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeCount
|
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeCount
|
||||||
int getAircraftInRangeCount() const;
|
int getAircraftInRangeCount() const;
|
||||||
@@ -177,46 +181,46 @@ namespace BlackMisc
|
|||||||
BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const;
|
BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;
|
BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeModelForCallsign
|
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeModelForCallsign
|
||||||
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
|
//! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
|
||||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
|
BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituations
|
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituations
|
||||||
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const;
|
BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftParts
|
//! \copydoc IRemoteAircraftProvider::remoteAircraftParts
|
||||||
virtual BlackMisc::Aviation::CAircraftPartsList remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore) const;
|
BlackMisc::Aviation::CAircraftPartsList remoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeBefore) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSupportingParts
|
//! \copydoc IRemoteAircraftProvider::remoteAircraftSupportingParts
|
||||||
virtual BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const;
|
BlackMisc::Aviation::CCallsignSet remoteAircraftSupportingParts() const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituationsCount
|
//! \copydoc IRemoteAircraftProvider::remoteAircraftSituationsCount
|
||||||
virtual int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const;
|
int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::isRemoteAircraftSupportingParts
|
//! \copydoc IRemoteAircraftProvider::isRemoteAircraftSupportingParts
|
||||||
virtual bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const;
|
bool isRemoteAircraftSupportingParts(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
|
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
|
||||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering);
|
bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering);
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftNetworkModel
|
//! \copydoc IRemoteAircraftProvider::updateAircraftNetworkModel
|
||||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator);
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftRendered
|
//! \copydoc IRemoteAircraftProvider::updateAircraftRendered
|
||||||
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered);
|
bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered);
|
||||||
|
|
||||||
|
//! \copydoc IRemoteAircraftProvider::updateAircraftGroundElevation
|
||||||
|
bool updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation);
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProvider::updateMarkAllAsNotRendered
|
//! \copydoc IRemoteAircraftProvider::updateMarkAllAsNotRendered
|
||||||
virtual void updateMarkAllAsNotRendered();
|
void updateMarkAllAsNotRendered();
|
||||||
|
|
||||||
//! Destructor
|
|
||||||
virtual ~CRemoteAircraftAware() {}
|
|
||||||
|
|
||||||
//! Set remote aircraft provider
|
//! Set remote aircraft provider
|
||||||
void setRemoteAircraftProvider(IRemoteAircraftProvider *remoteAircraftProvider) { m_remoteAircraftProvider = remoteAircraftProvider; }
|
void setRemoteAircraftProvider(IRemoteAircraftProvider *remoteAircraftProvider) { m_remoteAircraftProvider = remoteAircraftProvider; }
|
||||||
|
|||||||
@@ -8,17 +8,19 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "blackmisc/aviation/callsign.h"
|
#include "blackmisc/aviation/callsign.h"
|
||||||
|
#include "blackmisc/geo/elevationplane.h"
|
||||||
|
#include "blackmisc/simulation/remoteaircraftproviderdummy.h"
|
||||||
#include "blackmisc/collection.h"
|
#include "blackmisc/collection.h"
|
||||||
#include "blackmisc/compare.h"
|
#include "blackmisc/compare.h"
|
||||||
#include "blackmisc/dictionary.h"
|
#include "blackmisc/dictionary.h"
|
||||||
#include "blackmisc/metaclassprivate.h"
|
#include "blackmisc/metaclassprivate.h"
|
||||||
#include "blackmisc/propertyindexvariantmap.h"
|
#include "blackmisc/propertyindexvariantmap.h"
|
||||||
#include "blackmisc/simulation/remoteaircraftproviderdummy.h"
|
|
||||||
#include "blackmisc/variant.h"
|
#include "blackmisc/variant.h"
|
||||||
|
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
|
|
||||||
using namespace BlackMisc::Aviation;
|
using namespace BlackMisc::Aviation;
|
||||||
|
using namespace BlackMisc::Geo;
|
||||||
|
|
||||||
namespace BlackMisc
|
namespace BlackMisc
|
||||||
{
|
{
|
||||||
@@ -105,7 +107,7 @@ namespace BlackMisc
|
|||||||
bool CRemoteAircraftProviderDummy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
|
bool CRemoteAircraftProviderDummy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
|
||||||
{
|
{
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRendering));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRendering));
|
||||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +115,7 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
Q_UNUSED(originator);
|
Q_UNUSED(originator);
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexModel, CVariant::from(model));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexModel, CVariant::from(model));
|
||||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,24 +123,31 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
Q_UNUSED(originator);
|
Q_UNUSED(originator);
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexNetworkModel, CVariant::from(model));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexNetworkModel, CVariant::from(model));
|
||||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CRemoteAircraftProviderDummy::updateFastPositionEnabled(const CCallsign &callsign, bool enableFastPositionUpdates)
|
bool CRemoteAircraftProviderDummy::updateFastPositionEnabled(const CCallsign &callsign, bool enableFastPositionUpdates)
|
||||||
{
|
{
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositionUpdates));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositionUpdates));
|
||||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CRemoteAircraftProviderDummy::updateAircraftRendered(const CCallsign &callsign, bool rendered)
|
bool CRemoteAircraftProviderDummy::updateAircraftRendered(const CCallsign &callsign, bool rendered)
|
||||||
{
|
{
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexRendered, CVariant::fromValue(rendered));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexRendered, CVariant::fromValue(rendered));
|
||||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
const int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CRemoteAircraftProviderDummy::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation)
|
||||||
|
{
|
||||||
|
CPropertyIndexVariantMap vm({ CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, CVariant::fromValue(elevation));
|
||||||
|
const int c = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
|
return c > 0;
|
||||||
|
}
|
||||||
|
|
||||||
void CRemoteAircraftProviderDummy::updateMarkAllAsNotRendered()
|
void CRemoteAircraftProviderDummy::updateMarkAllAsNotRendered()
|
||||||
{
|
{
|
||||||
this->m_aircraft.markAllAsNotRendered();
|
this->m_aircraft.markAllAsNotRendered();
|
||||||
|
|||||||
@@ -62,8 +62,7 @@ namespace BlackMisc
|
|||||||
//! Clear all data
|
//! Clear all data
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
//! \name Interface overrides
|
// Interface overrides
|
||||||
//! @{
|
|
||||||
virtual CSimulatedAircraftList getAircraftInRange() const override;
|
virtual CSimulatedAircraftList getAircraftInRange() const override;
|
||||||
virtual int getAircraftInRangeCount() const override;
|
virtual int getAircraftInRangeCount() const override;
|
||||||
virtual Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
virtual Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
|
||||||
@@ -84,9 +83,10 @@ namespace BlackMisc
|
|||||||
) override;
|
) override;
|
||||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
virtual bool updateAircraftNetworkModel(const Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||||
virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositionUpdates) override;
|
virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositionUpdates) override;
|
||||||
virtual bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered) override;
|
virtual bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered) override;
|
||||||
|
virtual bool updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation) override;
|
||||||
virtual void updateMarkAllAsNotRendered() override;
|
virtual void updateMarkAllAsNotRendered() override;
|
||||||
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||||
@@ -94,7 +94,6 @@ namespace BlackMisc
|
|||||||
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
virtual bool isAircraftPartsHistoryEnabled() const override;
|
virtual bool isAircraftPartsHistoryEnabled() const override;
|
||||||
virtual void enableAircraftPartsHistory(bool enabled) override;
|
virtual void enableAircraftPartsHistory(bool enabled) override;
|
||||||
//! @}
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Added situation
|
//! Added situation
|
||||||
|
|||||||
Reference in New Issue
Block a user