As of RW/KB workshop

* changed aircraft view to siumlated aircraft models / views
* functionality to change fast pos. updates (signals, slots)
* allow to request text message widget from aircraft component
This commit is contained in:
Klaus Basan
2015-03-17 16:27:46 +01:00
parent f074dff095
commit 066515fb9b
27 changed files with 155 additions and 38 deletions

View File

@@ -152,6 +152,14 @@ namespace BlackCore
return c > 0;
}
bool CAirspaceMonitor::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
{
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositonUpdates));
Q_UNUSED(originator);
int c = m_aircraftInRange.applyIfCallsign(callsign, vm);
return c > 0;
}
CFlightPlan CAirspaceMonitor::loadFlightPlanFromNetwork(const CCallsign &callsign)
{
CFlightPlan plan;

View File

@@ -68,6 +68,9 @@ namespace BlackCore
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
//! \copydoc IRemoteAircraftProvider::updateFastPositionEnabled
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
//! Returns the list of users we know about
BlackMisc::Network::CUserList getUsers() const;

View File

@@ -101,6 +101,9 @@ namespace BlackCore
//! Aircraft enabled / disabled
void changedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
//! Aircraft enabled / disabled
void changedFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
//! Connection status changed for online station
void changedAtcStationOnlineConnectionStatus(const BlackMisc::Aviation::CAtcStation &atcStation, bool connected);
@@ -233,6 +236,9 @@ namespace BlackCore
//! Change model string
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
//! Change fast position updates
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) = 0;
//! Create dummy ATC stations for performance tests etc.
virtual void testCreateDummyOnlineAtcStations(int number) = 0;

View File

@@ -249,6 +249,16 @@ namespace BlackCore
return false;
}
//! \copydoc IContextNetwork::updateFastPositionUpdates
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override
{
logEmptyContextWarning(Q_FUNC_INFO);
Q_UNUSED(callsign);
Q_UNUSED(enableFastPositionSending);
Q_UNUSED(originator);
return false;
}
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
virtual bool isFastPositionSendingEnabled() const override
{

View File

@@ -537,6 +537,17 @@ namespace BlackCore
return c;
}
bool CContextNetwork::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign << enableFastPositonUpdates << originator; }
bool c = this->m_airspace->updateFastPositionUpdates(callsign, enableFastPositonUpdates, originator);
if (c)
{
emit this->changedFastPositionUpdates(this->remoteAircraft().findFirstByCallsign(callsign), originator);
}
return c;
}
bool CContextNetwork::isFastPositionSendingEnabled() const
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
@@ -561,6 +572,7 @@ namespace BlackCore
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
Q_ASSERT(this->m_network);
//! \todo Fast position updates in vatlib
return CCallsignList();
}

View File

@@ -76,9 +76,6 @@ namespace BlackCore
) override;
signals:
// IRemoteAircraftProviderReadOnly must be implemented by concrete class
// must not prefixed virtual (though they are) -> warning
//! \copydoc IRemoteAircraftProviderReadOnly::addedRemoteAircraftSituation
void addedRemoteAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
@@ -184,6 +181,9 @@ namespace BlackCore
//! \copydoc IContextNetwork::updateAircraftModel
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
//! \copydoc IContextNetwork::updateFastPositionUpdates
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
virtual bool isFastPositionSendingEnabled() const override;

View File

@@ -81,6 +81,9 @@ namespace BlackCore
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
"changedAircraftEnabled", this, SIGNAL(changedAircraftEnabled(BlackMisc::Simulation::CSimulatedAircraft, QString)));
Q_ASSERT(s);
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
"changedFastPositionUpdates", this, SIGNAL(changedFastPositionUpdates(BlackMisc::Simulation::CSimulatedAircraft,QString)));
Q_ASSERT(s);
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
"addedAircraft", this, SIGNAL(addedAircraft(BlackMisc::Simulation::CSimulatedAircraft)));
Q_ASSERT(s);
@@ -184,6 +187,11 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateAircraftModel"), callsign, model, originator);
}
bool CContextNetworkProxy::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositionSending, const QString &originator)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateFastPositionUpdates"), callsign, enableFastPositionSending, originator);
}
bool CContextNetworkProxy::isFastPositionSendingEnabled() const
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isFastPositionSendingEnabled"));

View File

@@ -134,6 +134,9 @@ namespace BlackCore
//! \copydoc IContextNetwork::updateAircraftModel
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
//! \copydoc IContextNetwork::updateFastPositionUpdates
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override;
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
virtual bool isFastPositionSendingEnabled() const override;