2019-02-25 08:48:22 -05:00
|
|
|
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
|
2013-03-10 13:49:14 -04:00
|
|
|
|
2014-05-25 10:23:35 -04:00
|
|
|
#include "livestatus/column.hpp"
|
2013-03-10 13:49:14 -04:00
|
|
|
|
|
|
|
|
using namespace icinga;
|
|
|
|
|
|
2018-01-04 02:54:18 -05:00
|
|
|
Column::Column(ValueAccessor valueAccessor, ObjectAccessor objectAccessor)
|
|
|
|
|
: m_ValueAccessor(std::move(valueAccessor)), m_ObjectAccessor(std::move(objectAccessor))
|
2013-03-10 13:49:14 -04:00
|
|
|
{ }
|
|
|
|
|
|
2015-02-13 09:50:20 -05:00
|
|
|
Value Column::ExtractValue(const Value& urow, LivestatusGroupByType groupByType, const Object::Ptr& groupByObject) const
|
2013-03-10 13:49:14 -04:00
|
|
|
{
|
2013-07-10 10:11:40 -04:00
|
|
|
Value row;
|
2013-03-10 13:49:14 -04:00
|
|
|
|
2017-11-21 05:52:55 -05:00
|
|
|
if (m_ObjectAccessor)
|
2015-02-13 09:50:20 -05:00
|
|
|
row = m_ObjectAccessor(urow, groupByType, groupByObject);
|
2013-03-10 13:49:14 -04:00
|
|
|
else
|
2013-07-10 10:11:40 -04:00
|
|
|
row = urow;
|
2013-03-10 13:49:14 -04:00
|
|
|
|
2013-07-10 10:11:40 -04:00
|
|
|
return m_ValueAccessor(row);
|
2013-03-10 13:49:14 -04:00
|
|
|
}
|