mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 20:15:35 +08:00
refs #452, adjust contexts
* removed classes (e.g. CAircraft -> CSimulatedAircraft) * meet changes in signatures (e.g. updateOwnIcaoData -> updateOwnIcaoCodes)
This commit is contained in:
committed by
Mathew Sutcliffe
parent
07c6370819
commit
77f1f68808
@@ -19,7 +19,6 @@
|
||||
#include "blackmisc/audio/audiodeviceinfolist.h"
|
||||
#include "blackmisc/audio/voiceroomlist.h"
|
||||
#include "blackmisc/network/userlist.h"
|
||||
#include "blackmisc/aviation/aircraft.h"
|
||||
#include "blackmisc/aviation/callsignset.h"
|
||||
#include "blackmisc/aviation/selcal.h"
|
||||
#include <QObject>
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "blackmisc/audio/audiodeviceinfolist.h"
|
||||
#include "blackmisc/audio/voiceroomlist.h"
|
||||
#include "blackmisc/network/userlist.h"
|
||||
#include "blackmisc/aviation/aircraft.h"
|
||||
|
||||
namespace BlackCore
|
||||
{
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include "blackcore/context.h"
|
||||
#include "blackmisc/identifier.h"
|
||||
#include "blackmisc/simulation/simulatedaircraft.h"
|
||||
#include "blackmisc/aviation/aircrafticaodata.h"
|
||||
#include "blackmisc/audio/voiceroomlist.h"
|
||||
#include "blackmisc/aviation/selcal.h"
|
||||
|
||||
@@ -76,7 +75,7 @@ namespace BlackCore
|
||||
void changedCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
//! Own ICAO was changed
|
||||
void changedIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icao);
|
||||
void changedAircraftIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode);
|
||||
|
||||
//! own pilot (aka the swift user) changed
|
||||
void changedPilot(const BlackMisc::Network::CUser &pilot);
|
||||
@@ -99,7 +98,7 @@ namespace BlackCore
|
||||
virtual bool updateOwnAircraftPilot(const BlackMisc::Network::CUser &pilot) = 0;
|
||||
|
||||
//! Set ICAO data
|
||||
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) = 0;
|
||||
virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) = 0;
|
||||
|
||||
//! Set callsign
|
||||
virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign) = 0;
|
||||
|
||||
@@ -93,10 +93,9 @@ namespace BlackCore
|
||||
this->m_ownAircraft.setCallsign(CCallsign("SWIFT")); // would come from settings
|
||||
|
||||
//! \todo Own aircraft ICAO default data, this would need to come from somewhere (mappings) -> Own callsign, plane ICAO status, model used
|
||||
this->m_ownAircraft.setIcaoInfo(
|
||||
CAircraftIcaoData(
|
||||
CAircraftIcaoCode("C172", "L1P"),
|
||||
CAirlineIcaoCode())
|
||||
this->m_ownAircraft.setIcaoCodes(
|
||||
CAircraftIcaoCode("C172", "L1P"),
|
||||
CAirlineIcaoCode()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -234,15 +233,13 @@ namespace BlackCore
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CContextOwnAircraft::updateOwnIcaoData(const CAircraftIcaoData &icaoData)
|
||||
bool CContextOwnAircraft::updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode)
|
||||
{
|
||||
{
|
||||
QWriteLocker l(&m_lockAircraft);
|
||||
if (this->m_ownAircraft.getIcaoInfo() == icaoData) { return false; }
|
||||
this->m_ownAircraft.setIcaoInfo(icaoData);
|
||||
return this->m_ownAircraft.setIcaoCodes(aircraftIcaoCode, airlineIcaoCode);
|
||||
}
|
||||
emit changedIcaoData(icaoData);
|
||||
return true;
|
||||
emit changedAircraftIcaoCodes(aircraftIcaoCode, airlineIcaoCode);
|
||||
}
|
||||
|
||||
bool CContextOwnAircraft::updateSelcal(const CSelcal &selcal, const CIdentifier &originator)
|
||||
@@ -273,15 +270,9 @@ namespace BlackCore
|
||||
|
||||
void CContextOwnAircraft::ps_changedSimulatorModel(const CSimulatedAircraft &ownAircraft)
|
||||
{
|
||||
CAircraftModel model(ownAircraft.getModel());
|
||||
QWriteLocker l(&m_lockAircraft);
|
||||
this->m_ownAircraft.setModel(ownAircraft.getModel());
|
||||
CAircraftIcaoData icao(ownAircraft.getIcaoInfo());
|
||||
if (icao.hasAircraftDesignator())
|
||||
{
|
||||
// if the model knows its ICAO, cool
|
||||
// otherwise we ignore it and will use an ICAO elsewhere set
|
||||
this->m_ownAircraft.setIcaoInfo(icao);
|
||||
}
|
||||
this->m_ownAircraft.setModel(model);
|
||||
}
|
||||
|
||||
void CContextOwnAircraft::setAudioVoiceRoomOverrideUrls(const QString &voiceRoom1Url, const QString &voiceRoom2Url)
|
||||
@@ -312,7 +303,7 @@ namespace BlackCore
|
||||
parser.parse(commandLine);
|
||||
if (!parser.isKnownCommand()) { return false; }
|
||||
|
||||
CAircraft myAircraft(this->getOwnAircraft());
|
||||
CSimulatedAircraft myAircraft(this->getOwnAircraft());
|
||||
if (parser.matchesCommand(".x", ".xpdr") && parser.countParts() > 1)
|
||||
{
|
||||
CTransponder transponder = myAircraft.getTransponder();
|
||||
@@ -352,8 +343,7 @@ namespace BlackCore
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// todo RW: replace originator
|
||||
this->updateCockpit(com1, com2, myAircraft.getTransponder(), CIdentifier("commandline"));
|
||||
this->updateCockpit(com1, com2, myAircraft.getTransponder(), identifier());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace BlackCore
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_CLASSINFO("D-Bus Interface", BLACKCORE_CONTEXTOWNAIRCRAFT_INTERFACENAME)
|
||||
Q_INTERFACES(BlackMisc::Simulation::IOwnAircraftProvider)
|
||||
friend class CRuntime;
|
||||
friend class IContextOwnAircraft;
|
||||
|
||||
@@ -79,9 +80,9 @@ namespace BlackCore
|
||||
//! \ingroup ownaircraftprovider
|
||||
virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
|
||||
//! \copydoc IContextOwnAircraft::updateOwnIcaoData
|
||||
//! \copydoc IContextOwnAircraft::updateOwnIcaoCodes
|
||||
//! \ingroup ownaircraftprovider
|
||||
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) override;
|
||||
virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) override;
|
||||
|
||||
//! \copydoc IContextOwnAircraft::updatePosition
|
||||
virtual bool updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) override;
|
||||
|
||||
@@ -70,9 +70,9 @@ namespace BlackCore
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateOwnCallsign"), callsign);
|
||||
}
|
||||
|
||||
bool CContextOwnAircraftProxy::updateOwnIcaoData(const CAircraftIcaoData &icaoData)
|
||||
bool CContextOwnAircraftProxy::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode)
|
||||
{
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateOwnIcaoData"), icaoData);
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateOwnIcaoCodes"), aircraftIcaoCode, airlineIcaoCode);
|
||||
}
|
||||
|
||||
void CContextOwnAircraftProxy::setAudioOutputVolume(int outputVolume)
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include "blackcoreexport.h"
|
||||
#include "blackcore/context_ownaircraft.h"
|
||||
#include "blackmisc/genericdbusinterface.h"
|
||||
#include "blackmisc/aviation/aircrafticaodata.h"
|
||||
#include "blackmisc/simulation/simulatedaircraft.h"
|
||||
|
||||
namespace BlackCore
|
||||
@@ -56,8 +55,8 @@ namespace BlackCore
|
||||
//! \copydoc IContextOwnAircraft::updateOwnCallsign
|
||||
virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
|
||||
//! \copydoc IContextOwnAircraft::updateOwnIcaoData
|
||||
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) override;
|
||||
//! \copydoc IContextOwnAircraft::updateOwnIcaoCodes
|
||||
virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) override;
|
||||
|
||||
//! \copydoc IContextOwnAircraft::setAudioOutputVolumes
|
||||
virtual void setAudioOutputVolume(int outputVolume) override;
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "blackmisc/simulation/simulatorplugininfo.h"
|
||||
#include "blackmisc/simulation/simulatorsetup.h"
|
||||
#include "blackmisc/simulation/simulatorplugininfolist.h"
|
||||
#include "blackmisc/aviation/aircraft.h"
|
||||
#include "blackmisc/simulation/simulatedaircraftlist.h"
|
||||
#include "blackmisc/aviation/airportlist.h"
|
||||
#include "blackmisc/project.h"
|
||||
@@ -128,9 +127,6 @@ namespace BlackCore
|
||||
//! Model for model string
|
||||
virtual BlackMisc::Simulation::CAircraftModelList getInstalledModelsStartingWith(const QString modelString) const = 0;
|
||||
|
||||
//! ICAO data for model string
|
||||
virtual BlackMisc::Aviation::CAircraftIcaoData getIcaoForModelString(const QString &modelString) const = 0;
|
||||
|
||||
//! Set time synchronization between simulator and user's computer time
|
||||
//! \remarks not all drivers implement this, e.g. if it is an intrinsic simulator feature
|
||||
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) = 0;
|
||||
|
||||
@@ -156,15 +156,6 @@ namespace BlackCore
|
||||
m_simulatorPlugin.second->reloadInstalledModels();
|
||||
}
|
||||
|
||||
CAircraftIcaoData CContextSimulator::getIcaoForModelString(const QString &modelString) const
|
||||
{
|
||||
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << modelString; }
|
||||
if (m_simulatorPlugin.first.isUnspecified()) { return CAircraftIcaoData(); }
|
||||
|
||||
Q_ASSERT(m_simulatorPlugin.second);
|
||||
return m_simulatorPlugin.second->getIcaoForModelString(modelString);
|
||||
}
|
||||
|
||||
bool CContextSimulator::setTimeSynchronization(bool enable, const CTime &offset)
|
||||
{
|
||||
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
@@ -542,7 +533,7 @@ namespace BlackCore
|
||||
m_simulatorPlugin.second->changeRemoteAircraftEnabled(aircraft, originator);
|
||||
}
|
||||
|
||||
void CContextSimulator::ps_updateSimulatorCockpitFromContext(const CAircraft &ownAircraft, const CIdentifier &originator)
|
||||
void CContextSimulator::ps_updateSimulatorCockpitFromContext(const CSimulatedAircraft &ownAircraft, const CIdentifier &originator)
|
||||
{
|
||||
// todo:
|
||||
// This was previously an assert and it should be one again in the future.
|
||||
@@ -572,23 +563,15 @@ namespace BlackCore
|
||||
|
||||
CPixmap CContextSimulator::iconForModel(const QString &modelString) const
|
||||
{
|
||||
if (m_simulatorPlugin.first.isUnspecified())
|
||||
{
|
||||
return CPixmap();
|
||||
}
|
||||
|
||||
Q_ASSERT(m_simulatorPlugin.second);
|
||||
if (m_simulatorPlugin.first.isUnspecified()) { return CPixmap(); }
|
||||
Q_ASSERT_X(m_simulatorPlugin.second, Q_FUNC_INFO, "Missing simulator");
|
||||
return m_simulatorPlugin.second->iconForModel(modelString);
|
||||
}
|
||||
|
||||
void CContextSimulator::enableDebugMessages(bool driver, bool interpolator)
|
||||
{
|
||||
if (m_simulatorPlugin.first.isUnspecified())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Q_ASSERT(m_simulatorPlugin.second);
|
||||
if (m_simulatorPlugin.first.isUnspecified()) { return; }
|
||||
Q_ASSERT_X(m_simulatorPlugin.second, Q_FUNC_INFO, "Missing simulator");
|
||||
return m_simulatorPlugin.second->enableDebugMessages(driver, interpolator);
|
||||
}
|
||||
|
||||
@@ -606,7 +589,7 @@ namespace BlackCore
|
||||
|
||||
void CContextSimulator::stopSimulatorListeners()
|
||||
{
|
||||
for (const auto &info: getAvailableSimulatorPlugins())
|
||||
for (const auto &info : getAvailableSimulatorPlugins())
|
||||
{
|
||||
ISimulatorListener *listener = m_plugins->getListener(info.getIdentifier());
|
||||
QMetaObject::invokeMethod(listener, "stop");
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
#include "blackcoreexport.h"
|
||||
#include "blackcore/context_simulator.h"
|
||||
#include "blackcore/simulator.h"
|
||||
#include "blackmisc/worker.h"
|
||||
#include "blackmisc/simulation/simulatorplugininfolist.h"
|
||||
#include "blackmisc/network/textmessagelist.h"
|
||||
#include "blackmisc/pixmap.h"
|
||||
#include "blackmisc/simulation/simulatedaircraftlist.h"
|
||||
#include "blackmisc/network/textmessagelist.h"
|
||||
#include "blackmisc/worker.h"
|
||||
#include "blackmisc/pixmap.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include <QTimer>
|
||||
#include <QDir>
|
||||
@@ -79,9 +79,6 @@ namespace BlackCore
|
||||
//! \copydoc IContextSimulator::reloadInstalledModels
|
||||
virtual void reloadInstalledModels() override;
|
||||
|
||||
//! \copydoc IContextSimulator::getIcaoForModelString
|
||||
virtual BlackMisc::Aviation::CAircraftIcaoData getIcaoForModelString(const QString &modelString) const override;
|
||||
|
||||
//! \copydoc IContextSimulator::setTimeSynchronization
|
||||
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) override;
|
||||
|
||||
@@ -169,7 +166,7 @@ namespace BlackCore
|
||||
|
||||
//! Update simulator cockpit from context, because someone else has changed cockpit (e.g. GUI, 3rd party)
|
||||
//! \remarks set by runtime, only to be used locally (not via DBus)
|
||||
void ps_updateSimulatorCockpitFromContext(const BlackMisc::Aviation::CAircraft &ownAircraft, const BlackMisc::CIdentifier &originator);
|
||||
void ps_updateSimulatorCockpitFromContext(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft, const BlackMisc::CIdentifier &originator);
|
||||
|
||||
private:
|
||||
//! Load plugin, if required start listeners before
|
||||
|
||||
@@ -91,11 +91,6 @@ namespace BlackCore
|
||||
m_dBusInterface->callDBus(QLatin1Literal("reloadInstalledModels"));
|
||||
}
|
||||
|
||||
CAircraftIcaoData CContextSimulatorProxy::getIcaoForModelString(const QString &modelString) const
|
||||
{
|
||||
return m_dBusInterface->callDBusRet<CAircraftIcaoData>(QLatin1Literal("getIcaoForModelString"), modelString);
|
||||
}
|
||||
|
||||
BlackMisc::Simulation::CSimulatorPluginInfo CContextSimulatorProxy::getSimulatorPluginInfo() const
|
||||
{
|
||||
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatorPluginInfo>(QLatin1Literal("getSimulatorPluginInfo"));
|
||||
|
||||
@@ -74,9 +74,6 @@ namespace BlackCore
|
||||
//! \copydoc IContextSimulator::reloadInstalledModels
|
||||
virtual void reloadInstalledModels() override;
|
||||
|
||||
//! \copydoc IContextSimulator::getIcaoForModelString
|
||||
virtual BlackMisc::Aviation::CAircraftIcaoData getIcaoForModelString(const QString &modelString) const override;
|
||||
|
||||
//! \copydoc IContextSimulator::getSimulatorSetup
|
||||
virtual BlackMisc::Simulation::CSimulatorSetup getSimulatorSetup() const override;
|
||||
|
||||
|
||||
@@ -91,10 +91,7 @@ namespace BlackCore
|
||||
virtual bool changeRemoteAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator) = 0;
|
||||
|
||||
//! Update own aircraft cockpit (usually from context)
|
||||
virtual bool updateOwnSimulatorCockpit(const BlackMisc::Aviation::CAircraft &aircraft, const BlackMisc::CIdentifier &originator) = 0;
|
||||
|
||||
//! ICAO data for model string
|
||||
virtual BlackMisc::Aviation::CAircraftIcaoData getIcaoForModelString(const QString &modelString) const = 0;
|
||||
virtual bool updateOwnSimulatorCockpit(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator) = 0;
|
||||
|
||||
//! Display a status message in the simulator
|
||||
virtual void displayStatusMessage(const BlackMisc::CStatusMessage &message) const = 0;
|
||||
|
||||
Reference in New Issue
Block a user