mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 20:15:35 +08:00
refs #452 adjusted network vatlib signatures
This commit is contained in:
committed by
Mathew Sutcliffe
parent
898b4fc935
commit
5fc0c66112
@@ -14,7 +14,7 @@
|
||||
|
||||
#include "blackcoreexport.h"
|
||||
#include "blackmisc/simulation/simulatorplugininfo.h"
|
||||
#include "blackmisc/aviation/aircraft.h"
|
||||
#include "blackmisc/simulation/simulatedaircraft.h"
|
||||
#include "blackmisc/pq/frequency.h"
|
||||
#include "blackmisc/geo/coordinategeodetic.h"
|
||||
#include "blackmisc/pq/length.h"
|
||||
@@ -175,7 +175,7 @@ namespace BlackCore
|
||||
* Set our own aircraft ICAO codes before connecting.
|
||||
* \pre Network must be disconnected when calling this function.
|
||||
*/
|
||||
virtual void presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoData &icao) = 0;
|
||||
virtual void presetIcaoCodes(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft) = 0;
|
||||
|
||||
/*!
|
||||
* Select a login mode before connecting.
|
||||
@@ -436,7 +436,7 @@ namespace BlackCore
|
||||
* We received a reply to one of our queries.
|
||||
* \sa sendIcaoCodesQuery
|
||||
*/
|
||||
void icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftIcaoData &icao);
|
||||
void icaoCodesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString aircraftIcaoDesignator, const QString &airlineIcaoDesignator, const QString &livery);
|
||||
|
||||
/*!
|
||||
* We received a notification of the state of another aircraft on the network.
|
||||
|
||||
@@ -294,15 +294,16 @@ namespace BlackCore
|
||||
void CNetworkVatlib::presetCallsign(const BlackMisc::Aviation::CCallsign &callsign)
|
||||
{
|
||||
Q_ASSERT_X(isDisconnected(), "CNetworkVatlib", "Can't change callsign while still connected");
|
||||
m_callsign = callsign;
|
||||
m_ownCallsign = callsign;
|
||||
updateOwnCallsign(callsign);
|
||||
}
|
||||
|
||||
void CNetworkVatlib::presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoData &icao)
|
||||
void CNetworkVatlib::presetIcaoCodes(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft)
|
||||
{
|
||||
Q_ASSERT_X(isDisconnected(), "CNetworkVatlib", "Can't change ICAO codes while still connected");
|
||||
m_icaoCode = icao;
|
||||
updateOwnIcaoData(icao);
|
||||
m_ownAircraftIcaoCode = ownAircraft.getAircraftIcaoCode();
|
||||
m_ownAirlineIcaoCode = ownAircraft.getAirlineIcaoCode();
|
||||
updateOwnIcaoCodes(m_ownAircraftIcaoCode, m_ownAirlineIcaoCode);
|
||||
}
|
||||
|
||||
void CNetworkVatlib::presetLoginMode(LoginMode mode)
|
||||
@@ -317,8 +318,8 @@ namespace BlackCore
|
||||
Q_ASSERT_X(isDisconnected(), "CNetworkVatlib", "Can't connect while still connected");
|
||||
if (!m_net) { initializeSession(); }
|
||||
QByteArray callsign = toFSD(m_loginMode == LoginAsObserver ?
|
||||
m_callsign.getAsObserverCallsignString() :
|
||||
m_callsign.asString());
|
||||
m_ownCallsign.getAsObserverCallsignString() :
|
||||
m_ownCallsign.asString());
|
||||
QByteArray name = toFSD(m_server.getUser().getRealName());
|
||||
|
||||
if (this->m_loginMode == LoginAsObserver)
|
||||
@@ -551,8 +552,8 @@ namespace BlackCore
|
||||
|
||||
void CNetworkVatlib::sendAircraftInfo(const BlackMisc::Aviation::CCallsign &callsign) // private
|
||||
{
|
||||
const QByteArray acTypeICAObytes = toFSD(m_icaoCode.getAircraftDesignator());
|
||||
const QByteArray airlineICAObytes = toFSD(m_icaoCode.getAirlineDesignator());
|
||||
const QByteArray acTypeICAObytes = toFSD(m_ownAircraftIcaoCode.getDesignator());
|
||||
const QByteArray airlineICAObytes = toFSD(m_ownAirlineIcaoCode.getDesignator());
|
||||
const QByteArray liverybytes; //! \todo VATLIB: send livery
|
||||
|
||||
VatAircraftInfo aircraftInfo {acTypeICAObytes, airlineICAObytes, liverybytes};
|
||||
@@ -606,12 +607,15 @@ namespace BlackCore
|
||||
{
|
||||
Q_ASSERT_X(isConnected(), "CNetworkVatlib", "Can't send to server when disconnected");
|
||||
CSimulatedAircraft myAircraft(getOwnAircraft());
|
||||
CAircraftIcaoData icao = myAircraft.getIcaoInfo();
|
||||
QString modelString = myAircraft.getModel().getModelString();
|
||||
if (modelString.isEmpty()) { modelString = defaultModelString(); }
|
||||
|
||||
QStringList data { { "0" }, icao.getAirlineDesignator(), icao.getAircraftDesignator(),
|
||||
{ "" }, { "" }, { "" }, { "" }, icao.getAircraftCombinedType(), modelString
|
||||
QStringList data { { "0" },
|
||||
myAircraft.getAirlineIcaoCodeDesignator(),
|
||||
myAircraft.getAircraftIcaoCodeDesignator(),
|
||||
{ "" }, { "" }, { "" }, { "" },
|
||||
myAircraft.getAircraftIcaoCombinedType(),
|
||||
modelString
|
||||
};
|
||||
sendCustomPacket(callsign, "FSIPIR", data);
|
||||
}
|
||||
@@ -620,12 +624,15 @@ namespace BlackCore
|
||||
{
|
||||
Q_ASSERT_X(isConnected(), "CNetworkVatlib", "Can't send to server when disconnected");
|
||||
CSimulatedAircraft myAircraft(getOwnAircraft());
|
||||
CAircraftIcaoData icao = myAircraft.getIcaoInfo();
|
||||
QString modelString = myAircraft.getModel().getModelString();
|
||||
if (modelString.isEmpty()) { modelString = defaultModelString(); }
|
||||
|
||||
QStringList data { { "0" }, icao.getAirlineDesignator(), icao.getAircraftDesignator(),
|
||||
{ "" }, { "" }, { "" }, { "" }, icao.getAircraftCombinedType(), modelString
|
||||
QStringList data { { "0" },
|
||||
myAircraft.getAirlineIcaoCodeDesignator(),
|
||||
myAircraft.getAircraftIcaoCodeDesignator(),
|
||||
{ "" }, { "" }, { "" }, { "" },
|
||||
myAircraft.getAircraftIcaoCombinedType(),
|
||||
modelString
|
||||
};
|
||||
sendCustomPacket(callsign, "FSIPI", data);
|
||||
}
|
||||
@@ -1021,12 +1028,12 @@ namespace BlackCore
|
||||
|
||||
void CNetworkVatlib::onPilotInfoReceived(VatSessionID, const char *callsign, const VatAircraftInfo *aircraftInfo, void *cbvar)
|
||||
{
|
||||
BlackMisc::Aviation::CAircraftIcaoData icao;
|
||||
icao.setAircraftDesignator(aircraftInfo->aircraftType);
|
||||
icao.setAirlineDesignator(aircraftInfo->airline);
|
||||
|
||||
//! \todo use livery: aircraftInfo->livery;
|
||||
emit cbvar_cast(cbvar)->icaoCodesReplyReceived(cbvar_cast(cbvar)->fromFSD(callsign), icao);
|
||||
emit cbvar_cast(cbvar)->icaoCodesReplyReceived(
|
||||
cbvar_cast(cbvar)->fromFSD(callsign),
|
||||
QString(aircraftInfo->aircraftType).trimmed().toUpper(),
|
||||
QString(aircraftInfo->airline).trimmed().toUpper(),
|
||||
QString(aircraftInfo->livery).trimmed().toUpper()
|
||||
);
|
||||
}
|
||||
|
||||
void CNetworkVatlib::networkLogHandler(SeverityLevel /** severity **/, const char *message)
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace BlackCore
|
||||
virtual void presetLoginMode(LoginMode mode) override;
|
||||
virtual void presetServer(const BlackMisc::Network::CServer &server) override;
|
||||
virtual void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoData &icao) override;
|
||||
virtual void presetIcaoCodes(const BlackMisc::Simulation::CSimulatedAircraft &ownAircraft) override;
|
||||
virtual void presetSimulatorInfo(const BlackMisc::Simulation::CSimulatorPluginInfo &simInfo) override;
|
||||
virtual void initiateConnection() override;
|
||||
virtual void terminateConnection() override;
|
||||
@@ -170,12 +170,13 @@ namespace BlackCore
|
||||
|
||||
private:
|
||||
QScopedPointer<PCSBClient, VatlibQScopedPointerDeleter> m_net;
|
||||
LoginMode m_loginMode;
|
||||
VatConnectionStatus m_status;
|
||||
BlackMisc::Network::CServer m_server;
|
||||
BlackMisc::Simulation::CSimulatorPluginInfo m_simulatorInfo;
|
||||
BlackMisc::Aviation::CCallsign m_callsign; //!< "buffered callsign", as this must not change when connected
|
||||
BlackMisc::Aviation::CAircraftIcaoData m_icaoCode; //!< "buffered icao", as this must not change when connected
|
||||
LoginMode m_loginMode;
|
||||
VatConnectionStatus m_status;
|
||||
BlackMisc::Network::CServer m_server;
|
||||
BlackMisc::Simulation::CSimulatorPluginInfo m_simulatorInfo;
|
||||
BlackMisc::Aviation::CCallsign m_ownCallsign; //!< "buffered callsign", as this must not change when connected
|
||||
BlackMisc::Aviation::CAircraftIcaoCode m_ownAircraftIcaoCode; //!< "buffered icao", as this must not change when connected
|
||||
BlackMisc::Aviation::CAirlineIcaoCode m_ownAirlineIcaoCode; //!< "buffered icao", as this must not change when connected
|
||||
|
||||
QTimer m_processingTimer;
|
||||
QTimer m_positionUpdateTimer;
|
||||
|
||||
Reference in New Issue
Block a user