mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-22 05:05:38 +08:00
Ref T704, split matching utils for logging in aviation context
This commit is contained in:
committed by
Mat Sutcliffe
parent
07712c27e8
commit
4237839bbd
81
src/blackmisc/aviation/logutils.cpp
Normal file
81
src/blackmisc/aviation/logutils.cpp
Normal file
@@ -0,0 +1,81 @@
|
||||
/* Copyright (C) 2019
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated,
|
||||
* or distributed except according to the terms contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "logutils.h"
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
namespace Aviation
|
||||
{
|
||||
void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
if (!log) { return; }
|
||||
if (message.isEmpty()) { return; }
|
||||
log->push_back(CLogUtilities::logMessage(callsign, message, extraCategories, s));
|
||||
}
|
||||
|
||||
void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
if (!log) { return; }
|
||||
if (message.isEmpty()) { return; }
|
||||
log->push_back(CLogUtilities::logMessage(icao, message, extraCategories, s));
|
||||
}
|
||||
|
||||
void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CAirlineIcaoCode &icao, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
if (!log) { return; }
|
||||
if (message.isEmpty()) { return; }
|
||||
log->push_back(CLogUtilities::logMessage(icao, message, extraCategories, s));
|
||||
}
|
||||
|
||||
void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CLivery &livery, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
if (!log) { return; }
|
||||
if (message.isEmpty()) { return; }
|
||||
log->push_back(CLogUtilities::logMessage(livery, message, extraCategories, s));
|
||||
}
|
||||
|
||||
CStatusMessage CLogUtilities::logMessage(const CCallsign &callsign, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
const CStatusMessage m(categories(extraCategories), s, callsign.isEmpty() ? message.trimmed() : callsign.toQString() + ": " + message.trimmed());
|
||||
return m;
|
||||
}
|
||||
|
||||
CStatusMessage CLogUtilities::logMessage(const CAircraftIcaoCode &icaoCode, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
const CStatusMessage m(categories(extraCategories), s, icaoCode.hasDesignator() ? icaoCode.getDesignatorDbKey() + ": " + message.trimmed() : message.trimmed());
|
||||
return m;
|
||||
}
|
||||
|
||||
CStatusMessage CLogUtilities::logMessage(const CAirlineIcaoCode &icaoCode, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
const CStatusMessage m(categories(extraCategories), s, icaoCode.hasValidDesignator() ? icaoCode.getVDesignatorDbKey() + ": " + message.trimmed() : message.trimmed());
|
||||
return m;
|
||||
}
|
||||
|
||||
CStatusMessage CLogUtilities::logMessage(const CLivery &livery, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||
{
|
||||
const CStatusMessage m(categories(extraCategories), s, livery.hasCombinedCode() ? livery.getCombinedCodePlusInfoAndId() + ": " + message.trimmed() : message.trimmed());
|
||||
return m;
|
||||
}
|
||||
|
||||
const CLogCategoryList &CLogUtilities::defaultCategories()
|
||||
{
|
||||
static const CLogCategoryList cats({ CLogCategory::aviation() });
|
||||
return cats;
|
||||
}
|
||||
|
||||
CLogCategoryList CLogUtilities::categories(const CLogCategoryList &extraCategories)
|
||||
{
|
||||
if (extraCategories.isEmpty()) { return defaultCategories(); }
|
||||
CLogCategoryList cats(defaultCategories());
|
||||
cats.push_back(extraCategories);
|
||||
return cats;
|
||||
}
|
||||
} // ns
|
||||
} // ns
|
||||
Reference in New Issue
Block a user