| 191 | } |
| 192 | |
| 193 | void StateHistTable::AddColumns(Table *table, const String& prefix, |
| 194 | const Column::ObjectAccessor& objectAccessor) |
| 195 | { |
| 196 | table->AddColumn(prefix + "time", Column(&StateHistTable::TimeAccessor, objectAccessor)); |
| 197 | table->AddColumn(prefix + "lineno", Column(&StateHistTable::LinenoAccessor, objectAccessor)); |
| 198 | table->AddColumn(prefix + "from", Column(&StateHistTable::FromAccessor, objectAccessor)); |
| 199 | table->AddColumn(prefix + "until", Column(&StateHistTable::UntilAccessor, objectAccessor)); |
| 200 | table->AddColumn(prefix + "duration", Column(&StateHistTable::DurationAccessor, objectAccessor)); |
| 201 | table->AddColumn(prefix + "duration_part", Column(&StateHistTable::DurationPartAccessor, objectAccessor)); |
| 202 | table->AddColumn(prefix + "state", Column(&StateHistTable::StateAccessor, objectAccessor)); |
| 203 | table->AddColumn(prefix + "host_down", Column(&StateHistTable::HostDownAccessor, objectAccessor)); |
| 204 | table->AddColumn(prefix + "in_downtime", Column(&StateHistTable::InDowntimeAccessor, objectAccessor)); |
| 205 | table->AddColumn(prefix + "in_host_downtime", Column(&StateHistTable::InHostDowntimeAccessor, objectAccessor)); |
| 206 | table->AddColumn(prefix + "is_flapping", Column(&StateHistTable::IsFlappingAccessor, objectAccessor)); |
| 207 | table->AddColumn(prefix + "in_notification_period", Column(&StateHistTable::InNotificationPeriodAccessor, objectAccessor)); |
| 208 | table->AddColumn(prefix + "notification_period", Column(&StateHistTable::NotificationPeriodAccessor, objectAccessor)); |
| 209 | table->AddColumn(prefix + "debug_info", Column(&Table::EmptyStringAccessor, objectAccessor)); |
| 210 | table->AddColumn(prefix + "host_name", Column(&StateHistTable::HostNameAccessor, objectAccessor)); |
| 211 | table->AddColumn(prefix + "service_description", Column(&StateHistTable::ServiceDescriptionAccessor, objectAccessor)); |
| 212 | table->AddColumn(prefix + "log_output", Column(&StateHistTable::LogOutputAccessor, objectAccessor)); |
| 213 | table->AddColumn(prefix + "duration_ok", Column(&StateHistTable::DurationOkAccessor, objectAccessor)); |
| 214 | table->AddColumn(prefix + "duration_part_ok", Column(&StateHistTable::DurationPartOkAccessor, objectAccessor)); |
| 215 | table->AddColumn(prefix + "duration_warning", Column(&StateHistTable::DurationWarningAccessor, objectAccessor)); |
| 216 | table->AddColumn(prefix + "duration_part_warning", Column(&StateHistTable::DurationPartWarningAccessor, objectAccessor)); |
| 217 | table->AddColumn(prefix + "duration_critical", Column(&StateHistTable::DurationCriticalAccessor, objectAccessor)); |
| 218 | table->AddColumn(prefix + "duration_part_critical", Column(&StateHistTable::DurationPartCriticalAccessor, objectAccessor)); |
| 219 | table->AddColumn(prefix + "duration_unknown", Column(&StateHistTable::DurationUnknownAccessor, objectAccessor)); |
| 220 | table->AddColumn(prefix + "duration_part_unknown", Column(&StateHistTable::DurationPartUnknownAccessor, objectAccessor)); |
| 221 | table->AddColumn(prefix + "duration_unmonitored", Column(&StateHistTable::DurationUnmonitoredAccessor, objectAccessor)); |
| 222 | table->AddColumn(prefix + "duration_part_unmonitored", Column(&StateHistTable::DurationPartUnmonitoredAccessor, objectAccessor)); |
| 223 | |
| 224 | HostsTable::AddColumns(table, "current_host_", [objectAccessor](const Value& row, LivestatusGroupByType, const Object::Ptr&) -> Value { |
| 225 | return HostAccessor(row, objectAccessor); |
| 226 | }); |
| 227 | ServicesTable::AddColumns(table, "current_service_", [objectAccessor](const Value& row, LivestatusGroupByType, const Object::Ptr&) -> Value { |
| 228 | return ServiceAccessor(row, objectAccessor); |
| 229 | }); |
| 230 | } |
| 231 | |
| 232 | String StateHistTable::GetName() const |
| 233 | { |