| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_configuration_SetUpdate_idl__ |
| #define __com_sun_star_configuration_SetUpdate_idl__ |
| |
| #ifndef __com_sun_star_configuration_SetAccess_idl__ |
| #include <com/sun/star/configuration/SetAccess.idl> |
| #endif |
| |
| #ifndef __com_sun_star_configuration_SimpleSetUpdate_idl__ |
| #include <com/sun/star/configuration/SimpleSetUpdate.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module configuration { |
| |
| //============================================================================= |
| /** provides write access to a dynamic homogeneous set of values or nested |
| trees within a hierarchy. |
| |
| <p>Allows adding and removing elements. |
| Helps creates new elements to be added. |
| </p> |
| |
| <p>This service extends <type>SetAccess</type> to support |
| modifying the container. |
| </p> |
| |
| <p>Any child and descendant objects support modifying access as well, |
| unless they represent a read-only tree element (as indicated by |
| <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const>). |
| </p> |
| */ |
| published service SetUpdate |
| { |
| /** is the basic service providing read access to a <em>set</em> within the |
| hierarchy. |
| */ |
| service SetAccess; |
| |
| /** is the basic service providing modifying access to a |
| not necessarily hierarchical <em>set</em>. |
| |
| <p>Changes can be observed by registering a listener with interface |
| <type scope="com::sun::star::container">XContainer</type>. |
| </p> |
| |
| <p>If the elements of this set are of object type, new elements are constructed |
| to match the tree structure prescribed by the element template of this set, when |
| using interfaces <type scope="com::sun::star::lang">XSingleServiceFactory</type> |
| and (if supported) <type scope="com::sun::star::lang">XMultiServiceFactory</type>. |
| </p> |
| |
| <p>Objects that are removed from a set can be reinserted into any set supporting |
| the same template within the same hierarchy. Even under a different name. |
| </p> |
| |
| <p>Implementations that support insertion of objects that weren't obtained |
| from within the hierarchy must reject elements that don't have the correct |
| structure as described by the template, even if the object returns the |
| correct template name from <member>XTemplateInstance::getTemplateName()</member>. |
| </p> |
| |
| <p>Other ways in which an element may be moved among or within compatible sets |
| include <member scope="com::sun::star::container">XChild::setParent()</member> |
| and <member scope="com::sun::star::container">XNamed::setName()</member>, if |
| the element implements them. |
| </p> |
| |
| @see com::sun::star::configuration::SetElement |
| */ |
| service SimpleSetUpdate; |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |