diff options
Diffstat (limited to 'cpp/src/qpid/acl/AclValidator.cpp')
| -rw-r--r-- | cpp/src/qpid/acl/AclValidator.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/cpp/src/qpid/acl/AclValidator.cpp b/cpp/src/qpid/acl/AclValidator.cpp index e2d13fea92..aeaf638f54 100644 --- a/cpp/src/qpid/acl/AclValidator.cpp +++ b/cpp/src/qpid/acl/AclValidator.cpp @@ -104,28 +104,31 @@ AclValidator::~AclValidator(){ /* Iterate through the data model and validate the parameters. */ void AclValidator::validate(boost::shared_ptr<AclData> d) { + + for (unsigned int cnt=0; cnt< qpid::acl::ACTIONSIZE; cnt++){ - for (unsigned int cnt=0; cnt< qpid::acl::ACTIONSIZE; cnt++){ + if (d->actionList[cnt]){ - for (unsigned int cnt1=0; cnt1< qpid::acl::OBJECTSIZE; cnt1++){ + for (unsigned int cnt1=0; cnt1< qpid::acl::OBJECTSIZE; cnt1++){ - if (!d->actionList[cnt].empty() && !d->actionList[cnt][cnt1].empty()){ - std::for_each(d->actionList[cnt][cnt1].begin(), - d->actionList[cnt][cnt1].end(), - boost::bind(&AclValidator::validateRuleSet, this, _1)); - } - } - } + if (d->actionList[cnt][cnt1]){ + std::for_each(d->actionList[cnt][cnt1]->begin(), + d->actionList[cnt][cnt1]->end(), + boost::bind(&AclValidator::validateRuleSet, this, _1)); + }//if + }//for + }//if + }//for } -void AclValidator::validateRuleSet(std::pair<const std::string, qpid::acl::AclData::RuleSet>& rules){ +void AclValidator::validateRuleSet(std::pair<const std::string, qpid::acl::AclData::ruleSet>& rules){ std::for_each(rules.second.begin(), rules.second.end(), boost::bind(&AclValidator::validateRule, this, _1)); } -void AclValidator::validateRule(qpid::acl::AclData::Rule& rule){ +void AclValidator::validateRule(qpid::acl::AclData::rule& rule){ std::for_each(rule.props.begin(), rule.props.end(), boost::bind(&AclValidator::validateProperty, this, _1)); |
