From 2cc8ef17e1d5d2d44237dafeee3a077b1a569371 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Tue, 16 Jul 2013 13:26:16 +0200 Subject: [PATCH] livestatus: finish host|servicegroup table attributes refs #4372 --- components/livestatus/hostgroupstable.cpp | 12 ++++++++++-- components/livestatus/servicegroupstable.cpp | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/components/livestatus/hostgroupstable.cpp b/components/livestatus/hostgroupstable.cpp index df7e2cbc6..9a7502830 100644 --- a/components/livestatus/hostgroupstable.cpp +++ b/components/livestatus/hostgroupstable.cpp @@ -127,8 +127,16 @@ Value HostGroupsTable::MembersAccessor(const Value& row) Value HostGroupsTable::MembersWithStateAccessor(const Value& row) { - /* TODO */ - return Empty; + Array::Ptr members = boost::make_shared(); + + BOOST_FOREACH(const Host::Ptr& host, static_cast(row)->GetMembers()) { + Array::Ptr member_state = boost::make_shared(); + member_state->Add(host->GetName()); + member_state->Add(host->GetState()); + members->Add(member_state); + } + + return members; } Value HostGroupsTable::WorstHostStateAccessor(const Value& row) diff --git a/components/livestatus/servicegroupstable.cpp b/components/livestatus/servicegroupstable.cpp index 76346aa77..9aacdc89f 100644 --- a/components/livestatus/servicegroupstable.cpp +++ b/components/livestatus/servicegroupstable.cpp @@ -121,8 +121,18 @@ Value ServiceGroupsTable::MembersAccessor(const Value& row) Value ServiceGroupsTable::MembersWithStateAccessor(const Value& row) { - /* TODO */ - return Empty; + Array::Ptr members = boost::make_shared(); + + BOOST_FOREACH(const Service::Ptr& service, static_cast(row)->GetMembers()) { + Array::Ptr host_svc = boost::make_shared(); + host_svc->Add(service->GetHost()->GetName()); + host_svc->Add(service->GetShortName()); + host_svc->Add(service->GetHost()->GetState()); + host_svc->Add(service->GetState()); + members->Add(host_svc); + } + + return members; } Value ServiceGroupsTable::WorstServiceStateAccessor(const Value& row) -- 2.40.0