12 #define DEBUG_SIGNAL_MONITOR_VALUE 1
28 QCoreApplication::translate(
"(Common)",
"Signal Lock"),
29 "slock", 0,
true, 0, 1, 0);
41 m_name(std::move(_name)),
42 m_noSpaceName(std::move(_noSpaceName)),
44 m_threshold(_threshold),
45 m_minVal(_min), m_maxVal(_max), m_timeout(_timeout),
46 m_highThreshold(_high_threshold)
49 #if DEBUG_SIGNAL_MONITOR_VALUE
50 LOG(VB_GENERAL, LOG_DEBUG,
51 QString(
"SignalMonitorValue(%1, %2, %3, %4, %5, %6, %7, %8, %9)")
60 int _value,
int _threshold,
63 int _timeout,
bool _set) :
64 m_name(std::move(_name)),
65 m_noSpaceName(std::move(_noSpaceName)),
67 m_threshold(_threshold),
68 m_minVal(_min), m_maxVal(_max), m_timeout(_timeout),
69 m_highThreshold(_high_threshold), m_set(_set)
72 #if DEBUG_SIGNAL_MONITOR_VALUE
73 LOG(VB_GENERAL, LOG_DEBUG,
74 QString(
"SignalMonitorValue(%1, %2, %3, %4, %5, %6, %7, %8, %9)")
100 const QString& longString = _longString;
102 if (
m_name.isEmpty() || longString.isEmpty())
117 #if QT_VERSION < QT_VERSION_CHECK(5,14,0)
118 QStringList
vals = longString.split(
" ", QString::SkipEmptyParts);
120 QStringList
vals = longString.split(
" ", Qt::SkipEmptyParts);
123 if (8 !=
vals.size() ||
"(null)" ==
vals[0])
137 const QString& _longString)
140 if (!smv->Set(_name, _longString))
156 for (
int i=0; i+1<slist.size(); i+=2)
158 #if DEBUG_SIGNAL_MONITOR_VALUE
159 LOG(VB_GENERAL, LOG_DEBUG,
160 "Parse(" + slist[i] +
", (" + slist[i+1] +
"))");
162 if (smv.
Set(slist[i], slist[i+1]))
163 monitor_list.push_back(smv);
166 LOG(VB_GENERAL, LOG_ERR,
167 QString(
"SignalMonitorValue::Parse(): Error, "
168 "unable to parse (%1, (%2))")
169 .
arg(slist[i]).
arg(slist[i+1]));
181 auto isgood = [](
const auto & smv){
return smv.IsGood(); };
182 bool good = std::all_of(slist.cbegin(), slist.cend(), isgood);
183 #if DEBUG_SIGNAL_MONITOR_VALUE
186 QString msg(
"AllGood failed on ");
187 for (
const auto & smv : slist)
191 msg += smv.m_noSpaceName;
192 msg += QString(
"(%1%2%3) ")
194 .arg(smv.m_highThreshold ?
"<" :
">")
195 .arg(smv.GetThreshold());
198 LOG(VB_GENERAL, LOG_DEBUG, msg);
212 for (
const auto & smv : slist)
214 wait = std::max(wait, smv.GetTimeout());
215 minWait = std::min(minWait, smv.GetTimeout());
217 return (minWait<0) ? -1 : wait;