Ref T778 XSwiftBus service emits a signal when scenery is loaded

This commit is contained in:
Mat Sutcliffe
2020-04-08 20:27:27 +01:00
parent f68e3c2360
commit 7c4fe83799
7 changed files with 48 additions and 0 deletions

View File

@@ -111,6 +111,11 @@ namespace XSwiftBus
emitAircraftModelChanged(path, filename, getAircraftLivery(), getAircraftIcaoCode(), acfProperties.modelString, acfProperties.modelName, getAircraftDescription());
}
void CService::onSceneryLoaded()
{
emitSceneryLoaded();
}
std::string CService::getVersionNumber() const
{
return XSWIFTBUS_VERSION;
@@ -955,6 +960,12 @@ namespace XSwiftBus
int CService::process()
{
if (m_sceneryIsLoading.get() != m_sceneryWasLoading)
{
if (!m_sceneryIsLoading.get()) { onSceneryLoaded(); }
m_sceneryWasLoading = m_sceneryIsLoading.get();
}
invokeQueuedDBusCalls();
if (m_disappearMessageWindowTime != std::chrono::system_clock::time_point()
@@ -997,6 +1008,12 @@ namespace XSwiftBus
sendDBusMessage(signalAirportsInRangeUpdated);
}
void CService::emitSceneryLoaded()
{
CDBusMessage signal = CDBusMessage::createSignal(XSWIFTBUS_SERVICE_OBJECTPATH, XSWIFTBUS_SERVICE_INTERFACENAME, "sceneryLoaded");
sendDBusMessage(signal);
}
std::vector<CNavDataReference> CService::findClosestAirports(int number, double latitude, double longitude)
{
CNavDataReference ref(0, latitude, longitude);