diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2011-12-13 22:16:31 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2011-12-13 22:16:31 +0100 |
commit | db4bc6812d69d960a558b89c18f08b17a2e38d27 (patch) | |
tree | 15d6547e929635baaffd9a4008a872e9d1c246e6 /configmgr/source/access.cxx | |
parent | 39cbce553da1834f78b77f48b2f1be9578d6cc05 (diff) |
Unified configmgr::Node::getMember{s,Map} again.
(With the insight that Data::components is RootNode::members.)
Diffstat (limited to 'configmgr/source/access.cxx')
-rw-r--r-- | configmgr/source/access.cxx | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/configmgr/source/access.cxx b/configmgr/source/access.cxx index 7fc239cb9d5c..b6617b416c66 100644 --- a/configmgr/source/access.cxx +++ b/configmgr/source/access.cxx @@ -1607,31 +1607,28 @@ void Access::commitChildChanges( // children); clarify what exactly should happen here for // directly inserted children } - NodeMap * members = getNode()->getMemberMap(); - if (members != 0) { - NodeMap::iterator j(members->find(i->first)); - if (child.is()) { - // Inserted: - if (j != members->end()) { - childValid = childValid && - j->second->getFinalized() == Data::NO_LAYER; - if (childValid) { - child->getNode()->setMandatory( - j->second->getMandatory()); - } - } - if (childValid) { - (*members)[i->first] = child->getNode(); - } - } else { - // Removed: - childValid = childValid && j != members->end() && - j->second->getFinalized() == Data::NO_LAYER && - j->second->getMandatory() == Data::NO_LAYER; + NodeMap & members = getNode()->getMembers(); + NodeMap::iterator j(members.find(i->first)); + if (child.is()) { + // Inserted: + if (j != members.end()) { + childValid = childValid && + j->second->getFinalized() == Data::NO_LAYER; if (childValid) { - members->erase(j); + child->getNode()->setMandatory(j->second->getMandatory()); } } + if (childValid) { + members[i->first] = child->getNode(); + } + } else { + // Removed: + childValid = childValid && j != members.end() && + j->second->getFinalized() == Data::NO_LAYER && + j->second->getMandatory() == Data::NO_LAYER; + if (childValid) { + members.erase(j); + } } if (childValid && i->second.directlyModified) { Path path(getAbsolutePath()); |