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_GroupAccess_idl__ 24#define __com_sun_star_configuration_GroupAccess_idl__ 25 26#ifndef __com_sun_star_configuration_HierarchyAccess_idl__ 27#include <com/sun/star/configuration/HierarchyAccess.idl> 28#endif 29 30#ifndef __com_sun_star_configuration_PropertyHierarchy_idl__ 31#include <com/sun/star/configuration/PropertyHierarchy.idl> 32#endif 33 34#ifndef __com_sun_star_beans_XPropertyState_idl__ 35#include <com/sun/star/beans/XPropertyState.idl> 36#endif 37 38#ifndef __com_sun_star_beans_XMultiPropertyState_idl__ 39#include <com/sun/star/beans/XMultiPropertyStates.idl> 40#endif 41 42//============================================================================= 43 44module com { module sun { module star { module configuration { 45 46//============================================================================= 47/** provides access to a predefined heterogeneous group of values and nested 48 trees as part of a hierarchy. 49 50 <p>Provides access to, and information about, its children and descendants 51 viewed either as properties or as contained elements. 52 </p> 53 54 <p><em>Groups</em> are static collections within the hierarchy.</p> 55 56 <p>The number and names of contained elements are fixed in advance 57 and each child may have a different type. 58 </p> 59 60 <p>This service subsumes two alternate ways of accessing child and descendent 61 elements. These strongly overlap, supporting the basic identity 62 <code>xGroup.getPropertyValue( aName ) == xGroup.getByName( aName )</code>. 63 </p> 64 65 @see com::sun::star::configuration::GroupElement 66 Child objects of this service generally implement service GroupElement. 67 68 @see com::sun::star::configuration::SetAccess 69 A complementary service providing for dynamic homogeneous sets of elements. 70 71*/ 72published service GroupAccess 73{ 74/** is the basic service for accessing child and descendent nodes using 75 a view of the tree as a container of values and structuring elements. 76*/ 77 service HierarchyAccess; 78 79/** is the basic service for accessing child and descendent nodes using 80 a view of the tree as a hierarchy of properties and subproperties. 81 82 <p>This view is meaningful only for a static fragment of the hierarchy 83 Objects' properties may change, but not which properties they have. 84 Therefore, dynamic elements of the hierarchy (see <type>SetAccess</type>) 85 do not implement service <type>PropertyHierarchy</type>. 86 </p> 87 88 <p>If such elements occur as properties or subproperties of an implementation, 89 it is not specified whether direct subproperty access using 90 <type scope="com::sun::star::beans">XHierarchicalPropertySet</type> or 91 <type scope="com::sun::star::beans">XMultiHierarchicalPropertySet</type> can 92 be used to access descendants of such elements. 93 </p> 94 95 <p>Similarly, information about such descendants may not be available from 96 the <type scope="com::sun::star::beans">XHierarchicalPropertySetInfo</type> 97 the implementation provides. 98 </p> 99 100 <p>If an implementation is part of a <em>read-only</em> view of the hierarchy, 101 all properties and subproperties will be reported as having attribute 102 <const scope="com::sun::star::beans">PropertyAttribute::READONLY</const> set, 103 and attempts to change property values will fail. 104 </p> 105*/ 106 service PropertyHierarchy; 107 108/** provides access to the state of child elements of an implementation. [optional] 109 110 <p>This interface should be present, if the hierarchy supports default values 111 for simple (non-object) properties and the group contains such properties. 112 </p> 113 114 <p>For properties that are objects themselves, the semantic documented for 115 service <type>HierarchyAccess</type> applies. 116 </p> 117 */ 118 [optional] interface com::sun::star::beans::XPropertyState; 119 120/** provides access to the states of multiple child elements of 121 an implementation. [optional] 122 123 <p>This interface should be present, if the hierarchy supports default values 124 for simple (non-object) properties and the group contains such properties. 125 </p> 126 127 <p>For properties that are objects themselves, the semantic documented for 128 service <type>HierarchyAccess</type> applies. 129 </p> 130*/ 131 [optional] interface com::sun::star::beans::XMultiPropertyStates; 132}; 133 134//============================================================================= 135 136}; }; }; }; 137 138#endif 139 140