1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_configuration_GroupUpdate_idl__ 28#define __com_sun_star_configuration_GroupUpdate_idl__ 29 30#ifndef __com_sun_star_configuration_GroupAccess_idl__ 31#include <com/sun/star/configuration/GroupAccess.idl> 32#endif 33 34#ifndef __com_sun_star_container_XNameReplace_idl__ 35#include <com/sun/star/container/XNameReplace.idl> 36#endif 37 38//============================================================================= 39 40module com { module sun { module star { module configuration { 41 42//============================================================================= 43/** provides write access to a predefined heterogeneous group of values 44 and nested trees as part of a hierarchy. 45 46 <p>This service extends <type>GroupAccess</type> to support 47 modifying values. 48 </p> 49*/ 50published service GroupUpdate 51{ 52/** is the basic service providing read access to a group element of the 53 hierarchy. 54 55 <p>Any child and descendant objects support modifying access as well, 56 unless they represent a read-only tree element as indicated by 57 <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>. 58 </p> 59*/ 60 service GroupAccess; 61 62/** allows replacing values. 63 64 <p>This service extends the interface 65 <type scope="com::sun::star::container">XNameAccess</type> supported 66 by service <type>GroupAccess</type> to allow changing values. 67 This strongly overlaps with functionality available through 68 <type>PropertyHierarchy</type> (from <type>GroupAccess</type>), so that 69 <code>xGroup.setPropertyValue( aName, aValue )</code> is equivalent to 70 <code>xGroup.replaceByName( aName, aValue )</code>. 71 </p> 72 73 <p>Changes can be observed by registering a listener with interface 74 <type scope="com::sun::star::beans">XPropertySet</type> or 75 <type scope="com::sun::star::beans">XMultiPropertySet</type>. 76 </p> 77 78 <p>Elements of this group may be replaced only if they are of simple type. 79 The type returned by 80 <member scope="com::sun::star::container">XElementAccess::getElementType()</member> 81 must not be an interface type. Replacing whole subtrees is not supported. 82 </p> 83*/ 84 interface com::sun::star::container::XNameReplace; 85 86}; 87 88//============================================================================= 89 90}; }; }; }; 91 92#endif 93 94