mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 00:25:35 +08:00
Ref T168, relay kicked message thru context to UI
* new signal in context, connected with VATLIB * display in UI
This commit is contained in:
committed by
Mathew Sutcliffe
parent
2aa5ed431f
commit
27ebf3e43d
@@ -144,6 +144,9 @@ namespace BlackCore
|
|||||||
//! Terminated connection
|
//! Terminated connection
|
||||||
void connectionTerminated();
|
void connectionTerminated();
|
||||||
|
|
||||||
|
//! User has been kicked from network
|
||||||
|
void kicked(const QString &kickMessage);
|
||||||
|
|
||||||
//! Connection status changed
|
//! Connection status changed
|
||||||
void connectionStatusChanged(BlackCore::INetwork::ConnectionStatus from, BlackCore::INetwork::ConnectionStatus to);
|
void connectionStatusChanged(BlackCore::INetwork::ConnectionStatus from, BlackCore::INetwork::ConnectionStatus to);
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ namespace BlackCore
|
|||||||
// 1. Init by "network driver"
|
// 1. Init by "network driver"
|
||||||
m_network = new CNetworkVatlib(this->getRuntime()->getCContextOwnAircraft(), this);
|
m_network = new CNetworkVatlib(this->getRuntime()->getCContextOwnAircraft(), this);
|
||||||
connect(m_network, &INetwork::connectionStatusChanged, this, &CContextNetwork::ps_fsdConnectionStatusChanged);
|
connect(m_network, &INetwork::connectionStatusChanged, this, &CContextNetwork::ps_fsdConnectionStatusChanged);
|
||||||
|
connect(m_network, &INetwork::kicked, this, &CContextNetwork::kicked);
|
||||||
connect(m_network, &INetwork::textMessagesReceived, this, &CContextNetwork::textMessagesReceived);
|
connect(m_network, &INetwork::textMessagesReceived, this, &CContextNetwork::textMessagesReceived);
|
||||||
connect(m_network, &INetwork::textMessagesReceived, this, &CContextNetwork::ps_checkForSupervisiorTextMessage);
|
connect(m_network, &INetwork::textMessagesReceived, this, &CContextNetwork::ps_checkForSupervisiorTextMessage);
|
||||||
connect(m_network, &INetwork::textMessageSent, this, &CContextNetwork::textMessageSent);
|
connect(m_network, &INetwork::textMessageSent, this, &CContextNetwork::textMessageSent);
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ namespace BlackCore
|
|||||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
"connectionTerminated", this, SIGNAL(connectionTerminated()));
|
"connectionTerminated", this, SIGNAL(connectionTerminated()));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
|
"kicked", this, SIGNAL(kicked(QString)));
|
||||||
|
Q_ASSERT(s);
|
||||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
"textMessagesReceived", this, SIGNAL(textMessagesReceived(BlackMisc::Network::CTextMessageList)));
|
"textMessagesReceived", this, SIGNAL(textMessagesReceived(BlackMisc::Network::CTextMessageList)));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace BlackCore
|
|||||||
virtual void sendMetarQuery(const BlackMisc::Aviation::CAirportIcaoCode &airportIcao) override;
|
virtual void sendMetarQuery(const BlackMisc::Aviation::CAirportIcaoCode &airportIcao) override;
|
||||||
//! @}
|
//! @}
|
||||||
|
|
||||||
//! Cmd. line options this library can handle
|
//! Command line options this library can handle
|
||||||
static const QList<QCommandLineOption> &getCmdLineOptions();
|
static const QList<QCommandLineOption> &getCmdLineOptions();
|
||||||
|
|
||||||
static int const c_positionTimeOffsetMsec = 6000; //!< offset time for received position updates
|
static int const c_positionTimeOffsetMsec = 6000; //!< offset time for received position updates
|
||||||
@@ -206,18 +206,18 @@ namespace BlackCore
|
|||||||
};
|
};
|
||||||
|
|
||||||
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;
|
||||||
QTextCodec *m_fsdTextCodec = nullptr;
|
QTextCodec *m_fsdTextCodec = nullptr;
|
||||||
BlackMisc::Simulation::CSimulatorPluginInfo m_simulatorInfo;
|
BlackMisc::Simulation::CSimulatorPluginInfo m_simulatorInfo; //!< used simulator
|
||||||
BlackMisc::Aviation::CCallsign m_ownCallsign; //!< "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::CAircraftIcaoCode m_ownAircraftIcaoCode; //!< "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
|
BlackMisc::Aviation::CAirlineIcaoCode m_ownAirlineIcaoCode; //!< "buffered icao", as this must not change when connected
|
||||||
QString m_ownLiveryDescription; //!< "buffered livery", as this must not change when connected
|
QString m_ownLiveryDescription; //!< "buffered livery", as this must not change when connected
|
||||||
BlackMisc::Aviation::CCallsignSet m_interimPositionReceivers;
|
BlackMisc::Aviation::CCallsignSet m_interimPositionReceivers; //!< all aircraft receiving interim positions
|
||||||
BlackMisc::Aviation::CAircraftParts m_sentAircraftConfig;
|
BlackMisc::Aviation::CAircraftParts m_sentAircraftConfig; //!< aircraft parts sent
|
||||||
CTokenBucket m_tokenBucket;
|
CTokenBucket m_tokenBucket; //!< used with aircraft parts messages
|
||||||
|
|
||||||
QTimer m_scheduledConfigUpdate;
|
QTimer m_scheduledConfigUpdate;
|
||||||
QTimer m_processingTimer;
|
QTimer m_processingTimer;
|
||||||
|
|||||||
@@ -242,6 +242,14 @@ void SwiftGuiStd::onConnectionTerminated()
|
|||||||
this->updateGuiStatusInformation();
|
this->updateGuiStatusInformation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SwiftGuiStd::onKickedFromNetwork(const QString &kickMessage)
|
||||||
|
{
|
||||||
|
this->updateGuiStatusInformation();
|
||||||
|
this->displayInOverlayWindow(CStatusMessage(
|
||||||
|
this, CStatusMessage::SeverityError,
|
||||||
|
kickMessage.isEmpty() ? "You have been kicked from the network" : kickMessage));
|
||||||
|
}
|
||||||
|
|
||||||
void SwiftGuiStd::onConnectionStatusChanged(BlackCore::INetwork::ConnectionStatus from, BlackCore::INetwork::ConnectionStatus to)
|
void SwiftGuiStd::onConnectionStatusChanged(BlackCore::INetwork::ConnectionStatus from, BlackCore::INetwork::ConnectionStatus to)
|
||||||
{
|
{
|
||||||
Q_UNUSED(from);
|
Q_UNUSED(from);
|
||||||
|
|||||||
@@ -210,6 +210,9 @@ private:
|
|||||||
//! Terminated connection
|
//! Terminated connection
|
||||||
void onConnectionTerminated();
|
void onConnectionTerminated();
|
||||||
|
|
||||||
|
//! Kicked from network
|
||||||
|
void onKickedFromNetwork(const QString &kickMessage);
|
||||||
|
|
||||||
//! Update timer
|
//! Update timer
|
||||||
void handleTimerBasedUpdates();
|
void handleTimerBasedUpdates();
|
||||||
|
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ void SwiftGuiStd::init()
|
|||||||
connect(sGui->getWebDataServices(), &CWebDataServices::sharedInfoObjectsRead, this, &SwiftGuiStd::sharedInfoObjectsLoaded);
|
connect(sGui->getWebDataServices(), &CWebDataServices::sharedInfoObjectsRead, this, &SwiftGuiStd::sharedInfoObjectsLoaded);
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionTerminated, this, &SwiftGuiStd::onConnectionTerminated);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionTerminated, this, &SwiftGuiStd::onConnectionTerminated);
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionStatusChanged, this, &SwiftGuiStd::onConnectionStatusChanged);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::connectionStatusChanged, this, &SwiftGuiStd::onConnectionStatusChanged);
|
||||||
|
connect(sGui->getIContextNetwork(), &IContextNetwork::kicked, this, &SwiftGuiStd::onKickedFromNetwork);
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::textMessagesReceived, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::onTextMessageReceived);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::textMessagesReceived, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::onTextMessageReceived);
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::textMessageSent, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::onTextMessageSent);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::textMessageSent, ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::onTextMessageSent);
|
||||||
connect(m_timerContextWatchdog, &QTimer::timeout, this, &SwiftGuiStd::handleTimerBasedUpdates);
|
connect(m_timerContextWatchdog, &QTimer::timeout, this, &SwiftGuiStd::handleTimerBasedUpdates);
|
||||||
|
|||||||
Reference in New Issue
Block a user