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_backend_XBackendEntities_idl__
24#define __com_sun_star_configuration_backend_XBackendEntities_idl__
25
26#ifndef __com_sun_star_uno_XInterface_idl__
27#include <com/sun/star/uno/XInterface.idl>
28#endif
29
30#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
31#include <com/sun/star/lang/IllegalArgumentException.idl>
32#endif
33#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
34#include <com/sun/star/configuration/backend/BackendAccessException.idl>
35#endif
36
37//=============================================================================
38
39module com { module sun { module star { module configuration { module backend {
40
41//=============================================================================
42
43/**
44  Provides functionality relating to common and supported entities
45  for a configuration data backend.
46
47  @see com::sun::star::configuration::backend::XBackend
48  @see com::sun::star::configuration::backend::XMultiLayerStratum
49
50  @since OpenOffice 1.1.2
51*/
52published interface XBackendEntities : ::com::sun::star::uno::XInterface
53{
54	//-------------------------------------------------------------------------
55
56    /**
57        provides the entity id of the owner entity of the backend.
58
59        @returns
60            an entity identifier for the owner entity.
61            <p> The owner entity is the default entity for the backend.
62               For normal configuration data access the owner entity
63               should always be used.
64            </p>
65
66        @see com::sun::star::configuration::backend::XBackend::listOwnLayers()
67        @see com::sun::star::configuration::backend::XBackend::getOwnUpdateHandler()
68	*/
69    string getOwnerEntity() ;
70
71	//-------------------------------------------------------------------------
72
73    /**
74        provides the entity id of an entity for general administrative access.
75
76        <p> The admin entity is an entity that should be used to
77           read and manage configuration data that applies to all entities
78           within the backend.
79        </p>
80
81        @returns
82            an entity identifier for the admin entity or
83            an empty string, if there is no entity that can be used for
84            general administrative access.
85
86	*/
87    string getAdminEntity() ;
88
89	//-------------------------------------------------------------------------
90
91    /**
92        determines, if a given entity id exists in this backend.
93
94        @param aEntity
95            The name of an entity.
96
97        @throws   com::sun::star::configuration::backend::BackendAccessException
98                if an error occurs while accessing the backend.
99
100        @returns
101            <TRUE/>, if aEntity is a valid, existing entity for this backend,
102            <FALSE/> otherwise.
103	*/
104    boolean supportsEntity([in] string aEntity)
105        raises( BackendAccessException );
106
107	//-------------------------------------------------------------------------
108
109    /**
110        determines, if two given entity ids denote the same entity.
111
112        @param aEntity
113            The name of an entity.
114
115        @param aOtherEntity
116            The name of another entity.
117
118        @returns
119            <TRUE/>, if aEntity and aOtherEntity denote the same entity
120            within this backend, <FALSE/> otherwise.
121
122        @throws   com::sun::star::configuration::backend::BackendAccessException
123                if an error occurs while accessing the backend.
124
125        @throws   com::sun::star::lang::IllegalArgumentException
126            if either entity does not exist.
127	*/
128    boolean isEqualEntity([in] string aEntity, [in] string aOtherEntity)
129        raises( BackendAccessException, com::sun::star::lang::IllegalArgumentException) ;
130
131	//-------------------------------------------------------------------------
132} ;
133
134//=============================================================================
135
136} ; } ; } ; } ; } ;
137
138#endif
139