refs #452, adjust contexts

* removed classes (e.g. CAircraft -> CSimulatedAircraft)
* meet changes in signatures (e.g. updateOwnIcaoData -> updateOwnIcaoCodes)
This commit is contained in:
Klaus Basan
2015-09-23 19:28:57 +02:00
committed by Mathew Sutcliffe
parent 07c6370819
commit 77f1f68808
13 changed files with 30 additions and 78 deletions

View File

@@ -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>

View File

@@ -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
{

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;

View File

@@ -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");

View File

@@ -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

View File

@@ -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"));

View File

@@ -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;

View File

@@ -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;