6 #ifndef SWIFT_MISC_NETWORK_CLIENT_H
7 #define SWIFT_MISC_NETWORK_CLIENT_H
23 namespace swift::misc::network
32 IndexCapabilities = CPropertyIndexRef::GlobalIndexCClient,
33 IndexCapabilitiesString,
38 IndexVoiceCapabilities,
39 IndexVoiceCapabilitiesString,
40 IndexVoiceCapabilitiesPixmap,
41 IndexVoiceCapabilitiesIcon
48 FsdWithInterimPositions = 1 << 0,
49 FsdWithIcaoCodes = 1 << 1,
50 FsdAtisCanBeReceived = 1 << 2,
51 FsdWithAircraftConfig = 1 << 3,
52 FsdWithGroundFlag = 1 << 4,
53 FsdModelString = 1 << 5,
54 FsdWithVisualPositions = 1 << 6
56 Q_DECLARE_FLAGS(Capabilities, Capability)
62 CClient(const aviation::CCallsign &callsign, const QString &modelString = {});
71 bool isAtc()
const {
return getCallsign().isAtcAlikeCallsign(); }
77 Capabilities
getCapabilities()
const {
return static_cast<Capabilities
>(m_capabilities); }
80 void setCapabilities(
const Capabilities &capabilities);
83 QString getCapabilitiesAsString()
const;
86 bool hasCapability(Capability capability)
const;
89 bool hasAircraftPartsCapability()
const;
92 bool hasGndFlagCapability()
const;
95 void addCapability(Capability capability);
98 void removeCapability(Capability capability);
109 m_voiceCapabilities = voiceCapabilities;
131 void setServer(
const QString &server) { m_server = server; }
146 void setQueriedModelString(
const QString &modelString);
158 QString convertToQString(
bool i18n =
false)
const;
162 int m_capabilities =
static_cast<int>(None);
163 bool m_swift =
false;
164 QString m_modelString;
181 Q_DECLARE_METATYPE(swift::misc::network::CClient::Capabilities)
IconIndex
Index for each icon, allows to send them via DBus, efficiently store them, etc.
Non-owning reference to a CPropertyIndex with a subset of its features.
Mix of the most commonly used mixin classes.
Value object encapsulating information of a callsign.
ColumnIndex
Base class enums.
bool isAtc() const
ATC client.
const QString & getQueriedModelString() const
Model.
bool hasQueriedModelString() const
Queried model string?
Capabilities getCapabilities() const
Get capabilities.
void setServer(const QString &server)
Server.
bool hasSpecifiedVoiceCapabilities() const
Has known voice capabilities?
const CUser & getUser() const
User.
void setVoiceCapabilities(const CVoiceCapabilities &voiceCapabilities)
Set voice capabilities.
Capability
The Capabilities enum.
const QString & getServer() const
Server.
void setVoiceCapabilities(const QString &flightPlanRemarks)
Set voice capabilities.
const aviation::CCallsign & getCallsign() const
Callsign used with other client.
bool isSwiftClient() const
Another swift client?
const CVoiceCapabilities & getVoiceCapabilities() const
Get voice capabilities.
void setUser(const CUser &user)
User.
CClient(const CUser &user)
Constructor.
void setSwiftClient(bool isSwift)
Mark as other swift client.
Value object encapsulating information of a user.
Value object encapsulating information for voice capabilities.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.
#define SWIFT_DECLARE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template declaration of mixins for a CValueObject subclass to be placed near the top of the ...