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_HierarchyElement_idl__ 24cdf0e10cSrcweir#define __com_sun_star_configuration_HierarchyElement_idl__ 25cdf0e10cSrcweir 26cdf0e10cSrcweir#ifndef __com_sun_star_container_XNamed_idl__ 27cdf0e10cSrcweir#include <com/sun/star/container/XNamed.idl> 28cdf0e10cSrcweir#endif 29cdf0e10cSrcweir 30cdf0e10cSrcweir#ifndef __com_sun_star_container_XHierarchicalName_idl__ 31cdf0e10cSrcweir#include <com/sun/star/container/XHierarchicalName.idl> 32cdf0e10cSrcweir#endif 33cdf0e10cSrcweir 34cdf0e10cSrcweir#ifndef __com_sun_star_beans_XProperty_idl__ 35cdf0e10cSrcweir#include <com/sun/star/beans/XProperty.idl> 36cdf0e10cSrcweir#endif 37cdf0e10cSrcweir 38cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertyWithState_idl__ 39cdf0e10cSrcweir#include <com/sun/star/beans/XPropertyWithState.idl> 40cdf0e10cSrcweir#endif 41cdf0e10cSrcweir 42cdf0e10cSrcweir#ifndef __com_sun_star_container_XChild_idl__ 43cdf0e10cSrcweir#include <com/sun/star/container/XChild.idl> 44cdf0e10cSrcweir#endif 45cdf0e10cSrcweir 46cdf0e10cSrcweir//============================================================================= 47cdf0e10cSrcweir 48cdf0e10cSrcweirmodule com { module sun { module star { module configuration { 49cdf0e10cSrcweir 50cdf0e10cSrcweir//============================================================================= 51cdf0e10cSrcweir/** provides information about an element within a hierarchy. 52cdf0e10cSrcweir 53cdf0e10cSrcweir <p>The local name and the full hierarchical name can be retrieved. 54cdf0e10cSrcweir Attributes detailing the role of the element can be queried. 55cdf0e10cSrcweir The state of the element (regarding defaults) can be accessed. 56cdf0e10cSrcweir </p> 57cdf0e10cSrcweir 58cdf0e10cSrcweir <p>Implementations of this service usually also implement 59cdf0e10cSrcweir service <type>HierarchyAccess</type>, which concerns the complementary role 60cdf0e10cSrcweir of providing access to subelements of the hierarchy. 61cdf0e10cSrcweir </p> 62cdf0e10cSrcweir*/ 63cdf0e10cSrcweirpublished service HierarchyElement 64cdf0e10cSrcweir{ 65cdf0e10cSrcweir/** provides the complete hierarchical name of this element 66cdf0e10cSrcweir within the hierarchy tree. 67cdf0e10cSrcweir*/ 68cdf0e10cSrcweir interface com::sun::star::container::XHierarchicalName; 69cdf0e10cSrcweir 70cdf0e10cSrcweir/** provides the local name of this element within its parent. 71cdf0e10cSrcweir 72cdf0e10cSrcweir <p><em>Renaming an element is generally not supported.</em></p> 73cdf0e10cSrcweir*/ 74cdf0e10cSrcweir interface com::sun::star::container::XNamed; 75cdf0e10cSrcweir 76cdf0e10cSrcweir/** provides a property descriptor for this element.[optional] 77cdf0e10cSrcweir 78cdf0e10cSrcweir <p>This interface may be missing, if the hierarchy supports no traits that are 79cdf0e10cSrcweir described by <type scope="com::sun::star::beans">PropertyAttribute</type> 80cdf0e10cSrcweir values. 81cdf0e10cSrcweir </p> 82cdf0e10cSrcweir 83cdf0e10cSrcweir <p>If the parent of this object implements 84cdf0e10cSrcweir <type scope="com::sun::star::beans">XPropertySetInfo</type>, then this returns 85cdf0e10cSrcweir the same <type scope="com::sun::star::beans">Property</type> as the 86cdf0e10cSrcweir <type scope="com::sun::star::beans">XPropertySetInfo</type> of the parent. 87cdf0e10cSrcweir </p> 88cdf0e10cSrcweir*/ 89cdf0e10cSrcweir [optional] interface com::sun::star::beans::XProperty; 90cdf0e10cSrcweir 91cdf0e10cSrcweir/** provides access to the default state of this element. [optional] 92cdf0e10cSrcweir 93cdf0e10cSrcweir <p>This interface may be missing, if the hierarchy supports access to 94cdf0e10cSrcweir a default state and values only for simple values or not at all. 95cdf0e10cSrcweir </p> 96cdf0e10cSrcweir 97cdf0e10cSrcweir <p>If the parent of this object implements 98cdf0e10cSrcweir <type scope="com::sun::star::beans">XPropertyState</type>, then members 99cdf0e10cSrcweir of this interface have the same effect as corresponding members of the parent. 100cdf0e10cSrcweir </p> 101cdf0e10cSrcweir 102cdf0e10cSrcweir <p>If an implementation is part of a <em>read-only</em> view of the hierarchy, 103cdf0e10cSrcweir attempts to change property states will fail. 104cdf0e10cSrcweir </p> 105cdf0e10cSrcweir*/ 106cdf0e10cSrcweir [optional] interface com::sun::star::beans::XPropertyWithState; 107cdf0e10cSrcweir 108cdf0e10cSrcweir/** provides access to the parent of this element [optional]. 109cdf0e10cSrcweir 110cdf0e10cSrcweir <p>This interface may be missing if this object is not obtained 111cdf0e10cSrcweir as a child or descendant of another tree node, for example, directly from a factory or provider. 112cdf0e10cSrcweir </p> 113cdf0e10cSrcweir 114cdf0e10cSrcweir <p><member scope="com::sun::star::container">XChild::getParent()</member> 115cdf0e10cSrcweir returns NULL, if this object is currently not contained in another node. 116cdf0e10cSrcweir </p> 117cdf0e10cSrcweir 118cdf0e10cSrcweir <p><em>Setting a different parent is, generally, not supported.</em></p> 119cdf0e10cSrcweir*/ 120cdf0e10cSrcweir [optional] interface com::sun::star::container::XChild; 121cdf0e10cSrcweir 122cdf0e10cSrcweir}; 123cdf0e10cSrcweir 124cdf0e10cSrcweir//============================================================================= 125cdf0e10cSrcweir 126cdf0e10cSrcweir}; }; }; }; 127cdf0e10cSrcweir 128cdf0e10cSrcweir#endif 129