/**************************************************************
 * 
 * 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_GroupElement_idl__
#define __com_sun_star_configuration_GroupElement_idl__

#ifndef __com_sun_star_configuration_HierarchyElement_idl__
#include <com/sun/star/configuration/HierarchyElement.idl>
#endif

#ifndef __com_sun_star_container_XChild_idl__
#include <com/sun/star/container/XChild.idl>
#endif

//=============================================================================

module com { module sun { module star { module configuration { 

//=============================================================================
/** provides information about a predefined element contained in a
 heterogeneous group of elements within a hierarchy.

 <p>Provides information about the element.
 Provides access to its containing group object.
 </p>

 <p>A group element bears a predefined name. It may only exist within a
 containing group object.
 </p>

 @see com::sun::star::configuration::GroupAccess
	Parent objects of this service generally implement service GroupAccess.

 @see com::sun::star::configuration::SetElement
	A complementary service, for elements of a dynamic homogeneous container.

 @see com::sun::star::configuration::AccessRootElement
	A complementary service, for the root element of a hierarchy.

*/
published service GroupElement
{
/** is the basic service for accessing information about an element in the
 hierarchy.
*/
	service HierarchyElement;

/** provides access to the containing group object.

 <p>In this service this interface is mandatory</p>

 <p><member scope="com::sun::star::container">XChild::getParent()</member>
 shall not return NULL.
 </p>

 <p><em>Setting a different parent is not supported.</em></p>
*/
	interface com::sun::star::container::XChild;
};

//=============================================================================

}; }; }; }; 

#endif

