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_GroupUpdate_idl__ 24#define __com_sun_star_configuration_GroupUpdate_idl__ 25 26#ifndef __com_sun_star_configuration_GroupAccess_idl__ 27#include <com/sun/star/configuration/GroupAccess.idl> 28#endif 29 30#ifndef __com_sun_star_container_XNameReplace_idl__ 31#include <com/sun/star/container/XNameReplace.idl> 32#endif 33 34//============================================================================= 35 36module com { module sun { module star { module configuration { 37 38//============================================================================= 39/** provides write access to a predefined heterogeneous group of values 40 and nested trees as part of a hierarchy. 41 42 <p>This service extends <type>GroupAccess</type> to support 43 modifying values. 44 </p> 45*/ 46published service GroupUpdate 47{ 48/** is the basic service providing read access to a group element of the 49 hierarchy. 50 51 <p>Any child and descendant objects support modifying access as well, 52 unless they represent a read-only tree element as indicated by 53 <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>. 54 </p> 55*/ 56 service GroupAccess; 57 58/** allows replacing values. 59 60 <p>This service extends the interface 61 <type scope="com::sun::star::container">XNameAccess</type> supported 62 by service <type>GroupAccess</type> to allow changing values. 63 This strongly overlaps with functionality available through 64 <type>PropertyHierarchy</type> (from <type>GroupAccess</type>), so that 65 <code>xGroup.setPropertyValue( aName, aValue )</code> is equivalent to 66 <code>xGroup.replaceByName( aName, aValue )</code>. 67 </p> 68 69 <p>Changes can be observed by registering a listener with interface 70 <type scope="com::sun::star::beans">XPropertySet</type> or 71 <type scope="com::sun::star::beans">XMultiPropertySet</type>. 72 </p> 73 74 <p>Elements of this group may be replaced only if they are of simple type. 75 The type returned by 76 <member scope="com::sun::star::container">XElementAccess::getElementType()</member> 77 must not be an interface type. Replacing whole subtrees is not supported. 78 </p> 79*/ 80 interface com::sun::star::container::XNameReplace; 81 82}; 83 84//============================================================================= 85 86}; }; }; }; 87 88#endif 89 90