/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_configuration_GroupAccess_idl__ #define __com_sun_star_configuration_GroupAccess_idl__ #ifndef __com_sun_star_configuration_HierarchyAccess_idl__ #include #endif #ifndef __com_sun_star_configuration_PropertyHierarchy_idl__ #include #endif #ifndef __com_sun_star_beans_XPropertyState_idl__ #include #endif #ifndef __com_sun_star_beans_XMultiPropertyState_idl__ #include #endif //============================================================================= module com { module sun { module star { module configuration { //============================================================================= /** provides access to a predefined heterogeneous group of values and nested trees as part of a hierarchy.

Provides access to, and information about, its children and descendants viewed either as properties or as contained elements.

Groups are static collections within the hierarchy.

The number and names of contained elements are fixed in advance and each child may have a different type.

This service subsumes two alternate ways of accessing child and descendent elements. These strongly overlap, supporting the basic identity xGroup.getPropertyValue( aName ) == xGroup.getByName( aName ).

@see com::sun::star::configuration::GroupElement Child objects of this service generally implement service GroupElement. @see com::sun::star::configuration::SetAccess A complementary service providing for dynamic homogeneous sets of elements. */ published service GroupAccess { /** is the basic service for accessing child and descendent nodes using a view of the tree as a container of values and structuring elements. */ service HierarchyAccess; /** is the basic service for accessing child and descendent nodes using a view of the tree as a hierarchy of properties and subproperties.

This view is meaningful only for a static fragment of the hierarchy Objects' properties may change, but not which properties they have. Therefore, dynamic elements of the hierarchy (see SetAccess) do not implement service PropertyHierarchy.

If such elements occur as properties or subproperties of an implementation, it is not specified whether direct subproperty access using XHierarchicalPropertySet or XMultiHierarchicalPropertySet can be used to access descendants of such elements.

Similarly, information about such descendants may not be available from the XHierarchicalPropertySetInfo the implementation provides.

If an implementation is part of a read-only view of the hierarchy, all properties and subproperties will be reported as having attribute PropertyAttribute::READONLY set, and attempts to change property values will fail.

*/ service PropertyHierarchy; /** provides access to the state of child elements of an implementation. [optional]

This interface should be present, if the hierarchy supports default values for simple (non-object) properties and the group contains such properties.

For properties that are objects themselves, the semantic documented for service HierarchyAccess applies.

*/ [optional] interface com::sun::star::beans::XPropertyState; /** provides access to the states of multiple child elements of an implementation. [optional]

This interface should be present, if the hierarchy supports default values for simple (non-object) properties and the group contains such properties.

For properties that are objects themselves, the semantic documented for service HierarchyAccess applies.

*/ [optional] interface com::sun::star::beans::XMultiPropertyStates; }; //============================================================================= }; }; }; }; #endif