compat: Add {host,service}_groups attributes.

This commit is contained in:
Michael Friedrich 2013-10-03 17:59:17 +02:00
parent ae12f9923d
commit 7031421162
2 changed files with 47 additions and 26 deletions

View File

@ -341,14 +341,29 @@ void StatusDataWriter::DumpHostObject(std::ostream& fp, const Host::Ptr& host)
} }
/* TODO FIXME fp << "\t" << "host_groups" << "\t";
Array::Ptr groups = host->GetGroups(); bool first = true;
if (groups) {
fp << "\t" << "hostgroups" << "\t"; Array::Ptr groups = host->GetGroups();
DumpNameArray(fp, host->GetGroups());
fp << "\n"; if (groups) {
} ObjectLock olock(groups);
*/
BOOST_FOREACH(const String& name, groups) {
HostGroup::Ptr hg = HostGroup::GetByName(name);
if (hg) {
if (!first)
fp << ",";
else
first = false;
fp << hg->GetName();
}
}
}
fp << "\n";
DumpCustomAttributes(fp, host); DumpCustomAttributes(fp, host);
@ -497,6 +512,30 @@ void StatusDataWriter::DumpServiceObject(std::ostream& fp, const Service::Ptr& s
<< "\t" << "check_freshness" << "\t" << 1 << "\n"; << "\t" << "check_freshness" << "\t" << 1 << "\n";
} }
fp << "\t" << "service_groups" << "\t";
bool first = true;
Array::Ptr groups = service->GetGroups();
if (groups) {
ObjectLock olock(groups);
BOOST_FOREACH(const String& name, groups) {
ServiceGroup::Ptr sg = ServiceGroup::GetByName(name);
if (sg) {
if (!first)
fp << ",";
else
first = false;
fp << sg->GetName();
}
}
}
fp << "\n";
DumpCustomAttributes(fp, service); DumpCustomAttributes(fp, service);
fp << "\t" << "}" << "\n" fp << "\t" << "}" << "\n"
@ -747,22 +786,6 @@ void StatusDataWriter::StatusTimerHandler(void)
} }
} }
/*
void StatusDataWriter::DumpNameArray(std::ostream& fp, const Array::Ptr& array)
{
bool first = true;
ObjectLock olock(array);
BOOST_FOREACH(const Array::Ptr& obj, array) {
if (!first)
fp << ",";
else
first = false;
fp << obj->GetName();
}
}
*/
void StatusDataWriter::InternalSerialize(const Dictionary::Ptr& bag, int attributeTypes) const void StatusDataWriter::InternalSerialize(const Dictionary::Ptr& bag, int attributeTypes) const
{ {
DynamicObject::InternalSerialize(bag, attributeTypes); DynamicObject::InternalSerialize(bag, attributeTypes);

View File

@ -97,8 +97,6 @@ private:
} }
} }
void DumpNameArray(std::ostream& fp, const Array::Ptr& array);
void DumpServiceStatus(std::ostream& fp, const Service::Ptr& service); void DumpServiceStatus(std::ostream& fp, const Service::Ptr& service);
void DumpServiceObject(std::ostream& fp, const Service::Ptr& service); void DumpServiceObject(std::ostream& fp, const Service::Ptr& service);