refs #702, access to reverse lookup log messages per callsign

* added functions in airspace / context
* allow to retrieve "aircraft in range" callsigns
This commit is contained in:
Klaus Basan
2016-07-05 13:11:31 +02:00
parent 9f7fbaeda9
commit 83eca195a8
13 changed files with 312 additions and 63 deletions

View File

@@ -28,6 +28,12 @@ namespace BlackMisc
return this->m_remoteAircraftProvider->getAircraftInRangeCount();
}
CCallsignSet CRemoteAircraftAware::getAircraftInRangeCallsigns() const
{
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
return this->m_remoteAircraftProvider->getAircraftInRangeCallsigns();
}
CSimulatedAircraft CRemoteAircraftAware::getAircraftInRangeForCallsign(const CCallsign &callsign) const
{
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");

View File

@@ -64,6 +64,10 @@ namespace BlackMisc
//! \threadsafe
virtual int getAircraftInRangeCount() const = 0;
//! Unique callsigns for aircraft in range
//! \threadsafe
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const = 0;
//! Current snapshot
//! \threadsafe
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const = 0;
@@ -116,6 +120,18 @@ namespace BlackMisc
//! \threadsafe
virtual bool updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const BlackMisc::CIdentifier &originator) = 0;
//! Get reverse lookup meesages
//! \threadsafe
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Enabled reverse lookup logging?
//! \threadsafe
virtual bool isReverseLookupMessagesEnabled() const = 0;
//! Enable reverse lookup logging
//! \threadsafe
virtual void enableReverseLookupMessages(bool enabled) = 0;
//! Destructor
virtual ~IRemoteAircraftProvider() {}
@@ -129,7 +145,6 @@ namespace BlackMisc
std::function<void(const BlackMisc::Aviation::CCallsign &)> removedAircraftSlot,
std::function<void(const BlackMisc::Simulation::CAirspaceAircraftSnapshot &)> aircraftSnapshot
) = 0;
};
//! Class which can be directly used to access an \sa IRemoteAircraftProvider object
@@ -142,6 +157,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeCount
int getAircraftInRangeCount() const;
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeCallsigns
BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const;
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;

View File

@@ -18,20 +18,11 @@
#include <QHash>
namespace BlackMisc {
namespace Aviation {
class CAircraftParts;
class CAircraftSituation;
} // namespace Aviation
} // namespace BlackMisc
using namespace BlackMisc::Aviation;
namespace BlackMisc
{
namespace Simulation
{
CRemoteAircraftProviderDummy::CRemoteAircraftProviderDummy(QObject *parent) : QObject(parent)
{ }
@@ -45,6 +36,11 @@ namespace BlackMisc
return m_aircraft.size();
}
CCallsignSet CRemoteAircraftProviderDummy::getAircraftInRangeCallsigns() const
{
return m_aircraft.getCallsigns();
}
CSimulatedAircraft CRemoteAircraftProviderDummy::getAircraftInRangeForCallsign(const CCallsign &callsign) const
{
return m_aircraft.findFirstByCallsign(callsign);
@@ -143,6 +139,22 @@ namespace BlackMisc
this->m_aircraft.markAllAsNotRendered();
}
CStatusMessageList CRemoteAircraftProviderDummy::getReverseLookupMessages(const CCallsign &callsign) const
{
Q_UNUSED(callsign);
return CStatusMessageList();
}
bool CRemoteAircraftProviderDummy::isReverseLookupMessagesEnabled() const
{
return false;
}
void CRemoteAircraftProviderDummy::enableReverseLookupMessages(bool enabled)
{
Q_UNUSED(enabled);
}
void CRemoteAircraftProviderDummy::insertNewSituation(const CAircraftSituation &situation)
{
this->m_situations.push_front(situation);

View File

@@ -59,6 +59,9 @@ namespace BlackMisc
//! IRemoteAircraftProvider::getAircraftInRangeCount
virtual int getAircraftInRangeCount() const override;
//! IRemoteAircraftProvider::getAircraftInRangeCallsigns
virtual Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
//! IRemoteAircraftProvider::getAircraftInRangeForCallsign
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
@@ -107,6 +110,15 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::updateMarkAllAsNotRendered
virtual void updateMarkAllAsNotRendered(const BlackMisc::CIdentifier &originator) override;
//! \copydoc IRemoteAircraftProvider::getReverseLookupMessages
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! \copydoc IRemoteAircraftProvider::isReverseLookupMessagesEnabled
virtual bool isReverseLookupMessagesEnabled() const override;
//! \copydoc IRemoteAircraftProvider::enableReverseLookupMessages
virtual void enableReverseLookupMessages(bool enabled) override;
//! For testing, add new situation and fire signals
void insertNewSituation(const BlackMisc::Aviation::CAircraftSituation &situation);