1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_configuration_GroupUpdate_idl__
24cdf0e10cSrcweir#define __com_sun_star_configuration_GroupUpdate_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_configuration_GroupAccess_idl__
27cdf0e10cSrcweir#include <com/sun/star/configuration/GroupAccess.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_container_XNameReplace_idl__
31cdf0e10cSrcweir#include <com/sun/star/container/XNameReplace.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir//=============================================================================
35cdf0e10cSrcweir
36cdf0e10cSrcweirmodule com { module sun { module star { module configuration {
37cdf0e10cSrcweir
38cdf0e10cSrcweir//=============================================================================
39cdf0e10cSrcweir/** provides write access to a predefined heterogeneous group of values
40cdf0e10cSrcweir and nested trees as part of a hierarchy.
41cdf0e10cSrcweir
42cdf0e10cSrcweir <p>This service extends <type>GroupAccess</type> to support
43cdf0e10cSrcweir modifying values.
44cdf0e10cSrcweir </p>
45cdf0e10cSrcweir*/
46cdf0e10cSrcweirpublished service GroupUpdate
47cdf0e10cSrcweir{
48cdf0e10cSrcweir/** is the basic service providing read access to a group element of the
49cdf0e10cSrcweir hierarchy.
50cdf0e10cSrcweir
51cdf0e10cSrcweir <p>Any child and descendant objects support modifying access as well,
52cdf0e10cSrcweir unless they represent a read-only tree element as indicated by
53cdf0e10cSrcweir <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>.
54cdf0e10cSrcweir </p>
55cdf0e10cSrcweir*/
56cdf0e10cSrcweir	service GroupAccess;
57cdf0e10cSrcweir
58cdf0e10cSrcweir/** allows replacing values.
59cdf0e10cSrcweir
60cdf0e10cSrcweir <p>This service extends the interface
61cdf0e10cSrcweir <type scope="com::sun::star::container">XNameAccess</type> supported
62cdf0e10cSrcweir by service <type>GroupAccess</type> to allow changing values.
63cdf0e10cSrcweir This strongly overlaps with functionality available through
64cdf0e10cSrcweir <type>PropertyHierarchy</type> (from <type>GroupAccess</type>), so that
65cdf0e10cSrcweir <code>xGroup.setPropertyValue( aName, aValue )</code> is equivalent to
66cdf0e10cSrcweir <code>xGroup.replaceByName( aName, aValue )</code>.
67cdf0e10cSrcweir </p>
68cdf0e10cSrcweir
69cdf0e10cSrcweir <p>Changes can be observed by registering a listener with interface
70cdf0e10cSrcweir <type scope="com::sun::star::beans">XPropertySet</type> or
71cdf0e10cSrcweir <type scope="com::sun::star::beans">XMultiPropertySet</type>.
72cdf0e10cSrcweir </p>
73cdf0e10cSrcweir
74cdf0e10cSrcweir <p>Elements of this group may be replaced only if they are of simple type.
75cdf0e10cSrcweir The type returned by
76cdf0e10cSrcweir <member scope="com::sun::star::container">XElementAccess::getElementType()</member>
77cdf0e10cSrcweir must not be an interface type. Replacing whole subtrees is not supported.
78cdf0e10cSrcweir </p>
79cdf0e10cSrcweir*/
80cdf0e10cSrcweir	interface com::sun::star::container::XNameReplace;
81cdf0e10cSrcweir
82cdf0e10cSrcweir};
83cdf0e10cSrcweir
84cdf0e10cSrcweir//=============================================================================
85cdf0e10cSrcweir
86cdf0e10cSrcweir}; }; }; };
87cdf0e10cSrcweir
88cdf0e10cSrcweir#endif
89cdf0e10cSrcweir
90