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