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 
39 module 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 */
52 published 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