mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 12:47:03 +08:00
Request own aircraft info upon connecting to XSwiftBus
Summary: Ref T83 Also removed an unused parameter of the "own aircraft changed" signal of XSwiftBus. Reviewers: #swift_developers, rwinklmeier Reviewed By: #swift_developers, rwinklmeier Subscribers: jenkins Tags: #swift_pilot_client Maniphest Tasks: T83 Differential Revision: https://dev.swift-project.org/D63
This commit is contained in:
@@ -237,6 +237,8 @@ namespace BlackSimPlugin
|
||||
|
||||
if (m_service->isValid() && m_traffic->isValid() && m_weather->isValid() && m_traffic->initialize())
|
||||
{
|
||||
ps_emitOwnAircraftModelChanged(m_service->getAircraftModelPath(), m_service->getAircraftModelFilename(), m_service->getAircraftLivery(),
|
||||
m_service->getAircraftIcaoCode(), m_service->getAircraftModelString(), m_service->getAircraftName(), m_service->getAircraftDescription());
|
||||
connect(m_service, &CXSwiftBusServiceProxy::aircraftModelChanged, this, &CSimulatorXPlane::ps_emitOwnAircraftModelChanged);
|
||||
connect(m_service, &CXSwiftBusServiceProxy::airportsInRangeUpdated, this, &CSimulatorXPlane::ps_setAirportsInRange);
|
||||
m_service->updateAirportsInRange();
|
||||
@@ -285,11 +287,9 @@ namespace BlackSimPlugin
|
||||
emitSimulatorCombinedStatus();
|
||||
}
|
||||
|
||||
void CSimulatorXPlane::ps_emitOwnAircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao,
|
||||
const QString &modelString, const QString &name, const QString &distributor, const QString &description)
|
||||
void CSimulatorXPlane::ps_emitOwnAircraftModelChanged(const QString &path, const QString &filename, const QString &livery,
|
||||
const QString &icao, const QString &modelString, const QString &name, const QString &description)
|
||||
{
|
||||
Q_UNUSED(distributor);
|
||||
|
||||
CAircraftModel model(modelString, CAircraftModel::TypeOwnSimulatorModel, CSimulatorInfo::XPLANE, name, description, icao);
|
||||
if (!livery.isEmpty()) { model.setModelString(model.getModelString() + " " + livery); }
|
||||
model.setFileName(path + "/" + filename);
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace BlackSimPlugin
|
||||
void ps_serviceUnregistered();
|
||||
void ps_setAirportsInRange(const QStringList &icaoCodes, const QStringList &names, const BlackMisc::CSequence<double> &lats, const BlackMisc::CSequence<double> &lons, const BlackMisc::CSequence<double> &alts);
|
||||
void ps_emitOwnAircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao,
|
||||
const QString &modelString, const QString &name, const QString &distributor, const QString &description);
|
||||
const QString &modelString, const QString &name, const QString &description);
|
||||
void ps_fastTimerTimeout();
|
||||
void ps_slowTimerTimeout();
|
||||
|
||||
|
||||
@@ -81,6 +81,24 @@ namespace BlackSimPlugin
|
||||
m_dbusInterface->callDBusAsync(QLatin1String("getAircraftDescription"), setterCallback(o_description));
|
||||
}
|
||||
|
||||
QString CXSwiftBusServiceProxy::getAircraftModelString() const
|
||||
{
|
||||
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftModelString"));
|
||||
}
|
||||
void CXSwiftBusServiceProxy::getAircraftModelStringAsync(QString *o_modelString)
|
||||
{
|
||||
m_dbusInterface->callDBusAsync(QLatin1String("getAircraftModelString"), setterCallback(o_modelString));
|
||||
}
|
||||
|
||||
QString CXSwiftBusServiceProxy::getAircraftName() const
|
||||
{
|
||||
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftName"));
|
||||
}
|
||||
void CXSwiftBusServiceProxy::getAircraftNameAsync(QString *o_name)
|
||||
{
|
||||
m_dbusInterface->callDBusAsync(QLatin1String("getAircraftName"), setterCallback(o_name));
|
||||
}
|
||||
|
||||
int CXSwiftBusServiceProxy::getXPlaneVersionMajor() const
|
||||
{
|
||||
return m_dbusInterface->callDBusRet<int>(QLatin1String("getXPlaneVersionMajor"));
|
||||
|
||||
@@ -89,8 +89,8 @@ namespace BlackSimPlugin
|
||||
void asyncMethodError(QDBusError error);
|
||||
|
||||
//! \copydoc XSwiftBus::CService::aircraftModelChanged
|
||||
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao,
|
||||
const QString &modelString, const QString &name, const QString &distributor, const QString &description);
|
||||
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery,
|
||||
const QString &icao, const QString &modelString, const QString &name, const QString &description);
|
||||
|
||||
//! \copydoc XSwiftBus::CService::airportsInRangeUpdated
|
||||
void airportsInRangeUpdated(const QStringList &icaoCodes, const QStringList &names, const QList<double> &lats, const QList<double> &lons, const QList<double> &alts);
|
||||
@@ -132,6 +132,18 @@ namespace BlackSimPlugin
|
||||
void getAircraftDescriptionAsync(QString *o_description);
|
||||
//! @}
|
||||
|
||||
//! \copydoc XSwiftBus::CService::getAircraftModelString
|
||||
//! @{
|
||||
QString getAircraftModelString() const;
|
||||
void getAircraftModelStringAsync(QString *o_modelString);
|
||||
//! @}
|
||||
|
||||
//! \copydoc XSwiftBus::CService::getAircraftName
|
||||
//! @{
|
||||
QString getAircraftName() const;
|
||||
void getAircraftNameAsync(QString *o_name);
|
||||
//! @}
|
||||
|
||||
//! \copydoc XSwiftBus::CService::getXPlaneVersionMajor
|
||||
//! @{
|
||||
int getXPlaneVersionMajor() const;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace XSwiftBus
|
||||
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, filename, path);
|
||||
const auto model = BlackMisc::Simulation::XPlane::CAircraftModelLoaderXPlane::extractAcfProperties(path, QFileInfo(path));
|
||||
emit aircraftModelChanged(path, filename, getAircraftLivery(), getAircraftIcaoCode(),
|
||||
model.getModelString(), model.getName(), model.getDistributor().getDescription(), getAircraftDescription());
|
||||
model.getModelString(), model.getName(), getAircraftDescription());
|
||||
}
|
||||
|
||||
void CService::addTextMessage(const QString &text, double red, double green, double blue)
|
||||
@@ -77,6 +77,24 @@ namespace XSwiftBus
|
||||
return filename;
|
||||
}
|
||||
|
||||
QString CService::getAircraftModelString() const
|
||||
{
|
||||
char filename[256];
|
||||
char path[512];
|
||||
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, filename, path);
|
||||
const auto model = BlackMisc::Simulation::XPlane::CAircraftModelLoaderXPlane::extractAcfProperties(path, QFileInfo(path));
|
||||
return model.getModelString();
|
||||
}
|
||||
|
||||
QString CService::getAircraftName() const
|
||||
{
|
||||
char filename[256];
|
||||
char path[512];
|
||||
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, filename, path);
|
||||
const auto model = BlackMisc::Simulation::XPlane::CAircraftModelLoaderXPlane::extractAcfProperties(path, QFileInfo(path));
|
||||
return model.getName();
|
||||
}
|
||||
|
||||
int CService::getXPlaneVersionMajor() const
|
||||
{
|
||||
int version;
|
||||
|
||||
@@ -70,8 +70,8 @@ namespace XSwiftBus
|
||||
|
||||
signals:
|
||||
//! Emitted when the model or livery changes.
|
||||
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao,
|
||||
const QString &modelString, const QString &name, const QString &distributor, const QString &description);
|
||||
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery,
|
||||
const QString &icao, const QString &modelString, const QString &name, const QString &description);
|
||||
|
||||
//! Airports in range updated.
|
||||
void airportsInRangeUpdated(const QStringList &icaoCodes, const QStringList &names, const QDoubleList &lats, const QDoubleList &lons, const QDoubleList &alts);
|
||||
@@ -89,6 +89,12 @@ namespace XSwiftBus
|
||||
//! Get base filename of current aircraft model
|
||||
QString getAircraftModelFilename() const;
|
||||
|
||||
//! Get canonical swift model string of current aircraft model
|
||||
QString getAircraftModelString() const;
|
||||
|
||||
//! Get name of current aircraft model
|
||||
QString getAircraftName() const;
|
||||
|
||||
//! Get path to current aircraft livery
|
||||
QString getAircraftLivery() const { return m_liveryPath.get().c_str(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user