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_SetUpdate_idl__ 24cdf0e10cSrcweir#define __com_sun_star_configuration_SetUpdate_idl__ 25cdf0e10cSrcweir 26cdf0e10cSrcweir#ifndef __com_sun_star_configuration_SetAccess_idl__ 27cdf0e10cSrcweir#include <com/sun/star/configuration/SetAccess.idl> 28cdf0e10cSrcweir#endif 29cdf0e10cSrcweir 30cdf0e10cSrcweir#ifndef __com_sun_star_configuration_SimpleSetUpdate_idl__ 31cdf0e10cSrcweir#include <com/sun/star/configuration/SimpleSetUpdate.idl> 32cdf0e10cSrcweir#endif 33cdf0e10cSrcweir 34cdf0e10cSrcweir//============================================================================= 35cdf0e10cSrcweir 36cdf0e10cSrcweirmodule com { module sun { module star { module configuration { 37cdf0e10cSrcweir 38cdf0e10cSrcweir//============================================================================= 39cdf0e10cSrcweir/** provides write access to a dynamic homogeneous set of values or nested 40cdf0e10cSrcweir trees within a hierarchy. 41cdf0e10cSrcweir 42cdf0e10cSrcweir <p>Allows adding and removing elements. 43cdf0e10cSrcweir Helps creates new elements to be added. 44cdf0e10cSrcweir </p> 45cdf0e10cSrcweir 46cdf0e10cSrcweir <p>This service extends <type>SetAccess</type> to support 47cdf0e10cSrcweir modifying the container. 48cdf0e10cSrcweir </p> 49cdf0e10cSrcweir 50cdf0e10cSrcweir <p>Any child and descendant objects support modifying access as well, 51cdf0e10cSrcweir unless they represent a read-only tree element (as indicated by 52cdf0e10cSrcweir <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>). 53cdf0e10cSrcweir </p> 54cdf0e10cSrcweir*/ 55cdf0e10cSrcweirpublished service SetUpdate 56cdf0e10cSrcweir{ 57cdf0e10cSrcweir/** is the basic service providing read access to a <em>set</em> within the 58cdf0e10cSrcweir hierarchy. 59cdf0e10cSrcweir*/ 60cdf0e10cSrcweir service SetAccess; 61cdf0e10cSrcweir 62cdf0e10cSrcweir/** is the basic service providing modifying access to a 63cdf0e10cSrcweir not necessarily hierarchical <em>set</em>. 64cdf0e10cSrcweir 65cdf0e10cSrcweir <p>Changes can be observed by registering a listener with interface 66cdf0e10cSrcweir <type scope="com::sun::star::container">XContainer</type>. 67cdf0e10cSrcweir </p> 68cdf0e10cSrcweir 69cdf0e10cSrcweir <p>If the elements of this set are of object type, new elements are constructed 70cdf0e10cSrcweir to match the tree structure prescribed by the element template of this set, when 71cdf0e10cSrcweir using interfaces <type scope="com::sun::star::lang">XSingleServiceFactory</type> 72cdf0e10cSrcweir and (if supported) <type scope="com::sun::star::lang">XMultiServiceFactory</type>. 73cdf0e10cSrcweir </p> 74cdf0e10cSrcweir 75cdf0e10cSrcweir <p>Objects that are removed from a set can be reinserted into any set supporting 76cdf0e10cSrcweir the same template within the same hierarchy. Even under a different name. 77cdf0e10cSrcweir </p> 78cdf0e10cSrcweir 79cdf0e10cSrcweir <p>Implementations that support insertion of objects that weren't obtained 80cdf0e10cSrcweir from within the hierarchy must reject elements that don't have the correct 81cdf0e10cSrcweir structure as described by the template, even if the object returns the 82cdf0e10cSrcweir correct template name from <member>XTemplateInstance::getTemplateName()</member>. 83cdf0e10cSrcweir </p> 84cdf0e10cSrcweir 85cdf0e10cSrcweir <p>Other ways in which an element may be moved among or within compatible sets 86cdf0e10cSrcweir include <member scope="com::sun::star::container">XChild::setParent()</member> 87cdf0e10cSrcweir and <member scope="com::sun::star::container">XNamed::setName()</member>, if 88cdf0e10cSrcweir the element implements them. 89cdf0e10cSrcweir </p> 90cdf0e10cSrcweir 91cdf0e10cSrcweir @see com::sun::star::configuration::SetElement 92cdf0e10cSrcweir*/ 93cdf0e10cSrcweir service SimpleSetUpdate; 94cdf0e10cSrcweir 95cdf0e10cSrcweir}; 96cdf0e10cSrcweir 97cdf0e10cSrcweir//============================================================================= 98cdf0e10cSrcweir 99cdf0e10cSrcweir}; }; }; }; 100cdf0e10cSrcweir 101cdf0e10cSrcweir#endif 102