xref: /aoo41x/main/configmgr/source/groupnode.cxx (revision 3a7cf181)
1*3a7cf181SAndrew Rist /**************************************************************
2*3a7cf181SAndrew Rist  *
3*3a7cf181SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*3a7cf181SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*3a7cf181SAndrew Rist  * distributed with this work for additional information
6*3a7cf181SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*3a7cf181SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*3a7cf181SAndrew Rist  * "License"); you may not use this file except in compliance
9*3a7cf181SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*3a7cf181SAndrew Rist  *
11*3a7cf181SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*3a7cf181SAndrew Rist  *
13*3a7cf181SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*3a7cf181SAndrew Rist  * software distributed under the License is distributed on an
15*3a7cf181SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*3a7cf181SAndrew Rist  * KIND, either express or implied.  See the License for the
17*3a7cf181SAndrew Rist  * specific language governing permissions and limitations
18*3a7cf181SAndrew Rist  * under the License.
19*3a7cf181SAndrew Rist  *
20*3a7cf181SAndrew Rist  *************************************************************/
21*3a7cf181SAndrew Rist 
22*3a7cf181SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #include "precompiled_configmgr.hxx"
25cdf0e10cSrcweir #include "sal/config.h"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "rtl/ref.hxx"
28cdf0e10cSrcweir #include "rtl/ustring.hxx"
29cdf0e10cSrcweir 
30cdf0e10cSrcweir #include "data.hxx"
31cdf0e10cSrcweir #include "groupnode.hxx"
32cdf0e10cSrcweir #include "node.hxx"
33cdf0e10cSrcweir #include "nodemap.hxx"
34cdf0e10cSrcweir 
35cdf0e10cSrcweir namespace configmgr {
36cdf0e10cSrcweir 
GroupNode(int layer,bool extensible,rtl::OUString const & templateName)37cdf0e10cSrcweir GroupNode::GroupNode(
38cdf0e10cSrcweir     int layer, bool extensible, rtl::OUString const & templateName):
39cdf0e10cSrcweir     Node(layer), extensible_(extensible), templateName_(templateName),
40cdf0e10cSrcweir     mandatory_(Data::NO_LAYER)
41cdf0e10cSrcweir {}
42cdf0e10cSrcweir 
clone(bool keepTemplateName) const43cdf0e10cSrcweir rtl::Reference< Node > GroupNode::clone(bool keepTemplateName) const {
44cdf0e10cSrcweir     return new GroupNode(*this, keepTemplateName);
45cdf0e10cSrcweir }
46cdf0e10cSrcweir 
getMembers()47cdf0e10cSrcweir NodeMap & GroupNode::getMembers() {
48cdf0e10cSrcweir     return members_;
49cdf0e10cSrcweir }
50cdf0e10cSrcweir 
getTemplateName() const51cdf0e10cSrcweir rtl::OUString GroupNode::getTemplateName() const {
52cdf0e10cSrcweir     return templateName_;
53cdf0e10cSrcweir }
54cdf0e10cSrcweir 
setMandatory(int layer)55cdf0e10cSrcweir void GroupNode::setMandatory(int layer) {
56cdf0e10cSrcweir     mandatory_ = layer;
57cdf0e10cSrcweir }
58cdf0e10cSrcweir 
getMandatory() const59cdf0e10cSrcweir int GroupNode::getMandatory() const {
60cdf0e10cSrcweir     return mandatory_;
61cdf0e10cSrcweir }
62cdf0e10cSrcweir 
isExtensible() const63cdf0e10cSrcweir bool GroupNode::isExtensible() const {
64cdf0e10cSrcweir     return extensible_;
65cdf0e10cSrcweir }
66cdf0e10cSrcweir 
GroupNode(GroupNode const & other,bool keepTemplateName)67cdf0e10cSrcweir GroupNode::GroupNode(GroupNode const & other, bool keepTemplateName):
68cdf0e10cSrcweir     Node(other), extensible_(other.extensible_), mandatory_(other.mandatory_)
69cdf0e10cSrcweir {
70cdf0e10cSrcweir     cloneNodeMap(other.members_, &members_);
71cdf0e10cSrcweir     if (keepTemplateName) {
72cdf0e10cSrcweir         templateName_ = other.templateName_;
73cdf0e10cSrcweir     }
74cdf0e10cSrcweir }
75cdf0e10cSrcweir 
~GroupNode()76cdf0e10cSrcweir GroupNode::~GroupNode() {}
77cdf0e10cSrcweir 
kind() const78cdf0e10cSrcweir Node::Kind GroupNode::kind() const {
79cdf0e10cSrcweir     return KIND_GROUP;
80cdf0e10cSrcweir }
81cdf0e10cSrcweir 
clear()82cdf0e10cSrcweir void GroupNode::clear() {
83cdf0e10cSrcweir     members_.clear();
84cdf0e10cSrcweir }
85cdf0e10cSrcweir 
86cdf0e10cSrcweir }
87