73 const std::unordered_set<std::string>& outputTags = {},
74 std::string warnMixedMessage =
"warning - StatusAggregator inputs have mixed values");
97 constexpr static auto tagInternalVars =
"_ChimeraTK_StatusAggregator_internalVars";
114 int getPriority(StatusOutput::Status status)
const;
117 VoidInput _debug{
this,
"/Debug/statusAggregators",
"Print debug info for all status aggregators once."};
InvalidityTracer application module.
The StatusAggregator collects results of multiple StatusMonitor instances and aggregates them into a ...
StatusAggregator & operator=(StatusAggregator &&other)=default
VoidInput _debug
Allow runtime debugging.
StatusAggregator()=default
void mainLoop() override
To be implemented by the user: function called in a separate thread executing the main loop of the mo...
PriorityMode
Possible status priority modes used during aggregation of unequal Status values.
@ fw_warn_mixed
fault - warning - ok or off, mixed state of ok or off results in warning
@ ofwk
off - fault - warning - ok
@ fwko
fault - warning - ok - off
@ fwok
fault - warning - off - ok
void populateStatusInput()
Recursivly search for StatusMonitors and other StatusAggregators.
void setWarnMixedMessage(std::string message)
Set a custom message for the warn mixed state.
StatusAggregator(StatusAggregator &&other)=default
std::vector< StatusWithMessageInput > _inputs
All status inputs to be aggregated.
int getPriority(StatusOutput::Status status) const
Convert Status value into a priority (high integer value = high priority), depending on chosen Priori...
PriorityMode _mode
Priority mode used in aggregation.
StatusWithMessage _output
The aggregated status output.
DataValidity getDataValidity() const override
Return the data validity flag.
std::string _warnMixedMessage
Error message for the warn_mixed condition.
static constexpr auto tagInternalVars
Reserved tag which is used to mark internal variables which should not be visible in the virtual hier...
std::unordered_set< std::string > _tagsToAggregate
List of tags to aggregate.
static constexpr auto tagAggregatedStatus
Reserved tag which is used to mark aggregated status outputs (need to stop searching further down the...
A VariableGroup for error status and message reporting.