Load X-Plane remote aircrafts one by one sequentially

This commit is contained in:
Roland Winklmeier
2018-04-30 14:14:51 +02:00
parent 7de5c06c7a
commit bf8ed5c006
5 changed files with 154 additions and 24 deletions

View File

@@ -125,6 +125,8 @@ namespace XSwiftBus
void emitSimFrame();
void emitRemoteAircraftData(const std::string &callsign, double latitude, double longitude, double elevation, double modelVerticalOffset);
void emitPlaneAdded(const std::string &callsign);
void emitPlaneAddingFailed(const std::string &callsign);
void orbitRemotePlane(const std::string &callsign);
static int preferences(const char *section, const char *name, int def);
@@ -169,6 +171,16 @@ namespace XSwiftBus
{
return static_cast<CTraffic *>(self)->getPlaneData(id, dataType, io_data);
}
static void planeLoaded(void *id, bool succeeded, void *self)
{
auto *traffic = static_cast<CTraffic *>(self);
auto planeIt = traffic->m_planesById.find(id);
if (planeIt == traffic->m_planesById.end()) { return; }
if (succeeded) { traffic->emitPlaneAdded(planeIt->second->callsign); }
else { traffic->emitPlaneAddingFailed(planeIt->second->callsign); }
}
};
}