1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #ifndef SUMAGGREGATOR_H
4 #define SUMAGGREGATOR_H
6 #include "livestatus/table.hpp"
7 #include "livestatus/aggregator.hpp"
15 struct SumAggregatorState final : public AggregatorState
23 class SumAggregator final : public Aggregator
26 DECLARE_PTR_TYPEDEFS(SumAggregator);
28 SumAggregator(String attr);
30 void Apply(const Table::Ptr& table, const Value& row, AggregatorState **state) override;
31 double GetResultAndFreeState(AggregatorState *state) const override;
36 static SumAggregatorState *EnsureState(AggregatorState **state);
41 #endif /* SUMAGGREGATOR_H */