1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
6 #include "livestatus/i2-livestatus.hpp"
7 #include "base/value.hpp"
9 using namespace icinga;
14 enum LivestatusGroupByType {
15 LivestatusGroupByNone,
16 LivestatusGroupByHostGroup,
17 LivestatusGroupByServiceGroup
23 typedef std::function<Value (const Value&)> ValueAccessor;
24 typedef std::function<Value (const Value&, LivestatusGroupByType, const Object::Ptr&)> ObjectAccessor;
26 Column(ValueAccessor valueAccessor, ObjectAccessor objectAccessor);
28 Value ExtractValue(const Value& urow, LivestatusGroupByType groupByType = LivestatusGroupByNone, const Object::Ptr& groupByObject = Empty) const;
31 ValueAccessor m_ValueAccessor;
32 ObjectAccessor m_ObjectAccessor;