[FG] Enhancing version compatibility check

This commit is contained in:
Lars Toenning
2020-01-26 21:03:52 +01:00
committed by Mat Sutcliffe
parent 42fd0ed86e
commit 22a70e083e
3 changed files with 7 additions and 8 deletions

View File

@@ -38,9 +38,9 @@ namespace BlackSimPlugin
}
}
QString CFGSwiftBusServiceProxy::getVersionNumber()
int CFGSwiftBusServiceProxy::getVersionNumber()
{
return m_dbusInterface->callDBusRet<QString>(QLatin1String("getVersionNumber"));
return m_dbusInterface->callDBusRet<int>(QLatin1String("getVersionNumber"));
}
void CFGSwiftBusServiceProxy::getOwnAircraftSituationData(FlightgearData *o_flightgearData)

View File

@@ -98,7 +98,7 @@ namespace BlackSimPlugin
public slots:
//! Get Flightgear version number
QString getVersionNumber();
int getVersionNumber();
//! Get own aircraft situation data
void getOwnAircraftSituationData(FlightgearData *o_flightgearData);

View File

@@ -62,6 +62,8 @@
#include <QPointer>
#include <math.h>
#define FGSWIFTBUS_API_VERSION 1
using namespace BlackConfig;
using namespace BlackMisc;
using namespace BlackMisc::Aviation;
@@ -1020,12 +1022,9 @@ namespace BlackSimPlugin
bool result = service.isValid() && traffic.isValid();
if (! result) { return; }
QString flightgearVersion = service.getVersionNumber();
QString flightgearVersionMinimum = "2019.2.0";
if (flightgearVersion < flightgearVersionMinimum)
if (service.getVersionNumber() != FGSWIFTBUS_API_VERSION)
{
CLogMessage(this).error(u"You are using Flightgear %1. This version of swift is only compatible with Flightgear %2 or newer. Consider upgrading!") << flightgearVersion << flightgearVersionMinimum;
CLogMessage(this).error(u"This version of swift is not compatible with this Flightgear version. For further information check http://wiki.flightgear.org/Swift.");
return;
}
if (!traffic.initialize())