refs #628 Use the metaclass mixins in all value classes.

This commit is contained in:
Mathew Sutcliffe
2016-04-02 17:34:18 +01:00
parent 4f3637a046
commit 4bd4baa535
82 changed files with 629 additions and 560 deletions

View File

@@ -146,8 +146,6 @@ namespace BlackMisc
static CAuthenticatedUser fromDatabaseJson(const QJsonObject &json);
private:
BLACK_ENABLE_TUPLE_CONVERSION(CAuthenticatedUser)
int m_vatsimId;
QString m_realname;
QString m_email;
@@ -156,20 +154,22 @@ namespace BlackMisc
bool m_enabled = false;
bool m_authenticated = false;
CRoleList m_roles;
BLACK_METACLASS(CAuthenticatedUser,
BLACK_METAMEMBER(dbKey),
BLACK_METAMEMBER(vatsimId),
BLACK_METAMEMBER(realname),
BLACK_METAMEMBER(email),
BLACK_METAMEMBER(password),
BLACK_METAMEMBER(country),
BLACK_METAMEMBER(enabled),
BLACK_METAMEMBER(authenticated),
BLACK_METAMEMBER(roles)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CAuthenticatedUser, (
o.m_dbKey,
o.m_vatsimId,
o.m_realname,
o.m_email,
o.m_password,
o.m_country,
o.m_enabled,
o.m_authenticated,
o.m_roles))
Q_DECLARE_METATYPE(BlackMisc::Network::CAuthenticatedUser)
#endif // guard

View File

@@ -130,23 +130,23 @@ namespace BlackMisc
QString convertToQString(bool i18n = false) const;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CClient)
BlackMisc::Network::CUser m_user;
BlackMisc::Simulation::CAircraftModel m_model;
BlackMisc::CPropertyIndexVariantMap m_capabilities;
QString m_server;
BlackMisc::Network::CVoiceCapabilities m_voiceCapabilities;
BLACK_METACLASS(CClient,
BLACK_METAMEMBER(user),
BLACK_METAMEMBER(model),
BLACK_METAMEMBER(capabilities, 0, DisabledForComparison | DisabledForJson),
BLACK_METAMEMBER(server),
BLACK_METAMEMBER(voiceCapabilities)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CClient, (
o.m_user,
o.m_model,
attr(o.m_capabilities, flags < DisabledForComparison | DisabledForJson > ()),
o.m_server,
o.m_voiceCapabilities
))
Q_DECLARE_METATYPE(BlackMisc::Network::CClient)
#endif // guard

View File

@@ -67,15 +67,19 @@ namespace BlackMisc
static CRole fromDatabaseJson(const QJsonObject &json);
private:
BLACK_ENABLE_TUPLE_CONVERSION(CRole)
QString m_name;
QString m_description;
BLACK_METACLASS(CRole,
BLACK_METAMEMBER(dbKey),
BLACK_METAMEMBER(name),
BLACK_METAMEMBER(description)
);
};
} // ns
} // ns
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CRole, (o.m_dbKey, o.m_name, o.m_description))
Q_DECLARE_METATYPE(BlackMisc::Network::CRole)
#endif // guard

View File

@@ -107,18 +107,25 @@ namespace BlackMisc
QString convertToQString(bool i18n = false) const;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CServer)
QString m_name;
QString m_description;
QString m_address;
int m_port = -1;
CUser m_user;
bool m_isAcceptingConnections = true; //!< temp. disable server
BLACK_METACLASS(CServer,
BLACK_METAMEMBER(name),
BLACK_METAMEMBER(description),
BLACK_METAMEMBER(address),
BLACK_METAMEMBER(port),
BLACK_METAMEMBER(user),
BLACK_METAMEMBER(isAcceptingConnections)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CServer, (o.m_name, o.m_description, o.m_address, o.m_port, o.m_user, o.m_isAcceptingConnections))
Q_DECLARE_METATYPE(BlackMisc::Network::CServer)
#endif // guard

View File

@@ -163,17 +163,23 @@ namespace BlackMisc
QString convertToQString(bool i18n = false) const;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CTextMessage)
QString m_message;
BlackMisc::Aviation::CCallsign m_senderCallsign;
BlackMisc::Aviation::CCallsign m_recipientCallsign;
BlackMisc::PhysicalQuantities::CFrequency m_frequency {0, BlackMisc::PhysicalQuantities::CFrequencyUnit::nullUnit()};
bool m_wasSent = false;
BLACK_METACLASS(CTextMessage,
BLACK_METAMEMBER(message),
BLACK_METAMEMBER(timestampMSecsSinceEpoch),
BLACK_METAMEMBER(senderCallsign),
BLACK_METAMEMBER(recipientCallsign),
BLACK_METAMEMBER(frequency)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CTextMessage, (o.m_message, o.m_timestampMSecsSinceEpoch, o.m_senderCallsign, o.m_recipientCallsign, o.m_frequency))
Q_DECLARE_METATYPE(BlackMisc::Network::CTextMessage)
#endif // guard

View File

@@ -135,10 +135,10 @@ namespace BlackMisc
//! \copydoc BlackMisc::Mixin::String::toQString()
QString convertToQString(bool i18n = false) const;
//! \copydoc BlackMisc::Mixin::JsonByTuple::toJson
//! \copydoc BlackMisc::Mixin::JsonByMetaClass::toJson
QJsonObject toJson() const;
//! \copydoc BlackMisc::Mixin::JsonByTuple::convertFromJson
//! \copydoc BlackMisc::Mixin::JsonByMetaClass::convertFromJson
void convertFromJson(const QJsonObject &json);
//! Protocol to default port
@@ -154,7 +154,6 @@ namespace BlackMisc
operator QUrl() const { return this->toQUrl(); }
private:
BLACK_ENABLE_TUPLE_CONVERSION(CUrl)
QString m_scheme;
QString m_host;
int m_port = -1;
@@ -162,11 +161,18 @@ namespace BlackMisc
QString m_query;
static QString stripQueryString(const QString query);
BLACK_METACLASS(CUrl,
BLACK_METAMEMBER(scheme),
BLACK_METAMEMBER(host),
BLACK_METAMEMBER(port),
BLACK_METAMEMBER(path),
BLACK_METAMEMBER(query)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CUrl, (o.m_scheme, o.m_host, o.m_port, o.m_path, o.m_query))
Q_DECLARE_METATYPE(BlackMisc::Network::CUrl)
#endif // guard

View File

@@ -141,8 +141,6 @@ namespace BlackMisc
QString convertToQString(bool i18n = false) const;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CUser)
//! derive homebase from callsign
void deriveHomeBaseFromCallsign();
@@ -152,11 +150,19 @@ namespace BlackMisc
QString m_password;
BlackMisc::Aviation::CCallsign m_callsign;
BlackMisc::Aviation::CAirportIcaoCode m_homebase;
BLACK_METACLASS(CUser,
BLACK_METAMEMBER(id),
BLACK_METAMEMBER(realname),
BLACK_METAMEMBER(email),
BLACK_METAMEMBER(password),
BLACK_METAMEMBER(callsign),
BLACK_METAMEMBER(homebase)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CUser, (o.m_id, o.m_realname, o.m_email, o.m_password, o.m_callsign, o.m_homebase))
Q_DECLARE_METATYPE(BlackMisc::Network::CUser)
#endif // guard

View File

@@ -69,16 +69,18 @@ namespace BlackMisc
QString convertToQString(bool i18n = false) const;
private:
BLACK_ENABLE_TUPLE_CONVERSION(CVoiceCapabilities)
VoiceCapabilities m_voiceCapabilities = Unknown;
//! Capabilites from flight plans remarks such as "/V/"
void setFromFlightPlanRemarks(const QString &flightPlanRemarks);
BLACK_METACLASS(CVoiceCapabilities,
BLACK_METAMEMBER(voiceCapabilities)
);
};
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CVoiceCapabilities, (o.m_voiceCapabilities))
Q_DECLARE_METATYPE(BlackMisc::Network::CVoiceCapabilities)
#endif // guard