1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_configuration_backend_NodeAttribute_idl__
24#define __com_sun_star_configuration_backend_NodeAttribute_idl__
25
26//=============================================================================
27
28module com { module sun { module star { module configuration { module backend {
29
30//=============================================================================
31
32/** These values are used to specify the behavior of a node or property
33	in a layer.
34
35	<p> The values were chosen so they can be combined with values from
36		<type>SchemaAttribute</type>
37	</p>
38
39	@see com::sun::star::configuration::backend::SchemaAttribute
40		During merging the values may be combined with static attributes
41		from the schema.
42
43    @since OOo 1.1.2
44 */
45published constants NodeAttribute
46{
47	//-------------------------------------------------------------------------
48
49	/** indicates that a node or property may not be changed or overridden
50		in subsequent layers
51	 */
52	const short FINALIZED = 256;
53
54	//-------------------------------------------------------------------------
55
56	/** indicates that a set item may not be removed or replaced
57		in subsequent layers.
58	 */
59	const short MANDATORY = 512;
60
61	//-------------------------------------------------------------------------
62
63	/** indicates that a node or property may not be changed
64		in this or subsequent layer.
65	 */
66	const short READONLY = 1024;
67
68    //-------------------------------------------------------------------------
69
70    /** indicates that contents shall be fused.
71
72        <p>Used in <member>XLayerHandler::addOrReplaceNode</member>,
73        <member>XLayerHandler::addOrReplaceNodeFromTemplate</member>,
74        <member>XUpdateHandler::addOrReplaceNode</member>, and
75        <member>XUpdateHandler::addOrReplaceNodeFromTemplate</member>.</p>
76
77        @since OOo 2.0.3
78     */
79    const short FUSE = 2048;
80
81	//-------------------------------------------------------------------------
82
83	/** can be used to mask the node attributes from merged attributes
84	 */
85	const short MASK = 32512; // 0xFF00, changed to 0x7F00 because only 3 bits
86                              // are masked and fixing a bug in idlc
87
88	//-------------------------------------------------------------------------
89};
90
91//=============================================================================
92
93}; }; }; }; };
94
95//=============================================================================
96
97#endif
98