mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 16:56:53 +08:00
Ref T259, Ref T243 directly convert to Client capabilities enum in vatlib, do not use an interim enum
This commit is contained in:
@@ -544,22 +544,17 @@ namespace BlackCore
|
||||
this->updateOrAddClient(callsign, vm, false);
|
||||
}
|
||||
|
||||
void CAirspaceMonitor::onCapabilitiesReplyReceived(const CCallsign &callsign, quint32 flags)
|
||||
void CAirspaceMonitor::onCapabilitiesReplyReceived(const CCallsign &callsign, int clientCaps)
|
||||
{
|
||||
if (!this->isConnected() || callsign.isEmpty()) { return; }
|
||||
CPropertyIndexVariantMap capabilities;
|
||||
capabilities.addValue(CClient::FsdAtisCanBeReceived, (flags & INetwork::AcceptsAtisResponses));
|
||||
capabilities.addValue(CClient::FsdWithInterimPositions, (flags & INetwork::SupportsInterimPosUpdates));
|
||||
capabilities.addValue(CClient::FsdWithIcaoCodes, (flags & INetwork::SupportsIcaoCodes));
|
||||
capabilities.addValue(CClient::FsdWithAircraftConfig, (flags & INetwork::SupportsAircraftConfigs));
|
||||
|
||||
CPropertyIndexVariantMap vm(CClient::IndexCapabilities, CVariant::from(capabilities));
|
||||
const CVoiceCapabilities caps = sApp->getWebDataServices()->getVoiceCapabilityForCallsign(callsign);
|
||||
vm.addValue({CClient::IndexVoiceCapabilities}, caps);
|
||||
CClient::Capabilities caps = static_cast<CClient::Capabilities>(clientCaps);
|
||||
const CVoiceCapabilities voiceCaps = sApp->getWebDataServices()->getVoiceCapabilityForCallsign(callsign);
|
||||
CPropertyIndexVariantMap vm(CClient::IndexCapabilities, CVariant::from(clientCaps));
|
||||
vm.addValue({CClient::IndexVoiceCapabilities}, voiceCaps);
|
||||
this->updateOrAddClient(callsign, vm, false);
|
||||
|
||||
// for aircraft parts
|
||||
if (flags & INetwork::SupportsAircraftConfigs) { m_network->sendAircraftConfigQuery(callsign); }
|
||||
if (caps.testFlag(CClient::FsdWithAircraftConfig)) { m_network->sendAircraftConfigQuery(callsign); }
|
||||
}
|
||||
|
||||
void CAirspaceMonitor::onServerReplyReceived(const CCallsign &callsign, const QString &server)
|
||||
|
||||
@@ -361,7 +361,7 @@ namespace BlackCore
|
||||
void onCustomFSInnPacketReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &airlineIcaoDesignator, const QString &aircraftDesignator, const QString &combinedAircraftType, const QString &modelString);
|
||||
|
||||
void onRealNameReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &realname);
|
||||
void onCapabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, quint32 flags);
|
||||
void onCapabilitiesReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, int clientCaps);
|
||||
void onServerReplyReceived(const BlackMisc::Aviation::CCallsign &callsign, const QString &server);
|
||||
void onFlightPlanReceived(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CFlightPlan &flightPlan);
|
||||
void onAtcControllerDisconnected(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
@@ -82,15 +82,6 @@ namespace BlackCore
|
||||
//! Underlying library info.
|
||||
virtual const QString &getLibraryInfo(bool detailed) const = 0;
|
||||
|
||||
//! Flags for capabilities bitfield
|
||||
// enum Capability
|
||||
// {
|
||||
// AcceptsAtisResponses = 1 << 0,
|
||||
// SupportsInterimPosUpdates = 1 << 1,
|
||||
// SupportsIcaoCodes = 1 << 2,
|
||||
// SupportsAircraftConfigs = 1 << 3
|
||||
// };
|
||||
|
||||
//! Login modes
|
||||
enum LoginMode
|
||||
{
|
||||
|
||||
@@ -1261,13 +1261,13 @@ namespace BlackCore
|
||||
|
||||
void CNetworkVatlib::onCapabilitiesReplyReceived(VatFsdClient *, const char *callsign, int capabilityFlags, void *cbvar)
|
||||
{
|
||||
int flags = 0;
|
||||
if (capabilityFlags & vatCapsAtcInfo) { flags |= AcceptsAtisResponses; }
|
||||
if (capabilityFlags & vatCapsFastPos) { flags |= SupportsInterimPosUpdates; }
|
||||
if (capabilityFlags & vatCapsAircraftInfo) { flags |= SupportsIcaoCodes; }
|
||||
if (capabilityFlags & vatCapsAircraftConfig) { flags |= SupportsAircraftConfigs; }
|
||||
CClient::Capabilities caps = CClient::None;
|
||||
if (capabilityFlags & vatCapsAtcInfo) { caps |= CClient::FsdAtisCanBeReceived; }
|
||||
if (capabilityFlags & vatCapsFastPos) { caps |= CClient::FsdWithInterimPositions; }
|
||||
if (capabilityFlags & vatCapsAircraftInfo) { caps |= CClient::FsdWithIcaoCodes; }
|
||||
if (capabilityFlags & vatCapsAircraftConfig) { caps |= CClient::FsdWithAircraftConfig; }
|
||||
auto *self = cbvar_cast(cbvar);
|
||||
emit self->capabilitiesReplyReceived(self->fromFSD(callsign), flags);
|
||||
emit self->capabilitiesReplyReceived(self->fromFSD(callsign), static_cast<int>(caps));
|
||||
}
|
||||
|
||||
void CNetworkVatlib::onAtisReplyReceived(VatFsdClient *, const char *callsign, const VatControllerAtis *atis, void *cbvar)
|
||||
|
||||
Reference in New Issue
Block a user