mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 06:35:52 +08:00
T658, matching script for network entry
This commit is contained in:
committed by
Mat Sutcliffe
parent
fd281a464c
commit
cec768b9a4
@@ -8,10 +8,42 @@
|
||||
|
||||
#include "matchingscript.h"
|
||||
|
||||
using namespace BlackMisc::Aviation;
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
namespace Simulation
|
||||
{
|
||||
MSSwiftValues::MSSwiftValues(
|
||||
const QString &cs,
|
||||
const CAircraftIcaoCode aircraftIcao,
|
||||
const CAirlineIcaoCode airlineIcao,
|
||||
const QString &livery, int liveryId) :
|
||||
MSSwiftValues(cs,
|
||||
aircraftIcao.getDesignator(), aircraftIcao.getDbKey(),
|
||||
airlineIcao.getDesignator(), airlineIcao.getVDesignator(), airlineIcao.getDbKey(),
|
||||
livery, liveryId)
|
||||
{ }
|
||||
|
||||
MSSwiftValues::MSSwiftValues(
|
||||
const QString &cs,
|
||||
const CAircraftIcaoCode aircraftIcao,
|
||||
const CLivery livery) :
|
||||
MSSwiftValues(cs,
|
||||
aircraftIcao,
|
||||
livery.getAirlineIcaoCode(),
|
||||
livery.getCombinedCode(), livery.getDbKey())
|
||||
{ }
|
||||
|
||||
MSSwiftValues::MSSwiftValues(const MSSwiftValues &sv) :
|
||||
MSSwiftValues(sv.m_callsign,
|
||||
sv.getAircraftIcao(), sv.getDbAircraftIcaoId(),
|
||||
sv.getAirlineIcao(), sv.getVirtualAirlineIcao(), sv.getDbAirlineIcaoId(),
|
||||
sv.getLivery(), sv.getDbLiveryId(),
|
||||
sv.m_logMessage,
|
||||
sv.isModified(), sv.isRerun())
|
||||
{ }
|
||||
|
||||
void MSSwiftValues::setCallsign(const QString &callsign)
|
||||
{
|
||||
if (m_callsign == callsign) { return; }
|
||||
@@ -54,6 +86,13 @@ namespace BlackMisc
|
||||
emit this->airlineIcaoChanged();
|
||||
}
|
||||
|
||||
void MSSwiftValues::setVirtualAirlineIcao(const QString &virtualAirlineIcao)
|
||||
{
|
||||
if (virtualAirlineIcao == m_vAirlineIcao) { return; }
|
||||
m_vAirlineIcao = virtualAirlineIcao;
|
||||
emit this->virtualAirlineIcaoChanged();
|
||||
}
|
||||
|
||||
void MSSwiftValues::setLivery(const QString &livery)
|
||||
{
|
||||
if (livery == m_livery) { return; }
|
||||
@@ -82,5 +121,20 @@ namespace BlackMisc
|
||||
emit this->rerunChanged();
|
||||
}
|
||||
|
||||
bool MSSwiftValues::hasChangedAircraftIcao(const Aviation::CAircraftIcaoCode &aircraftIcao) const
|
||||
{
|
||||
if (aircraftIcao.hasValidDbKey() && aircraftIcao.getDbKey() != m_dbAircraftIcaoId) { return true; }
|
||||
if (aircraftIcao.hasDesignator() && aircraftIcao.getDesignator() != m_aircraftIcao) { return true; }
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MSSwiftValues::hasChangedAirlineIcao(const Aviation::CAirlineIcaoCode &airlineIcao) const
|
||||
{
|
||||
if (airlineIcao.hasValidDbKey() && airlineIcao.getDbKey() != m_dbAirlineIcaoId) { return true; }
|
||||
if (airlineIcao.hasValidDesignator() && airlineIcao.getDesignator() != m_airlineIcao) { return true; }
|
||||
if (airlineIcao.hasValidDesignator() && airlineIcao.getVDesignator() != m_vAirlineIcao) { return true; }
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
#ifndef BLACKMISC_SIMULATION_MATCHINGSCRIPT_H
|
||||
#define BLACKMISC_SIMULATION_MATCHINGSCRIPT_H
|
||||
|
||||
#include "blackmisc/aviation/aircrafticaocode.h"
|
||||
#include "blackmisc/aviation/livery.h"
|
||||
#include "blackmisc/aviation/airlineicaocode.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
|
||||
#include <QString>
|
||||
@@ -26,16 +29,17 @@ namespace BlackMisc
|
||||
Q_OBJECT
|
||||
|
||||
//! MSNetworkValues properties @{
|
||||
Q_PROPERTY(QString callsign READ getCallsign WRITE setCallsign NOTIFY callsignChanged)
|
||||
Q_PROPERTY(int dbAircraftIcaoId READ getDbAircraftIcaoId WRITE setDbAircraftIcaoId NOTIFY dbAircraftIcaoIdChanged)
|
||||
Q_PROPERTY(int dbAirlineIcaoId READ getDbAirlineIcaoId WRITE setDbAirlineIcaoId NOTIFY dbAirlineIcaoIdChanged)
|
||||
Q_PROPERTY(int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged)
|
||||
Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged)
|
||||
Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged)
|
||||
Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged)
|
||||
Q_PROPERTY(QString logMessage READ getLogMessage WRITE setLogMessage NOTIFY logMessageChanged)
|
||||
Q_PROPERTY(bool modified READ isModified WRITE setModified NOTIFY modifiedChanged)
|
||||
Q_PROPERTY(bool rerun READ isRerun WRITE setRerun NOTIFY rerunChanged)
|
||||
Q_PROPERTY(QString callsign READ getCallsign WRITE setCallsign NOTIFY callsignChanged)
|
||||
Q_PROPERTY(int dbAircraftIcaoId READ getDbAircraftIcaoId WRITE setDbAircraftIcaoId NOTIFY dbAircraftIcaoIdChanged)
|
||||
Q_PROPERTY(int dbAirlineIcaoId READ getDbAirlineIcaoId WRITE setDbAirlineIcaoId NOTIFY dbAirlineIcaoIdChanged)
|
||||
Q_PROPERTY(int dbLiveryId READ getDbLiveryId WRITE setDbLiveryId NOTIFY dbLiveryIdChanged)
|
||||
Q_PROPERTY(QString aircraftIcao READ getAircraftIcao WRITE setAircraftIcao NOTIFY aircraftIcaoChanged)
|
||||
Q_PROPERTY(QString airlineIcao READ getAirlineIcao WRITE setAirlineIcao NOTIFY airlineIcaoChanged)
|
||||
Q_PROPERTY(QString virtualAirlineIcao READ getVirtualAirlineIcao WRITE setVirtualAirlineIcao NOTIFY virtualAirlineIcaoChanged)
|
||||
Q_PROPERTY(QString livery READ getLivery WRITE setLivery NOTIFY liveryChanged)
|
||||
Q_PROPERTY(QString logMessage READ getLogMessage WRITE setLogMessage NOTIFY logMessageChanged)
|
||||
Q_PROPERTY(bool modified READ isModified WRITE setModified NOTIFY modifiedChanged)
|
||||
Q_PROPERTY(bool rerun READ isRerun WRITE setRerun NOTIFY rerunChanged)
|
||||
//! @}
|
||||
|
||||
public:
|
||||
@@ -45,15 +49,33 @@ namespace BlackMisc
|
||||
//! Ctor
|
||||
Q_INVOKABLE MSSwiftValues(const QString &cs,
|
||||
const QString &aircraftIcao, int idAircraftIcao,
|
||||
const QString &airlineIcao, int idAirlineIcao,
|
||||
const QString &livery, int liveryId) :
|
||||
const QString &airlineIcao, const QString &virtualAirlineIcao, int idAirlineIcao,
|
||||
const QString &livery, int liveryId,
|
||||
const QString &logMsg = {},
|
||||
bool modified = false, bool rerun = false) :
|
||||
m_callsign(cs.trimmed().toUpper()),
|
||||
m_aircraftIcao(aircraftIcao.trimmed().toUpper()),
|
||||
m_airlineIcao(airlineIcao.trimmed().toUpper()),
|
||||
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_vAirlineIcao(virtualAirlineIcao),
|
||||
m_livery(livery.trimmed().toUpper()),
|
||||
m_dbAircraftIcaoId(idAircraftIcao), m_dbAirlineIcaoId(idAirlineIcao), m_dbLiveryId(liveryId)
|
||||
m_dbAircraftIcaoId(idAircraftIcao), m_dbAirlineIcaoId(idAirlineIcao), m_dbLiveryId(liveryId),
|
||||
m_logMessage(logMsg),
|
||||
m_modified(modified), m_rerun(rerun)
|
||||
{}
|
||||
|
||||
//! Ctor
|
||||
MSSwiftValues(const QString &cs,
|
||||
const BlackMisc::Aviation::CAircraftIcaoCode aircraftIcao,
|
||||
const BlackMisc::Aviation::CAirlineIcaoCode airlineIcao,
|
||||
const QString &livery, int liveryId);
|
||||
|
||||
//! Ctor
|
||||
MSSwiftValues(const QString &cs,
|
||||
const BlackMisc::Aviation::CAircraftIcaoCode aircraftIcao,
|
||||
const BlackMisc::Aviation::CLivery livery);
|
||||
|
||||
//! Ctor
|
||||
MSSwiftValues(const MSSwiftValues &sv);
|
||||
|
||||
//! Get callsign
|
||||
const QString &getCallsign() const { return m_callsign; }
|
||||
|
||||
@@ -64,20 +86,22 @@ namespace BlackMisc
|
||||
bool isFoundDbAircraftIcao() const { return m_dbAircraftIcaoId >= 0; }
|
||||
bool isFoundDbAirlineIcao() const { return m_dbAirlineIcaoId >= 0; }
|
||||
bool isFoundDbLivery() const { return m_dbLiveryId >= 0; }
|
||||
int getDbAircraftIcaoId() const { return m_dbAircraftIcaoId; }
|
||||
int getDbAirlineIcaoId() const { return m_dbAirlineIcaoId; }
|
||||
int getDbLiveryId() const { return m_dbLiveryId; }
|
||||
int getDbAircraftIcaoId() const { return m_dbAircraftIcaoId; }
|
||||
int getDbAirlineIcaoId() const { return m_dbAirlineIcaoId; }
|
||||
int getDbLiveryId() const { return m_dbLiveryId; }
|
||||
void setDbAircraftIcaoId(int id);
|
||||
void setDbAirlineIcaoId(int id);
|
||||
void setDbLiveryId(int id);
|
||||
//! @}
|
||||
|
||||
//! Livery, airline, aircraft @{
|
||||
const QString &getAircraftIcao() const { return m_aircraftIcao; }
|
||||
const QString &getAirlineIcao() const { return m_airlineIcao; }
|
||||
const QString &getLivery() const { return m_livery; }
|
||||
const QString &getAircraftIcao() const { return m_aircraftIcao; }
|
||||
const QString &getAirlineIcao() const { return m_airlineIcao; }
|
||||
const QString &getVirtualAirlineIcao() const { return m_vAirlineIcao; }
|
||||
const QString &getLivery() const { return m_livery; }
|
||||
void setAircraftIcao(const QString &aircraftIcao);
|
||||
void setAirlineIcao(const QString &airlineIcao);
|
||||
void setVirtualAirlineIcao(const QString &virtualAirlineIcao);
|
||||
void setLivery(const QString &livery);
|
||||
//! @}
|
||||
|
||||
@@ -96,6 +120,11 @@ namespace BlackMisc
|
||||
void setRerun(bool rerun);
|
||||
//! @}
|
||||
|
||||
//! Changed values @{
|
||||
bool hasChangedAircraftIcao(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcao) const;
|
||||
bool hasChangedAirlineIcao(const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcao) const;
|
||||
//! }
|
||||
|
||||
signals:
|
||||
//! Callsign changed
|
||||
void callsignChanged();
|
||||
@@ -103,6 +132,7 @@ namespace BlackMisc
|
||||
//! Livery, airline, aircraft changed @{
|
||||
void aircraftIcaoChanged();
|
||||
void airlineIcaoChanged();
|
||||
void virtualAirlineIcaoChanged();
|
||||
void liveryChanged();
|
||||
//! @}
|
||||
|
||||
@@ -125,11 +155,12 @@ namespace BlackMisc
|
||||
QString m_callsign;
|
||||
QString m_aircraftIcao;
|
||||
QString m_airlineIcao;
|
||||
QString m_vAirlineIcao;
|
||||
QString m_livery;
|
||||
QString m_logMessage;
|
||||
int m_dbAircraftIcaoId = -1;
|
||||
int m_dbAirlineIcaoId = -1;
|
||||
int m_dbLiveryId = -1;
|
||||
QString m_logMessage;
|
||||
bool m_modified = false;
|
||||
bool m_rerun = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user