From a224c20a30e4dba677d32b71fea1e68df4bae937 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 17 Jul 2012 19:19:03 +0200 Subject: [PATCH] Revert 78215843 as it requires Boost version 1.43. --- base/application.cpp | 3 ++- base/i2-base.h | 6 ++--- base/process.cpp | 3 ++- cib/host.cpp | 9 +++++--- cib/service.cpp | 12 ++++++---- components/compat/compatcomponent.cpp | 11 +++++---- .../convenience/conveniencecomponent.cpp | 6 +++-- components/delegation/delegationcomponent.cpp | 5 ++-- components/discovery/discoverycomponent.cpp | 23 +++++++++++-------- icinga/endpointmanager.cpp | 6 +++-- 10 files changed, 52 insertions(+), 32 deletions(-) diff --git a/base/application.cpp b/base/application.cpp index 6ee53623e..fe17a1dda 100644 --- a/base/application.cpp +++ b/base/application.cpp @@ -61,7 +61,8 @@ Application::~Application(void) m_ShuttingDown = true; /* stop all components */ - BOOST_FOREACH(const Component::Ptr& component, m_Components | map_values) { + Component::Ptr component; + BOOST_FOREACH(tie(tuples::ignore, component), m_Components) { component->Stop(); } diff --git a/base/i2-base.h b/base/i2-base.h index 848375442..94db9f57a 100644 --- a/base/i2-base.h +++ b/base/i2-base.h @@ -124,8 +124,6 @@ using std::type_info; #include #include #include -#include -#include using boost::shared_ptr; using boost::weak_ptr; @@ -139,8 +137,8 @@ using boost::mutex; using boost::condition_variable; using boost::system_time; using boost::tie; -using boost::adaptors::map_keys; -using boost::adaptors::map_values; + +namespace tuples = boost::tuples; #if defined(__APPLE__) && defined(__MACH__) # pragma GCC diagnostic ignored "-Wdeprecated-declarations" diff --git a/base/process.cpp b/base/process.cpp index 2000ed0f3..38990a89f 100644 --- a/base/process.cpp +++ b/base/process.cpp @@ -66,7 +66,8 @@ void Process::WorkerThreadProc(void) FD_ZERO(&readfds); - BOOST_FOREACH(int fd, tasks | map_keys) { + int fd; + BOOST_FOREACH(tie(fd, tuples::ignore), tasks) { if (fd > nfds) nfds = fd; diff --git a/cib/host.cpp b/cib/host.cpp index d0614d04a..90cfdcb39 100644 --- a/cib/host.cpp +++ b/cib/host.cpp @@ -69,7 +69,8 @@ set Host::GetParents(void) const if (GetProperty("dependencies", &dependencies)) { dependencies = Service::ResolveDependencies(*this, dependencies); - BOOST_FOREACH(const Variant& dependency, dependencies | map_values) { + Variant dependency; + BOOST_FOREACH(tie(tuples::ignore, dependency), dependencies) { Service service = Service::GetByName(dependency); string parent = service.GetHost().GetName(); @@ -98,7 +99,8 @@ bool Host::IsReachable(void) const if (GetProperty("dependencies", &dependencies)) { dependencies = Service::ResolveDependencies(*this, dependencies); - BOOST_FOREACH(const Variant& dependency, dependencies | map_values) { + Variant dependency; + BOOST_FOREACH(tie(tuples::ignore, dependency), dependencies) { Service service = Service::GetByName(dependency); if (!service.IsReachable() || @@ -117,7 +119,8 @@ bool Host::IsUp(void) const if (GetProperty("hostchecks", &hostchecks)) { hostchecks = Service::ResolveDependencies(*this, hostchecks); - BOOST_FOREACH(const Variant& hostcheck, hostchecks | map_values) { + Variant hostcheck; + BOOST_FOREACH(tie(tuples::ignore, hostcheck), hostchecks) { Service service = Service::GetByName(hostcheck); if (service.GetState() != StateOK && service.GetState() != StateWarning) { diff --git a/cib/service.cpp b/cib/service.cpp index 0a015112d..3a16334a6 100644 --- a/cib/service.cpp +++ b/cib/service.cpp @@ -117,7 +117,8 @@ void Service::GetDependenciesRecursive(const Dictionary::Ptr& result) const { if (!dependencies) return; - BOOST_FOREACH(const Variant& dependency, dependencies | map_values) { + Variant dependency; + BOOST_FOREACH(tie(tuples::ignore, dependency), dependencies) { if (result->Contains(dependency)) continue; @@ -147,7 +148,8 @@ bool Service::IsReachable(void) const Dictionary::Ptr dependencies = boost::make_shared(); GetDependenciesRecursive(dependencies); - BOOST_FOREACH(const Variant& dependency, dependencies | map_values) { + Variant dependency; + BOOST_FOREACH(tie(tuples::ignore, dependency), dependencies) { Service service = Service::GetByName(dependency); /* ignore ourselves */ @@ -382,7 +384,8 @@ bool Service::IsAllowedChecker(const string& checker) const if (!checkers) return true; - BOOST_FOREACH(const Variant& pattern, checkers | map_values) { + Variant pattern; + BOOST_FOREACH(tie(tuples::ignore, pattern), checkers) { if (Utility::Match(pattern, checker)) return true; } @@ -397,7 +400,8 @@ Dictionary::Ptr Service::ResolveDependencies(Host host, const Dictionary::Ptr& d Dictionary::Ptr result = boost::make_shared(); - BOOST_FOREACH(const Variant& dependency, dependencies | map_values) { + Variant dependency; + BOOST_FOREACH(tie(tuples::ignore, dependency), dependencies) { string name; if (services && services->Contains(dependency)) diff --git a/components/compat/compatcomponent.cpp b/components/compat/compatcomponent.cpp index 0895dcf02..8e7403205 100644 --- a/components/compat/compatcomponent.cpp +++ b/components/compat/compatcomponent.cpp @@ -233,14 +233,16 @@ void CompatComponent::StatusTimerHandler(void) ConfigObject::TMap::Range range; range = ConfigObject::GetObjects("host"); - BOOST_FOREACH(const ConfigObject::Ptr& object, range | map_values) { + ConfigObject::Ptr object; + BOOST_FOREACH(tie(tuples::ignore, object), range) { Host host = object; Dictionary::Ptr dict; dict = host.GetGroups(); if (dict) { - BOOST_FOREACH(const Variant& hostgroup, dict | map_values) { + Variant hostgroup; + BOOST_FOREACH(tie(tuples::ignore, hostgroup), dict) { hostgroups[hostgroup].push_back(host.GetName()); } } @@ -276,7 +278,7 @@ void CompatComponent::StatusTimerHandler(void) map > servicegroups; - BOOST_FOREACH(const ConfigObject::Ptr& object, range | map_values) { + BOOST_FOREACH(tie(tuples::ignore, object), range) { Service service = object; Dictionary::Ptr dict; @@ -284,7 +286,8 @@ void CompatComponent::StatusTimerHandler(void) dict = service.GetGroups(); if (dict) { - BOOST_FOREACH(const Variant& servicegroup, dict | map_values) { + Variant servicegroup; + BOOST_FOREACH(tie(tuples::ignore, servicegroup), dict) { servicegroups[servicegroup].push_back(service); } } diff --git a/components/convenience/conveniencecomponent.cpp b/components/convenience/conveniencecomponent.cpp index cb56b1205..afcfcea92 100644 --- a/components/convenience/conveniencecomponent.cpp +++ b/components/convenience/conveniencecomponent.cpp @@ -150,7 +150,8 @@ void ConvenienceComponent::HostCommittedHandler(const ConfigItem::Ptr& item) } if (oldServices) { - BOOST_FOREACH(const ConfigItem::Ptr& service, oldServices | map_values) { + ConfigItem::Ptr service; + BOOST_FOREACH(tie(tuples::ignore, service), oldServices) { if (!newServices->Contains(service->GetName())) service->Unregister(); } @@ -175,7 +176,8 @@ void ConvenienceComponent::HostRemovedHandler(const ConfigItem::Ptr& item) if (!services) return; - BOOST_FOREACH(const ConfigItem::Ptr& service, services | map_values) { + ConfigItem::Ptr service; + BOOST_FOREACH(tie(tuples::ignore, service), services) { service->Unregister(); } } diff --git a/components/delegation/delegationcomponent.cpp b/components/delegation/delegationcomponent.cpp index 591560b22..64d0e2021 100644 --- a/components/delegation/delegationcomponent.cpp +++ b/components/delegation/delegationcomponent.cpp @@ -275,12 +275,13 @@ void DelegationComponent::DelegationTimerHandler(void) if (delegated > 0) { if (need_clear) { - BOOST_FOREACH(const Endpoint::Ptr& endpoint, histogram | map_keys) { + Endpoint::Ptr endpoint; + BOOST_FOREACH(tie(endpoint, tuples::ignore), histogram) { ClearServices(endpoint); } } - BOOST_FOREACH(const Service& service, services) { + BOOST_FOREACH(Service& service, services) { string checker = service.GetChecker(); Endpoint::Ptr endpoint = EndpointManager::GetInstance()->GetEndpointByIdentity(checker); diff --git a/components/discovery/discoverycomponent.cpp b/components/discovery/discoverycomponent.cpp index a975b2843..3e2adc0f3 100644 --- a/components/discovery/discoverycomponent.cpp +++ b/components/discovery/discoverycomponent.cpp @@ -168,11 +168,11 @@ void DiscoveryComponent::NewEndpointHandler(const Endpoint::Ptr& endpoint) // register published/subscribed topics for this endpoint ComponentDiscoveryInfo::Ptr info = ic->second; - BOOST_FOREACH(const string& publication, info->Publications) { + BOOST_FOREACH(string publication, info->Publications) { endpoint->RegisterPublication(publication); } - BOOST_FOREACH(const string& subscription, info->Subscriptions) { + BOOST_FOREACH(string subscription, info->Subscriptions) { endpoint->RegisterSubscription(subscription); } @@ -301,14 +301,14 @@ void DiscoveryComponent::SendDiscoveryMessage(const string& method, const string set::iterator i; Dictionary::Ptr subscriptions = boost::make_shared(); - BOOST_FOREACH(const string &subscription, info->Subscriptions) { + BOOST_FOREACH(string subscription, info->Subscriptions) { subscriptions->Add(subscription); } params.SetSubscriptions(subscriptions); Dictionary::Ptr publications = boost::make_shared(); - BOOST_FOREACH(const string& publication, info->Publications) { + BOOST_FOREACH(string publication, info->Publications) { publications->Add(publication); } @@ -327,12 +327,14 @@ bool DiscoveryComponent::HasMessagePermission(const Dictionary::Ptr& roles, cons ConfigObject::TMap::Range range = ConfigObject::GetObjects("role"); - BOOST_FOREACH(const ConfigObject::Ptr& role, range | map_values) { + ConfigObject::Ptr role; + BOOST_FOREACH(tie(tuples::ignore, role), range) { Dictionary::Ptr permissions; if (!role->GetProperty(messageType, &permissions)) continue; - BOOST_FOREACH(const Variant& permission, permissions | map_values) { + Variant permission; + BOOST_FOREACH(tie(tuples::ignore, permission), permissions) { if (Utility::Match(permission, message)) return true; } @@ -376,7 +378,8 @@ void DiscoveryComponent::ProcessDiscoveryMessage(const string& identity, const D Dictionary::Ptr publications; if (message.GetPublications(&publications)) { - BOOST_FOREACH(const Variant& publication, publications | map_values) { + Variant publication; + BOOST_FOREACH(tie(tuples::ignore, publication), publications) { if (trusted || HasMessagePermission(roles, "publications", publication)) { info->Publications.insert(publication); if (endpoint) @@ -387,7 +390,8 @@ void DiscoveryComponent::ProcessDiscoveryMessage(const string& identity, const D Dictionary::Ptr subscriptions; if (message.GetSubscriptions(&subscriptions)) { - BOOST_FOREACH(const Variant& subscription, subscriptions | map_values) { + Variant subscription; + BOOST_FOREACH(tie(tuples::ignore, subscription), subscriptions) { if (trusted || HasMessagePermission(roles, "subscriptions", subscription)) { info->Subscriptions.insert(subscription); if (endpoint) @@ -455,7 +459,8 @@ void DiscoveryComponent::DiscoveryTimerHandler(void) /* check whether we have to reconnect to one of our upstream endpoints */ ConfigObject::TMap::Range range = ConfigObject::GetObjects("endpoint"); - BOOST_FOREACH(const ConfigObject::Ptr& object, range | map_values) { + ConfigObject::Ptr object; + BOOST_FOREACH(tie(tuples::ignore, object), range) { /* Check if we're already connected to this endpoint. */ if (endpointManager->GetEndpointByIdentity(object->GetName())) continue; diff --git a/icinga/endpointmanager.cpp b/icinga/endpointmanager.cpp index 0d56ca466..272819e35 100644 --- a/icinga/endpointmanager.cpp +++ b/icinga/endpointmanager.cpp @@ -240,7 +240,8 @@ void EndpointManager::SendAnycastMessage(Endpoint::Ptr sender, throw invalid_argument("Message is missing the 'method' property."); vector candidates; - BOOST_FOREACH(const Endpoint::Ptr& endpoint, m_Endpoints | map_values) { + Endpoint::Ptr endpoint; + BOOST_FOREACH(tie(tuples::ignore, endpoint), m_Endpoints) { /* don't forward messages between non-local endpoints */ if (!sender->IsLocal() && !endpoint->IsLocal()) continue; @@ -274,7 +275,8 @@ void EndpointManager::SendMulticastMessage(Endpoint::Ptr sender, if (!message.GetMethod(&method)) throw invalid_argument("Message is missing the 'method' property."); - BOOST_FOREACH(const Endpoint::Ptr& recipient, m_Endpoints | map_values) { + Endpoint::Ptr recipient; + BOOST_FOREACH(tie(tuples::ignore, recipient), m_Endpoints) { /* don't forward messages back to the sender */ if (sender == recipient) continue;