icinga2/lib/livestatus/column.cpp

22 lines
549 B
C++

/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
#include "livestatus/column.hpp"
using namespace icinga;
Column::Column(ValueAccessor valueAccessor, ObjectAccessor objectAccessor)
: m_ValueAccessor(std::move(valueAccessor)), m_ObjectAccessor(std::move(objectAccessor))
{ }
Value Column::ExtractValue(const Value& urow, LivestatusGroupByType groupByType, const Object::Ptr& groupByObject) const
{
Value row;
if (m_ObjectAccessor)
row = m_ObjectAccessor(urow, groupByType, groupByObject);
else
row = urow;
return m_ValueAccessor(row);
}