mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-24 09:54:16 +08:00
refs #369, thread safe access to aircraft parts, situations
This commit is contained in:
@@ -59,6 +59,76 @@ namespace BlackCore
|
|||||||
this->connect(&this->m_atcWatchdog, &CAirspaceWatchdog::timeout, this, &CAirspaceMonitor::ps_atcControllerDisconnected);
|
this->connect(&this->m_atcWatchdog, &CAirspaceWatchdog::timeout, this, &CAirspaceMonitor::ps_atcControllerDisconnected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const CSimulatedAircraftList &CAirspaceMonitor::renderedAircraft() const
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftInRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
CSimulatedAircraftList &CAirspaceMonitor::renderedAircraft()
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftInRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CAircraftSituationList &CAirspaceMonitor::renderedAircraftSituations() const
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftSituations;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAircraftSituationList &CAirspaceMonitor::renderedAircraftSituations()
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftSituations;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAircraftSituationList CAirspaceMonitor::getRenderedAircraftSituations() const
|
||||||
|
{
|
||||||
|
if (this->thread() == QThread::currentThread()) { return this->m_aircraftSituations; }
|
||||||
|
CAircraftSituationList situations;
|
||||||
|
bool s = QMetaObject::invokeMethod(const_cast<CAirspaceMonitor *>(this), // strip away const, invoke will not change anything,
|
||||||
|
"getRenderedAircraftSituations",
|
||||||
|
Qt::BlockingQueuedConnection,
|
||||||
|
Q_RETURN_ARG(CAircraftSituationList, situations)
|
||||||
|
);
|
||||||
|
Q_ASSERT(s);
|
||||||
|
Q_UNUSED(s);
|
||||||
|
return situations;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CAircraftPartsList &CAirspaceMonitor::renderedAircraftParts() const
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftParts;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAircraftPartsList &CAirspaceMonitor::renderedAircraftParts()
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return m_aircraftParts;
|
||||||
|
}
|
||||||
|
|
||||||
|
CAircraftPartsList CAirspaceMonitor::getRenderedAircraftParts() const
|
||||||
|
{
|
||||||
|
if (this->thread() == QThread::currentThread()) { return this->m_aircraftParts; }
|
||||||
|
CAircraftPartsList parts;
|
||||||
|
bool s = QMetaObject::invokeMethod(const_cast<CAirspaceMonitor *>(this), // strip away const, invoke will not change anything
|
||||||
|
"getRenderedAircraftParts",
|
||||||
|
Qt::BlockingQueuedConnection,
|
||||||
|
Q_RETURN_ARG(CAircraftPartsList, parts)
|
||||||
|
);
|
||||||
|
Q_ASSERT(s);
|
||||||
|
Q_UNUSED(s);
|
||||||
|
return parts;
|
||||||
|
}
|
||||||
|
|
||||||
bool CAirspaceMonitor::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRedering, const QString &originator)
|
bool CAirspaceMonitor::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRedering, const QString &originator)
|
||||||
{
|
{
|
||||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRedering));
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRedering));
|
||||||
|
|||||||
@@ -44,22 +44,22 @@ namespace BlackCore
|
|||||||
CAirspaceMonitor(QObject *parent, const BlackMisc::Simulation::IOwnAircraftProviderReadOnly *ownAircraft, INetwork *network, CVatsimBookingReader *bookings, CVatsimDataFileReader *dataFile);
|
CAirspaceMonitor(QObject *parent, const BlackMisc::Simulation::IOwnAircraftProviderReadOnly *ownAircraft, INetwork *network, CVatsimBookingReader *bookings, CVatsimDataFileReader *dataFile);
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProviderReadOnly::renderedAircraft
|
//! \copydoc IRenderedAircraftProviderReadOnly::renderedAircraft
|
||||||
virtual const BlackMisc::Simulation::CSimulatedAircraftList &renderedAircraft() const override { return m_aircraftInRange; }
|
virtual const BlackMisc::Simulation::CSimulatedAircraftList &renderedAircraft() const override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraft
|
//! \copydoc IRenderedAircraftProvider::renderedAircraft
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraftList &renderedAircraft() override { return m_aircraftInRange; }
|
virtual BlackMisc::Simulation::CSimulatedAircraftList &renderedAircraft() override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftSituations
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftSituations
|
||||||
virtual const BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() const override { return m_aircraftSituations; }
|
virtual const BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() const override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftSituations
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftSituations
|
||||||
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() override { return m_aircraftSituations; }
|
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
||||||
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const override { return m_aircraftParts; }
|
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
||||||
virtual BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() override { return m_aircraftParts; }
|
virtual BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
||||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering, const QString &originator) override;
|
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering, const QString &originator) override;
|
||||||
@@ -95,6 +95,9 @@ namespace BlackCore
|
|||||||
//! Returns the closest ATC station operating on the given frequency, if any
|
//! Returns the closest ATC station operating on the given frequency, if any
|
||||||
BlackMisc::Aviation::CAtcStation getAtcStationForComUnit(const BlackMisc::Aviation::CComSystem &comSystem);
|
BlackMisc::Aviation::CAtcStation getAtcStationForComUnit(const BlackMisc::Aviation::CComSystem &comSystem);
|
||||||
|
|
||||||
|
//! Clear the contents
|
||||||
|
void clear();
|
||||||
|
|
||||||
//! Request to update other clients' data from the network
|
//! Request to update other clients' data from the network
|
||||||
void requestDataUpdates();
|
void requestDataUpdates();
|
||||||
|
|
||||||
@@ -104,6 +107,13 @@ namespace BlackCore
|
|||||||
//! Create dummy entries for performance tests
|
//! Create dummy entries for performance tests
|
||||||
void testCreateDummyOnlineAtcStations(int number);
|
void testCreateDummyOnlineAtcStations(int number);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
//! \copydoc IRenderedAircraftProviderReadOnly::getRenderedAircraftSituations
|
||||||
|
virtual BlackMisc::Aviation::CAircraftSituationList getRenderedAircraftSituations() const override;
|
||||||
|
|
||||||
|
//! \copydoc IRenderedAircraftProviderReadOnly::getRenderedAircraftParts
|
||||||
|
virtual BlackMisc::Aviation::CAircraftPartsList getRenderedAircraftParts() const override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Online ATC stations were changed
|
//! Online ATC stations were changed
|
||||||
void changedAtcStationsOnline();
|
void changedAtcStationsOnline();
|
||||||
@@ -126,10 +136,6 @@ namespace BlackCore
|
|||||||
//! Read for model matching
|
//! Read for model matching
|
||||||
void readyForModelMatching(const BlackMisc::Simulation::CSimulatedAircraft &renderedAircraft);
|
void readyForModelMatching(const BlackMisc::Simulation::CSimulatedAircraft &renderedAircraft);
|
||||||
|
|
||||||
public:
|
|
||||||
//! Clear the contents
|
|
||||||
void clear();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BlackMisc::Aviation::CAtcStationList m_atcStationsOnline;
|
BlackMisc::Aviation::CAtcStationList m_atcStationsOnline;
|
||||||
BlackMisc::Aviation::CAtcStationList m_atcStationsBooked;
|
BlackMisc::Aviation::CAtcStationList m_atcStationsBooked;
|
||||||
|
|||||||
@@ -103,6 +103,12 @@ namespace BlackCore
|
|||||||
return m_airspace->renderedAircraftSituations();
|
return m_airspace->renderedAircraftSituations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAircraftSituationList CContextNetwork::getRenderedAircraftSituations() const
|
||||||
|
{
|
||||||
|
Q_ASSERT(this->m_airspace);
|
||||||
|
return m_airspace->getRenderedAircraftSituations();
|
||||||
|
}
|
||||||
|
|
||||||
const CAircraftSituationList &CContextNetwork::renderedAircraftSituations() const
|
const CAircraftSituationList &CContextNetwork::renderedAircraftSituations() const
|
||||||
{
|
{
|
||||||
Q_ASSERT(this->m_airspace);
|
Q_ASSERT(this->m_airspace);
|
||||||
@@ -121,6 +127,12 @@ namespace BlackCore
|
|||||||
return m_airspace->renderedAircraftParts();
|
return m_airspace->renderedAircraftParts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAircraftPartsList CContextNetwork::getRenderedAircraftParts() const
|
||||||
|
{
|
||||||
|
Q_ASSERT(this->m_airspace);
|
||||||
|
return m_airspace->getRenderedAircraftParts();
|
||||||
|
}
|
||||||
|
|
||||||
void CContextNetwork::gracefulShutdown()
|
void CContextNetwork::gracefulShutdown()
|
||||||
{
|
{
|
||||||
if (this->m_vatsimBookingReader) { this->m_vatsimBookingReader->requestStop(); this->m_vatsimBookingReader->quit(); }
|
if (this->m_vatsimBookingReader) { this->m_vatsimBookingReader->requestStop(); this->m_vatsimBookingReader->quit(); }
|
||||||
@@ -332,6 +344,18 @@ namespace BlackCore
|
|||||||
this->m_vatsimBookingReader->readInBackgroundThread();
|
this->m_vatsimBookingReader->readInBackgroundThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAtcStationList CContextNetwork::getAtcStationsOnline() const
|
||||||
|
{
|
||||||
|
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
||||||
|
return this->m_airspace->getAtcStationsOnline();
|
||||||
|
}
|
||||||
|
|
||||||
|
CAtcStationList CContextNetwork::getAtcStationsBooked() const
|
||||||
|
{
|
||||||
|
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
||||||
|
return this->m_airspace->getAtcStationsBooked();
|
||||||
|
}
|
||||||
|
|
||||||
CSimulatedAircraftList CContextNetwork::getAircraftInRange() const
|
CSimulatedAircraftList CContextNetwork::getAircraftInRange() const
|
||||||
{
|
{
|
||||||
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ namespace BlackCore
|
|||||||
//! \copydoc IRenderedAircraftProviderReadOnly::renderedAircraftSituations
|
//! \copydoc IRenderedAircraftProviderReadOnly::renderedAircraftSituations
|
||||||
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() override;
|
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
//! \copydoc IRenderedAircraftProviderReadOnly::renderedAircraftParts
|
||||||
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const override;
|
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const override;
|
||||||
|
|
||||||
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
//! \copydoc IRenderedAircraftProvider::renderedAircraftParts
|
||||||
@@ -72,18 +72,10 @@ namespace BlackCore
|
|||||||
virtual void readAtcBookingsFromSource() const override;
|
virtual void readAtcBookingsFromSource() const override;
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::getAtcStationsOnline()
|
//! \copydoc IContextNetwork::getAtcStationsOnline()
|
||||||
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const override
|
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const override;
|
||||||
{
|
|
||||||
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
|
||||||
return this->m_airspace->getAtcStationsOnline();
|
|
||||||
}
|
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::getAtcStationsBooked()
|
//! \copydoc IContextNetwork::getAtcStationsBooked()
|
||||||
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override
|
virtual BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override;
|
||||||
{
|
|
||||||
BlackMisc::CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
|
|
||||||
return this->m_airspace->getAtcStationsBooked();
|
|
||||||
}
|
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::getAircraftInRange()
|
//! \copydoc IContextNetwork::getAircraftInRange()
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
|
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
|
||||||
@@ -91,6 +83,12 @@ namespace BlackCore
|
|||||||
//! \copydoc IContextNetwork::getAircraftForCallsign
|
//! \copydoc IContextNetwork::getAircraftForCallsign
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||||
|
|
||||||
|
//! \copydoc IRenderedAircraftProviderReadOnly::getRenderedAircraftSituations
|
||||||
|
virtual BlackMisc::Aviation::CAircraftSituationList getRenderedAircraftSituations() const override;
|
||||||
|
|
||||||
|
//! \copydoc IRenderedAircraftProviderReadOnly::getRenderedAircraftParts
|
||||||
|
virtual BlackMisc::Aviation::CAircraftPartsList getRenderedAircraftParts() const override;
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::connectToNetwork()
|
//! \copydoc IContextNetwork::connectToNetwork()
|
||||||
virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, uint mode) override;
|
virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, uint mode) override;
|
||||||
|
|
||||||
|
|||||||
@@ -39,9 +39,20 @@ namespace BlackCore
|
|||||||
|
|
||||||
CContextOwnAircraft::~CContextOwnAircraft() { }
|
CContextOwnAircraft::~CContextOwnAircraft() { }
|
||||||
|
|
||||||
/*
|
const CSimulatedAircraft &CContextOwnAircraft::ownAircraft() const
|
||||||
* Init own aircraft
|
{
|
||||||
*/
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return this->m_ownAircraft;
|
||||||
|
}
|
||||||
|
|
||||||
|
CSimulatedAircraft &CContextOwnAircraft::ownAircraft()
|
||||||
|
{
|
||||||
|
// not thread safe, check
|
||||||
|
Q_ASSERT(this->thread() == QThread::currentThread());
|
||||||
|
return this->m_ownAircraft;
|
||||||
|
}
|
||||||
|
|
||||||
void CContextOwnAircraft::initOwnAircraft()
|
void CContextOwnAircraft::initOwnAircraft()
|
||||||
{
|
{
|
||||||
Q_ASSERT(this->getRuntime());
|
Q_ASSERT(this->getRuntime());
|
||||||
@@ -202,7 +213,16 @@ namespace BlackCore
|
|||||||
CSimulatedAircraft CContextOwnAircraft::getOwnAircraft() const
|
CSimulatedAircraft CContextOwnAircraft::getOwnAircraft() const
|
||||||
{
|
{
|
||||||
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << this->m_ownAircraft;
|
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << this->m_ownAircraft;
|
||||||
return this->m_ownAircraft;
|
if (this->thread() == QThread::currentThread()) { return this->m_ownAircraft; }
|
||||||
|
CSimulatedAircraft aircraft;
|
||||||
|
bool s = QMetaObject::invokeMethod(const_cast<CContextOwnAircraft *>(this), // strip away const, invoke will not change anything
|
||||||
|
"getOwnAircraft",
|
||||||
|
Qt::BlockingQueuedConnection,
|
||||||
|
Q_RETURN_ARG(CSimulatedAircraft, aircraft)
|
||||||
|
);
|
||||||
|
Q_ASSERT(s);
|
||||||
|
Q_UNUSED(s);
|
||||||
|
return aircraft;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CContextOwnAircraft::parseCommandLine(const QString &commandLine)
|
bool CContextOwnAircraft::parseCommandLine(const QString &commandLine)
|
||||||
|
|||||||
@@ -37,14 +37,15 @@ namespace BlackCore
|
|||||||
virtual ~CContextOwnAircraft();
|
virtual ~CContextOwnAircraft();
|
||||||
|
|
||||||
//! Own aircraft
|
//! Own aircraft
|
||||||
virtual const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft() const override { return this->m_ownAircraft; }
|
virtual const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft() const override;
|
||||||
|
|
||||||
//! Own aircraft
|
//! Own aircraft
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraft &ownAircraft() override { return this->m_ownAircraft; }
|
virtual BlackMisc::Simulation::CSimulatedAircraft &ownAircraft() override;
|
||||||
|
|
||||||
public slots: // IContextOwnAircraft overrides
|
public slots: // IContextOwnAircraft overrides
|
||||||
|
|
||||||
//! \copydoc IContextOwnAircraft::getOwnAircraft()
|
//! \copydoc IContextOwnAircraft::getOwnAircraft()
|
||||||
|
//! \copydoc IOwnAircraftProvider::getOwnAircraft()
|
||||||
virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const override;
|
virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const override;
|
||||||
|
|
||||||
//! \copydoc IContextOwnAircraft::updatePosition
|
//! \copydoc IContextOwnAircraft::updatePosition
|
||||||
|
|||||||
@@ -22,9 +22,14 @@ namespace BlackMisc
|
|||||||
class IOwnAircraftProviderReadOnly
|
class IOwnAircraftProviderReadOnly
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! Own aircraft
|
//! Own aircraft as reference
|
||||||
|
//! \note in memory, not thread safe!
|
||||||
virtual const CSimulatedAircraft &ownAircraft() const = 0;
|
virtual const CSimulatedAircraft &ownAircraft() const = 0;
|
||||||
|
|
||||||
|
//! Own aircraft as copy
|
||||||
|
//! \note not hread safe!
|
||||||
|
virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const = 0;
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~IOwnAircraftProviderReadOnly() {}
|
virtual ~IOwnAircraftProviderReadOnly() {}
|
||||||
};
|
};
|
||||||
@@ -67,6 +72,9 @@ namespace BlackMisc
|
|||||||
//! \copydoc IOwnAircraftProvider::ownAircraft
|
//! \copydoc IOwnAircraftProvider::ownAircraft
|
||||||
virtual CSimulatedAircraft &ownAircraft() { return this->m_ownAircraft; }
|
virtual CSimulatedAircraft &ownAircraft() { return this->m_ownAircraft; }
|
||||||
|
|
||||||
|
//! \copydoc IOwnAircraftProvider::getOwnAircraft
|
||||||
|
virtual CSimulatedAircraft getOwnAircraft() const { return this->m_ownAircraft; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! \copydoc IOwnAircraftProvider::updateCockpit
|
//! \copydoc IOwnAircraftProvider::updateCockpit
|
||||||
virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const QString &originator) override;
|
virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const QString &originator) override;
|
||||||
|
|||||||
@@ -30,9 +30,17 @@ namespace BlackMisc
|
|||||||
//! All situation (per callsign, time history)
|
//! All situation (per callsign, time history)
|
||||||
virtual const BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() const = 0;
|
virtual const BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() const = 0;
|
||||||
|
|
||||||
|
//! Rendered aircraft situations (history) as copy
|
||||||
|
//! \threadsafe
|
||||||
|
virtual BlackMisc::Aviation::CAircraftSituationList getRenderedAircraftSituations() const = 0;
|
||||||
|
|
||||||
//! All parts (per callsign, time history)
|
//! All parts (per callsign, time history)
|
||||||
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const = 0;
|
virtual const BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() const = 0;
|
||||||
|
|
||||||
|
//! All parts (per callsign, time history) as copy
|
||||||
|
//! \threadsafe
|
||||||
|
virtual BlackMisc::Aviation::CAircraftPartsList getRenderedAircraftParts() const = 0;
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~IRenderedAircraftProviderReadOnly() {}
|
virtual ~IRenderedAircraftProviderReadOnly() {}
|
||||||
};
|
};
|
||||||
@@ -42,12 +50,14 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//! All rendered aircraft
|
//! All rendered aircraft
|
||||||
|
//! \note in memory reference, not thread safe
|
||||||
virtual CSimulatedAircraftList &renderedAircraft() = 0;
|
virtual CSimulatedAircraftList &renderedAircraft() = 0;
|
||||||
|
|
||||||
//! Rendered aircraft situations (history)
|
//! Rendered aircraft situations (history)
|
||||||
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() = 0;
|
virtual BlackMisc::Aviation::CAircraftSituationList &renderedAircraftSituations() = 0;
|
||||||
|
|
||||||
//! All parts (per callsign, time history)
|
//! All parts (per callsign, time history)
|
||||||
|
//! \note in memory reference, not thread safe
|
||||||
virtual BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() = 0;
|
virtual BlackMisc::Aviation::CAircraftPartsList &renderedAircraftParts() = 0;
|
||||||
|
|
||||||
//! Enable/disable rendering
|
//! Enable/disable rendering
|
||||||
|
|||||||
Reference in New Issue
Block a user