]> granicus.if.org Git - icinga2/commitdiff
livestatus: finish host|servicegroup table attributes
authorMichael Friedrich <michael.friedrich@netways.de>
Tue, 16 Jul 2013 11:26:16 +0000 (13:26 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Tue, 16 Jul 2013 11:26:16 +0000 (13:26 +0200)
refs #4372

components/livestatus/hostgroupstable.cpp
components/livestatus/servicegroupstable.cpp

index df7e2cbc67b8c4c3d3705972e25a31a14255e2c2..9a75028300327a69cc25fe86444d87de41d954aa 100644 (file)
@@ -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<Array>();
+
+       BOOST_FOREACH(const Host::Ptr& host, static_cast<HostGroup::Ptr>(row)->GetMembers()) {
+               Array::Ptr member_state = boost::make_shared<Array>();
+               member_state->Add(host->GetName());
+               member_state->Add(host->GetState());
+               members->Add(member_state);
+       }
+
+       return members;
 }
 
 Value HostGroupsTable::WorstHostStateAccessor(const Value& row)
index 76346aa77bee8aa55ae7b69af9f8dd573ef99f3f..9aacdc89fdb9dd25952960adebab6c1036ae90e3 100644 (file)
@@ -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<Array>();
+
+       BOOST_FOREACH(const Service::Ptr& service, static_cast<ServiceGroup::Ptr>(row)->GetMembers()) {
+               Array::Ptr host_svc = boost::make_shared<Array>();
+               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)