]> granicus.if.org Git - icinga2/blob - lib/livestatus/column.cpp
Merge pull request #7185 from Icinga/bugfix/gelfwriter-wrong-log-facility
[icinga2] / lib / livestatus / column.cpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #include "livestatus/column.hpp"
4
5 using namespace icinga;
6
7 Column::Column(ValueAccessor valueAccessor, ObjectAccessor objectAccessor)
8         : m_ValueAccessor(std::move(valueAccessor)), m_ObjectAccessor(std::move(objectAccessor))
9 { }
10
11 Value Column::ExtractValue(const Value& urow, LivestatusGroupByType groupByType, const Object::Ptr& groupByObject) const
12 {
13         Value row;
14
15         if (m_ObjectAccessor)
16                 row = m_ObjectAccessor(urow, groupByType, groupByObject);
17         else
18                 row = urow;
19
20         return m_ValueAccessor(row);
21 }