mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
Added with() and withValidation() methods in CLogCategoryList.
This commit is contained in:
@@ -27,7 +27,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CVoiceSetup::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (this->getVatsimUdpVoicePort() < 1 || this->getVatsimUdpVoicePort() > 65535) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Invalid voice port")); }
|
||||
msgs.addCategories(cats);
|
||||
|
||||
@@ -262,7 +262,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CAirlineIcaoCode::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (!hasValidDesignator()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Airline: missing designator")); }
|
||||
if (!hasValidCountry()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Airline: missing country")); }
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CLivery::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msg;
|
||||
if (!hasCombinedCode()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Livery: missing livery code")); }
|
||||
if (!hasColorFuselage()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Livery: no fuselage color")); }
|
||||
|
||||
@@ -68,6 +68,15 @@ namespace BlackMisc
|
||||
template <typename T, typename = std::enable_if_t<std::is_class<T>::value>>
|
||||
CLogCategoryList(const T *pointer) : CLogCategoryList(fromClass<T>()) { Q_UNUSED(pointer); }
|
||||
|
||||
//! Return a copy with another category appended.
|
||||
CLogCategoryList with(const CLogCategory &other) const { auto copy = *this; copy.push_back(other); return copy; }
|
||||
|
||||
//! Return a copy with some other categories appended.
|
||||
CLogCategoryList with(const CLogCategoryList &other) const { auto copy = *this; copy.push_back(other); return copy; }
|
||||
|
||||
//! Return a copy with validation category appended.
|
||||
CLogCategoryList withValidation() const { return with(CLogCategory::validation()); }
|
||||
|
||||
//! Convert each of the categories to a QString and return the result as a QStringList.
|
||||
QStringList toQStringList() const;
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CAuthenticatedUser::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
// callsign optional
|
||||
if (!this->hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Invalid id"));}
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CFsdSetup::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (this->getTextCodec().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"No codec")); }
|
||||
if (!textCodecNames(true, true).contains(this->getTextCodec())) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Unrecognized codec name")); }
|
||||
|
||||
@@ -171,7 +171,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CServer::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (this->getName().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Missing name")); }
|
||||
if (this->getAddress().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Missing address")); }
|
||||
|
||||
@@ -781,7 +781,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CAircraftModel::validate(bool withNestedObjects) const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (!hasModelString()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Model: missing model string (aka key)")); }
|
||||
if (!hasValidSimulator()) {msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Model: no simulator set")); }
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace BlackMisc
|
||||
|
||||
CStatusMessageList CDistributor::validate() const
|
||||
{
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
|
||||
static const CLogCategoryList cats(CLogCategoryList(this).withValidation());
|
||||
CStatusMessageList msgs;
|
||||
if (!hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Distributor: missing id")); }
|
||||
if (!hasDescription()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Distributor: missing description")); }
|
||||
|
||||
@@ -218,7 +218,7 @@ namespace BlackMisc
|
||||
newMsgs.append(msg.getMessage());
|
||||
CStatusMessage::StatusSeverity ms = msg.getSeverity();
|
||||
if (s < ms) { s = ms; }
|
||||
cats = cats.join(msg.getCategories());
|
||||
cats.push_back(msg.getCategories());
|
||||
}
|
||||
const CStatusMessage newMsg(cats, s, newMsgs.join(", "));
|
||||
return newMsg;
|
||||
|
||||
Reference in New Issue
Block a user