mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-01 22:55:41 +08:00
Ref T182, improved matcher logging utility functions
* Also logging for livery, airline ICAO, aircraft ICAO * Set a default category in case such message will be written to log
This commit is contained in:
@@ -10,28 +10,81 @@
|
|||||||
#include "matchingutils.h"
|
#include "matchingutils.h"
|
||||||
|
|
||||||
using namespace BlackMisc;
|
using namespace BlackMisc;
|
||||||
using namespace BlackMisc::Simulation;
|
using namespace BlackMisc::Aviation;
|
||||||
|
|
||||||
namespace BlackMisc
|
namespace BlackMisc
|
||||||
{
|
{
|
||||||
namespace Simulation
|
namespace Simulation
|
||||||
{
|
{
|
||||||
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft, const QString &message, const CLogCategoryList &categories, CStatusMessage::StatusSeverity s)
|
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CSimulatedAircraft &remoteAircraft, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||||
{
|
{
|
||||||
CMatchingUtils::addLogDetailsToList(log, remoteAircraft.getCallsign(), message, categories, s);
|
CMatchingUtils::addLogDetailsToList(log, remoteAircraft.getCallsign(), message, extraCategories, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const BlackMisc::Aviation::CCallsign &callsign, const QString &message, const CLogCategoryList &categories, CStatusMessage::StatusSeverity s)
|
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||||
{
|
{
|
||||||
if (!log) { return; }
|
if (!log) { return; }
|
||||||
if (message.isEmpty()) { return; }
|
if (message.isEmpty()) { return; }
|
||||||
log->push_back(CMatchingUtils::logMessage(callsign, message, categories, s));
|
log->push_back(CMatchingUtils::logMessage(callsign, message, extraCategories, s));
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatusMessage CMatchingUtils::logMessage(const BlackMisc::Aviation::CCallsign &callsign, const QString &message, const CLogCategoryList &categories, CStatusMessage::StatusSeverity s)
|
void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, const QString &message, const CLogCategoryList &extraCategories, CStatusMessage::StatusSeverity s)
|
||||||
{
|
{
|
||||||
const CStatusMessage m(categories, s, callsign.isEmpty() ? message.trimmed() : callsign.toQString() + ": " + message.trimmed());
|
if (!log) { return; }
|
||||||
|
if (message.isEmpty()) { return; }
|
||||||
|
log->push_back(CMatchingUtils::logMessage(icao, message, extraCategories, s));
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMatchingUtils::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(CMatchingUtils::logMessage(icao, message, extraCategories, s));
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMatchingUtils::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(CMatchingUtils::logMessage(livery, message, extraCategories, s));
|
||||||
|
}
|
||||||
|
|
||||||
|
CStatusMessage CMatchingUtils::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;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CStatusMessage CMatchingUtils::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 CMatchingUtils::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 CMatchingUtils::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 &CMatchingUtils::defaultCategories()
|
||||||
|
{
|
||||||
|
static const CLogCategoryList cats({ CLogCategory::matching() });
|
||||||
|
return cats;
|
||||||
|
}
|
||||||
|
|
||||||
|
CLogCategoryList CMatchingUtils::categories(const CLogCategoryList &extraCategories)
|
||||||
|
{
|
||||||
|
if (extraCategories.isEmpty()) { return defaultCategories(); }
|
||||||
|
CLogCategoryList cats(defaultCategories());
|
||||||
|
cats.push_back(extraCategories);
|
||||||
|
return cats;
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
#ifndef BLACKMISC_SIMULATION_MATCHINGUTILS_H
|
#ifndef BLACKMISC_SIMULATION_MATCHINGUTILS_H
|
||||||
#define BLACKMISC_SIMULATION_MATCHINGUTILS_H
|
#define BLACKMISC_SIMULATION_MATCHINGUTILS_H
|
||||||
|
|
||||||
#include "blackmisc/blackmiscexport.h"
|
|
||||||
#include "blackmisc/simulation/simulatedaircraft.h"
|
#include "blackmisc/simulation/simulatedaircraft.h"
|
||||||
#include "blackmisc/statusmessagelist.h"
|
#include "blackmisc/statusmessagelist.h"
|
||||||
|
#include "blackmisc/blackmiscexport.h"
|
||||||
|
|
||||||
namespace BlackMisc
|
namespace BlackMisc
|
||||||
{
|
{
|
||||||
@@ -29,23 +29,68 @@ namespace BlackMisc
|
|||||||
//! Specialized log for matching / reverse lookup
|
//! Specialized log for matching / reverse lookup
|
||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
static void addLogDetailsToList(
|
static void addLogDetailsToList(
|
||||||
BlackMisc::CStatusMessageList *log, const BlackMisc::Simulation::CSimulatedAircraft &remoteAircraft,
|
CStatusMessageList *log, const Simulation::CSimulatedAircraft &remoteAircraft,
|
||||||
const QString &message, const BlackMisc::CLogCategoryList &categories = {},
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
BlackMisc::CStatusMessage::StatusSeverity s = BlackMisc::CStatusMessage::SeverityInfo);
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
//! Specialized log for matching / reverse lookup
|
//! Specialized log for matching / reverse lookup
|
||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
static void addLogDetailsToList(
|
static void addLogDetailsToList(CStatusMessageList *log, const Aviation::CCallsign &callsign,
|
||||||
BlackMisc::CStatusMessageList *log, const BlackMisc::Aviation::CCallsign &callsign,
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
const QString &message, const BlackMisc::CLogCategoryList &categories = {},
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
BlackMisc::CStatusMessage::StatusSeverity s = BlackMisc::CStatusMessage::SeverityInfo);
|
|
||||||
|
//! Specialized log for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static void addLogDetailsToList(CStatusMessageList *log, const Aviation::CAircraftIcaoCode &icao,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
//! Specialized log for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static void addLogDetailsToList(CStatusMessageList *log, const Aviation::CAirlineIcaoCode &icao,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
//! Specialized log for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static void addLogDetailsToList(CStatusMessageList *log, const Aviation::CLivery &livery,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
//! Specialized log message for matching / reverse lookup
|
//! Specialized log message for matching / reverse lookup
|
||||||
//! \threadsafe
|
//! \threadsafe
|
||||||
static BlackMisc::CStatusMessage logMessage(
|
static CStatusMessage logMessage(
|
||||||
const BlackMisc::Aviation::CCallsign &callsign,
|
const Aviation::CCallsign &callsign,
|
||||||
const QString &message, const BlackMisc::CLogCategoryList &categories = {},
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
BlackMisc::CStatusMessage::StatusSeverity s = BlackMisc::CStatusMessage::SeverityInfo);
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
//! Specialized log message for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static CStatusMessage logMessage(
|
||||||
|
const Aviation::CAircraftIcaoCode &icaoCode,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
//! Specialized log message for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static CStatusMessage logMessage(
|
||||||
|
const Aviation::CAirlineIcaoCode &icaoCode,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
//! Specialized log message for matching / reverse lookup
|
||||||
|
//! \threadsafe
|
||||||
|
static CStatusMessage logMessage(
|
||||||
|
const Aviation::CLivery &livery,
|
||||||
|
const QString &message, const CLogCategoryList &extraCategories = {},
|
||||||
|
CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo);
|
||||||
|
|
||||||
|
private:
|
||||||
|
//! Default categories
|
||||||
|
static const CLogCategoryList &defaultCategories();
|
||||||
|
|
||||||
|
//! Categories
|
||||||
|
static CLogCategoryList categories(const CLogCategoryList &extraCategories);
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
Reference in New Issue
Block a user