2018-03-05 17:49:29 +01:00
|
|
|
#include "./diagnostics.h"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
2018-03-06 23:09:15 +01:00
|
|
|
namespace TagParser {
|
2018-03-05 17:49:29 +01:00
|
|
|
|
|
|
|
const char *diagLevelName(DiagLevel diagLevel)
|
|
|
|
{
|
|
|
|
switch(diagLevel) {
|
|
|
|
case DiagLevel::Information:
|
|
|
|
return "information";
|
|
|
|
case DiagLevel::Warning:
|
|
|
|
return "warning";
|
|
|
|
case DiagLevel::Critical:
|
|
|
|
return "critical";
|
|
|
|
case DiagLevel::None:
|
|
|
|
default:
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Diagnostics::has(DiagLevel level) const
|
|
|
|
{
|
|
|
|
for (const auto &msg : *this) {
|
|
|
|
if (msg.level() >= level) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
DiagLevel Diagnostics::level() const
|
|
|
|
{
|
|
|
|
auto level = DiagLevel::None;
|
|
|
|
for (const auto &msg : *this) {
|
|
|
|
if ((level |= msg.level()) >= worstDiagLevel) {
|
|
|
|
return level;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return level;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|