Let airspace monitor store the aircraft parts history

This commit adds a feature in airspace monitor to store the history
of received aircraft parts. If needed the history can be retrieved
via context methods.

refs #835
This commit is contained in:
Roland Winklmeier
2016-12-16 20:51:13 +01:00
committed by Mathew Sutcliffe
parent a210b029f1
commit 4994bf12b2
11 changed files with 182 additions and 1 deletions

View File

@@ -21,6 +21,7 @@
#include "blackcore/corefacadeconfig.h"
#include "blackcore/network.h"
#include "blackmisc/audio/voiceroomlist.h"
#include "blackmisc/aviation/aircraftpartslist.h"
#include "blackmisc/aviation/airporticaocode.h"
#include "blackmisc/aviation/atcstation.h"
#include "blackmisc/aviation/atcstationlist.h"
@@ -275,6 +276,18 @@ namespace BlackCore
//! Enable reverse lookup logging
virtual void enableReverseLookupMessages(bool enabled) = 0;
//! Get aircraft parts history
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Get remote aircraft parts
virtual BlackMisc::Aviation::CAircraftPartsList getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeValuesBefore) const = 0;
//! Is storing the aircraft parts history enabled?
virtual bool isAircraftPartsHistoryEnabled() const = 0;
//! Enable storing of aircraft parts
virtual void enableAircraftPartsHistory(bool enabled) = 0;
// ------------------------ testing ------------------------
//! Create dummy ATC stations for performance tests etc.

View File

@@ -332,6 +332,37 @@ namespace BlackCore
logEmptyContextWarning(Q_FUNC_INFO);
Q_UNUSED(enabled);
}
//! \copydoc IContextNetwork::getAircraftPartsHistory
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override
{
logEmptyContextWarning(Q_FUNC_INFO);
Q_UNUSED(callsign);
return BlackMisc::CStatusMessageList();
}
//! \copydoc IContextNetwork::getRemoteAircraftParts
virtual BlackMisc::Aviation::CAircraftPartsList getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeValuesBefore) const override
{
logEmptyContextWarning(Q_FUNC_INFO);
Q_UNUSED(callsign);
Q_UNUSED(cutoffTimeValuesBefore);
return BlackMisc::Aviation::CAircraftPartsList();
}
//! \copydoc IContextNetwork::isAircraftPartsHistoryEnabled
virtual bool isAircraftPartsHistoryEnabled() const override
{
logEmptyContextWarning(Q_FUNC_INFO);
return false;
}
//! \copydoc IContextNetwork::enableAircraftPartsHistory
virtual void enableAircraftPartsHistory(bool enabled) override
{
logEmptyContextWarning(Q_FUNC_INFO);
Q_UNUSED(enabled);
}
};
} // namespace
} // namespace

View File

@@ -527,6 +527,31 @@ namespace BlackCore
emit CContext::changedLogOrDebugSettings();
}
CStatusMessageList CContextNetwork::getAircraftPartsHistory(const CCallsign &callsign) const
{
if (this->isDebugEnabled()) { BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign; }
return this->m_airspace->getAircraftPartsHistory(callsign);
}
CAircraftPartsList CContextNetwork::getRemoteAircraftParts(const CCallsign &callsign, qint64 cutoffTimeValuesBefore) const
{
if (this->isDebugEnabled()) { BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign; }
return this->m_airspace->remoteAircraftParts(callsign, cutoffTimeValuesBefore);
}
bool CContextNetwork::isAircraftPartsHistoryEnabled() const
{
if (this->isDebugEnabled()) { BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
return this->m_airspace->isAircraftPartsHistoryEnabled();
}
void CContextNetwork::enableAircraftPartsHistory(bool enabled)
{
if (this->isDebugEnabled()) { BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << enabled; }
this->m_airspace->enableAircraftPartsHistory(enabled);
emit CContext::changedLogOrDebugSettings();
}
CAtcStation CContextNetwork::getOnlineStationForCallsign(const CCallsign &callsign) const
{
if (this->isDebugEnabled()) { BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign; }

View File

@@ -181,6 +181,22 @@ namespace BlackCore
//! \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
//! \remarks Intentionally only running locally, not in interface

View File

@@ -231,6 +231,26 @@ namespace BlackCore
this->m_dBusInterface->callDBus(QLatin1Literal("enableReverseLookupLogging"), enabled);
}
CStatusMessageList CContextNetworkProxy::getAircraftPartsHistory(const CCallsign &callsign) const
{
return this->m_dBusInterface->callDBusRet<CStatusMessageList>(QLatin1Literal("getAircraftPartsHistory"), callsign);
}
CAircraftPartsList CContextNetworkProxy::getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeValuesBefore) const
{
return this->m_dBusInterface->callDBusRet<CAircraftPartsList>(QLatin1Literal("getRemoteAircraftParts"), callsign, cutoffTimeValuesBefore);
}
bool CContextNetworkProxy::isAircraftPartsHistoryEnabled() const
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isAircraftPartsHistoryEnabled"));
}
void CContextNetworkProxy::enableAircraftPartsHistory(bool enabled)
{
this->m_dBusInterface->callDBus(QLatin1Literal("enableAircraftPartsHistory"), enabled);
}
void CContextNetworkProxy::testCreateDummyOnlineAtcStations(int number)
{
this->m_dBusInterface->callDBus(QLatin1Literal("testCreateDummyOnlineAtcStations"), number);

View File

@@ -109,6 +109,10 @@ namespace BlackCore
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual bool isReverseLookupMessagesEnabled() const override;
virtual void enableReverseLookupMessages(bool enabled) override;
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Aviation::CAircraftPartsList getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, qint64 cutoffTimeValuesBefore) const override;
virtual bool isAircraftPartsHistoryEnabled() const override;
virtual void enableAircraftPartsHistory(bool enabled) override;
virtual void testCreateDummyOnlineAtcStations(int number) override;
virtual void testAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts, bool incremental) override;
virtual void testReceivedTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override;