mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 10:55:32 +08:00
refs #321 Handle aircraft config client capability
This commit is contained in:
committed by
Klaus Basan
parent
b40180818c
commit
afea320a2e
@@ -46,6 +46,7 @@ namespace BlackCore
|
|||||||
this->connect(this->m_network, &INetwork::capabilitiesReplyReceived, this, &CAirspaceMonitor::ps_capabilitiesReplyReceived);
|
this->connect(this->m_network, &INetwork::capabilitiesReplyReceived, this, &CAirspaceMonitor::ps_capabilitiesReplyReceived);
|
||||||
this->connect(this->m_network, &INetwork::fsipirCustomPacketReceived, this, &CAirspaceMonitor::ps_fsipirCustomPacketReceived);
|
this->connect(this->m_network, &INetwork::fsipirCustomPacketReceived, this, &CAirspaceMonitor::ps_fsipirCustomPacketReceived);
|
||||||
this->connect(this->m_network, &INetwork::serverReplyReceived, this, &CAirspaceMonitor::ps_serverReplyReceived);
|
this->connect(this->m_network, &INetwork::serverReplyReceived, this, &CAirspaceMonitor::ps_serverReplyReceived);
|
||||||
|
this->connect(this->m_network, &INetwork::aircraftConfigPacketReceived, this, &CAirspaceMonitor::ps_aircraftConfigReceived);
|
||||||
|
|
||||||
// AutoConnection: this should also avoid race conditions by updating the bookings
|
// AutoConnection: this should also avoid race conditions by updating the bookings
|
||||||
this->connect(this->m_vatsimBookingReader, &CVatsimBookingReader::dataRead, this, &CAirspaceMonitor::ps_receivedBookings);
|
this->connect(this->m_vatsimBookingReader, &CVatsimBookingReader::dataRead, this, &CAirspaceMonitor::ps_receivedBookings);
|
||||||
@@ -313,7 +314,7 @@ namespace BlackCore
|
|||||||
capabilities.addValue(CClient::FsdAtisCanBeReceived, (flags & INetwork::AcceptsAtisResponses));
|
capabilities.addValue(CClient::FsdAtisCanBeReceived, (flags & INetwork::AcceptsAtisResponses));
|
||||||
capabilities.addValue(CClient::FsdWithInterimPositions, (flags & INetwork::SupportsInterimPosUpdates));
|
capabilities.addValue(CClient::FsdWithInterimPositions, (flags & INetwork::SupportsInterimPosUpdates));
|
||||||
capabilities.addValue(CClient::FsdWithModelDescription, (flags & INetwork::SupportsModelDescriptions));
|
capabilities.addValue(CClient::FsdWithModelDescription, (flags & INetwork::SupportsModelDescriptions));
|
||||||
//! \todo add aircraft config cap.
|
capabilities.addValue(CClient::FsdWithAircraftConfig, (flags & INetwork::SupportsAircraftConfigs));
|
||||||
|
|
||||||
CPropertyIndexVariantMap vm(CClient::IndexCapabilities, capabilities.toCVariant());
|
CPropertyIndexVariantMap vm(CClient::IndexCapabilities, capabilities.toCVariant());
|
||||||
CVoiceCapabilities caps = m_vatsimDataFileReader->getVoiceCapabilityForCallsign(callsign);
|
CVoiceCapabilities caps = m_vatsimDataFileReader->getVoiceCapabilityForCallsign(callsign);
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
AcceptsAtisResponses = 1 << 0,
|
AcceptsAtisResponses = 1 << 0,
|
||||||
SupportsInterimPosUpdates = 1 << 1,
|
SupportsInterimPosUpdates = 1 << 1,
|
||||||
SupportsModelDescriptions = 1 << 2
|
SupportsModelDescriptions = 1 << 2,
|
||||||
|
SupportsAircraftConfigs = 1 << 3
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
Q_ASSERT_X(isDisconnected(), "CNetworkVatlib", "attempted to reinitialize session while still connected");
|
Q_ASSERT_X(isDisconnected(), "CNetworkVatlib", "attempted to reinitialize session while still connected");
|
||||||
|
|
||||||
int clientCapabilities = vatCapsModelDesc | vatCapsInterminPos | vatCapsAtcInfo;
|
int clientCapabilities = vatCapsModelDesc | vatCapsInterminPos | vatCapsAtcInfo | vatCapsAircraftConfig;
|
||||||
if (m_loginMode == LoginStealth)
|
if (m_loginMode == LoginStealth)
|
||||||
{
|
{
|
||||||
clientCapabilities |= vatCapsStealth;
|
clientCapabilities |= vatCapsStealth;
|
||||||
@@ -800,8 +800,9 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
if (capabilityFlags & vatCapsAtcInfo) { flags |= AcceptsAtisResponses; }
|
if (capabilityFlags & vatCapsAtcInfo) { flags |= AcceptsAtisResponses; }
|
||||||
else if (capabilityFlags & vatCapsInterminPos) { flags |= SupportsInterimPosUpdates; }
|
if (capabilityFlags & vatCapsInterminPos) { flags |= SupportsInterimPosUpdates; }
|
||||||
else if (capabilityFlags & vatCapsModelDesc) { flags |= SupportsModelDescriptions; }
|
if (capabilityFlags & vatCapsModelDesc) { flags |= SupportsModelDescriptions; }
|
||||||
|
if (capabilityFlags & vatCapsAircraftConfig) { flags |= SupportsAircraftConfigs; }
|
||||||
emit cbvar_cast(cbvar)->capabilitiesReplyReceived(cbvar_cast(cbvar)->fromFSD(callsign), flags);
|
emit cbvar_cast(cbvar)->capabilitiesReplyReceived(cbvar_cast(cbvar)->fromFSD(callsign), flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ namespace BlackMisc
|
|||||||
if (this->hasCapability(FsdAtisCanBeReceived)) sl << "ATIS";
|
if (this->hasCapability(FsdAtisCanBeReceived)) sl << "ATIS";
|
||||||
if (this->hasCapability(FsdWithInterimPositions)) sl << "interim pos.";
|
if (this->hasCapability(FsdWithInterimPositions)) sl << "interim pos.";
|
||||||
if (this->hasCapability(FsdWithModelDescription)) sl << "model";
|
if (this->hasCapability(FsdWithModelDescription)) sl << "model";
|
||||||
|
if (this->hasCapability(FsdWithAircraftConfig)) sl << "aircraft config";
|
||||||
if (sl.isEmpty()) return "";
|
if (sl.isEmpty()) return "";
|
||||||
return sl.join(", ");
|
return sl.join(", ");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
FsdWithInterimPositions = BlackMisc::CPropertyIndex::GlobalIndexAbuseMode,
|
FsdWithInterimPositions = BlackMisc::CPropertyIndex::GlobalIndexAbuseMode,
|
||||||
FsdWithModelDescription,
|
FsdWithModelDescription,
|
||||||
FsdAtisCanBeReceived
|
FsdAtisCanBeReceived,
|
||||||
|
FsdWithAircraftConfig
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Default constructor.
|
//! Default constructor.
|
||||||
@@ -137,7 +138,6 @@ namespace BlackMisc
|
|||||||
CPropertyIndexVariantMap m_capabilities;
|
CPropertyIndexVariantMap m_capabilities;
|
||||||
QString m_server;
|
QString m_server;
|
||||||
CVoiceCapabilities m_voiceCapabilities;
|
CVoiceCapabilities m_voiceCapabilities;
|
||||||
|
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user