mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 00:25:35 +08:00
refs #100 Rationalization of INetwork signals and slots
* Naming convention: "preset" only when disconnected, "send" only when connected, "set" both * Every asynchronous pair is named as in "sendFooQuery" and "fooReplyReceived" * Moved LoginMode from CNetworkVatlib constructor to INetwork::presetLoginMode * Callsign and ICAO codes can only be changed when disconnected, so have their own "preset" methods ** Callsign and ICAO parts of setOwnAircraft are therefore ignored ** CUser part of setOwnAircraft is ignored, in favour of the CUser part of presetServer * CNetworkVatlib takes care of reconstructing m_net if the LoginMode is changed
This commit is contained in:
@@ -27,40 +27,36 @@ namespace BlackCore
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum LoginMode
|
||||
{
|
||||
LoginNormal = 0,
|
||||
LoginAsObserver,
|
||||
LoginStealth
|
||||
};
|
||||
|
||||
CNetworkVatlib(LoginMode loginMode = LoginNormal, QObject *parent = nullptr);
|
||||
CNetworkVatlib(QObject *parent = nullptr);
|
||||
virtual ~CNetworkVatlib();
|
||||
|
||||
bool isConnected() const;
|
||||
bool isConnected() const { return m_status == Cvatlib_Network::connStatus_Connected; }
|
||||
|
||||
public: // INetwork slots overrides
|
||||
|
||||
// Network
|
||||
virtual void setServer(const BlackMisc::Network::CServer &server);
|
||||
virtual void setCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void setRealName(const QString &name);
|
||||
virtual void presetServer(const BlackMisc::Network::CServer &server);
|
||||
virtual void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcao &icao);
|
||||
virtual void presetLoginMode(LoginMode mode);
|
||||
virtual void initiateConnection();
|
||||
virtual void terminateConnection();
|
||||
virtual void sendPing(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
virtual void sendNameQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendIpQuery();
|
||||
virtual void sendServerQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendNameQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void ping(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
// Weather
|
||||
virtual void requestWeatherData(const QString &airportICAO);
|
||||
|
||||
// Text messages
|
||||
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &messages);
|
||||
|
||||
// ATC
|
||||
virtual void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendAtisQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
// Aircraft
|
||||
virtual void requestAircraftInfo(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendAircraftInfoQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendFrequencyQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft);
|
||||
virtual void setOwnAircraftPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude);
|
||||
@@ -68,10 +64,9 @@ namespace BlackCore
|
||||
virtual void setOwnAircraftAvionics(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2,
|
||||
const BlackMisc::Aviation::CTransponder &xpdr);
|
||||
|
||||
// ATC
|
||||
virtual void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendAtisQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void requestMetar(const QString &airportICAO);
|
||||
// Weather
|
||||
virtual void sendMetarQuery(const QString &airportICAO);
|
||||
virtual void sendWeatherDataQuery(const QString &airportICAO);
|
||||
|
||||
private slots:
|
||||
void replyToFrequencyQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
@@ -105,6 +100,7 @@ namespace BlackCore
|
||||
QByteArray toFSD(QString qstr) const;
|
||||
QByteArray toFSD(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
QString fromFSD(const char *cstr) const;
|
||||
void initializeSession();
|
||||
bool isDisconnected() const { return m_status != Cvatlib_Network::connStatus_Connecting && m_status != Cvatlib_Network::connStatus_Connected; }
|
||||
|
||||
private slots:
|
||||
@@ -127,7 +123,9 @@ namespace BlackCore
|
||||
LoginMode m_loginMode;
|
||||
Cvatlib_Network::connStatus m_status;
|
||||
BlackMisc::Network::CServer m_server;
|
||||
BlackMisc::Aviation::CAircraft m_ownAircraft;
|
||||
BlackMisc::Aviation::CCallsign m_callsign;
|
||||
BlackMisc::Aviation::CAircraftIcao m_icaoCodes;
|
||||
BlackMisc::Aviation::CAircraft m_ownAircraft; // not using callsign, user, or icao parts of this member because they can't be changed when connected
|
||||
QMap<BlackMisc::Aviation::CCallsign, BlackMisc::Aviation::CInformationMessage> m_atisParts;
|
||||
|
||||
QTimer m_processingTimer;
|
||||
|
||||
Reference in New Issue
Block a user