refs #268 slots in XBus::CService to get the model strings

This commit is contained in:
Mathew Sutcliffe
2014-06-15 14:39:28 +01:00
parent df67c249df
commit 271c973f6e
4 changed files with 62 additions and 3 deletions

View File

@@ -32,6 +32,26 @@ namespace BlackSimPlugin
}
}
QString CXBusServiceProxy::getAircraftModelPath() const
{
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftModelPath"));
}
QString CXBusServiceProxy::getAircraftModelFilename() const
{
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftModelFilename"));
}
QString CXBusServiceProxy::getAircraftModelLivery() const
{
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftModelLivery"));
}
QString CXBusServiceProxy::getAircraftIcaoCode() const
{
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getAircraftIcaoCode"));
}
int CXBusServiceProxy::getXPlaneVersionMajor() const
{
return m_dbusInterface->callDBusRet<int>(QLatin1String("getXPlaneVersionMajor"));

View File

@@ -52,9 +52,21 @@ namespace BlackSimPlugin
signals:
//! \copydoc XBus::CService::aircraftModelChanged
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery);
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao);
public slots:
//! \copydoc XBus::CService::getAircraftModelPath
QString getAircraftModelPath() const;
//! \copydoc XBus::CService::getAircraftModelFilename
QString getAircraftModelFilename() const;
//! \copydoc XBus::CService::getAircraftModelLivery
QString getAircraftModelLivery() const;
//! \copydoc XBus::CService::getAircraftIcaoCode
QString getAircraftIcaoCode() const;
//! \copydoc XBus::CService::getXPlaneVersionMajor
int getXPlaneVersionMajor() const;

View File

@@ -19,7 +19,21 @@ namespace XBus
char filename[256];
char path[512];
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, filename, path);
emit aircraftModelChanged(path, filename, m_liveryPath.get().c_str());
emit aircraftModelChanged(path, filename, getAircraftLivery(), getAircraftIcaoCode());
}
QString CService::getAircraftModelPath() const
{
char path[512];
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, nullptr, path);
return path;
}
QString CService::getAircraftModelFilename() const
{
char filename[256];
XPLMGetNthAircraftModel(XPLM_USER_AIRCRAFT, filename, nullptr);
return filename;
}
int CService::getXPlaneVersionMajor() const

View File

@@ -50,9 +50,21 @@ namespace XBus
signals:
//! Emitted when the model or livery changes.
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery);
void aircraftModelChanged(const QString &path, const QString &filename, const QString &livery, const QString &icao);
public slots:
//! Get full path to current aircraft model
QString getAircraftModelPath() const;
//! Get base filename of current aircraft model
QString getAircraftModelFilename() const;
//! Get path to current aircraft livery
QString getAircraftLivery() const { return m_liveryPath.get().c_str(); }
//! Get the ICAO code of the current aircraft model
QString getAircraftIcaoCode() const { return m_icao.get().c_str(); }
//! Get major version number
int getXPlaneVersionMajor() const;
@@ -97,6 +109,7 @@ namespace XBus
private:
StringDataRef<xplane::data::sim::aircraft::view::acf_livery_path> m_liveryPath;
StringDataRef<xplane::data::sim::aircraft::view::acf_ICAO> m_icao;
DataRef<xplane::data::sim::flightmodel::position::latitude> m_latitude;
DataRef<xplane::data::sim::flightmodel::position::longitude> m_longitude;
DataRef<xplane::data::sim::flightmodel::position::elevation> m_elevation;