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_XBackend_idl__
24#define __com_sun_star_configuration_backend_XBackend_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_configuration_backend_XUpdateHandler_idl__
31#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
32#endif
33
34#ifndef __com_sun_star_configuration_backend_XLayer_idl__
35#include <com/sun/star/configuration/backend/XLayer.idl>
36#endif
37
38#ifndef __com_sun_star_configuration_backend_XSchema_idl__
39#include <com/sun/star/configuration/backend/XSchema.idl>
40#endif
41
42#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
43#include <com/sun/star/configuration/backend/BackendAccessException.idl>
44#endif
45
46#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
47#include <com/sun/star/lang/IllegalArgumentException.idl>
48#endif
49
50#ifndef __com_sun_star_lang_NoSupportException_idl__
51#include <com/sun/star/lang/NoSupportException.idl>
52#endif
53
54//=============================================================================
55
56module com { module sun { module star { module configuration { module backend {
57
58//=============================================================================
59
60/**
61  Handles access to layered data stored in a repository.
62
63  <p> Data can be retrieved on behalf of one or more entities.</p>
64
65  <p> There is an implied owner entity associated to the object
66     when it is created. This entity should be used for normal data access.
67     For administrative operations data of other entities can be accessed.
68  </p>
69
70  @see com::sun::star::configuration::backend::XBackendEntities
71  @see com::sun::star::configuration::backend::XSchemaSupplier
72
73  @since OpenOffice 1.1.2
74*/
75published interface XBackend : ::com::sun::star::uno::XInterface
76{
77	//-------------------------------------------------------------------------
78
79    /**
80      retrieves the layers associated to the owner
81      entity for a component.
82
83      @param aComponent
84                component whose data will be accessed
85
86      @returns
87                a list of objects allowing access to the
88                component data for each layer associated to
89                the current entity
90
91      @throws   com::sun::star::lang::IllegalArgumentException
92                if the component identifier is invalid
93
94      @throws   com::sun::star::configuration::backend::BackendAccessException
95                if an error occurs while accessing the data.
96
97      @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
98	*/
99    sequence<XLayer> listOwnLayers([in] string aComponent)
100        raises (BackendAccessException,
101                com::sun::star::lang::IllegalArgumentException) ;
102
103	//-------------------------------------------------------------------------
104
105    /**
106      creates an update handler for the owner entity
107      layer for a component.
108
109      @param aComponent
110                component whose data will be updated
111
112      @returns
113                an object allowing manipulation of the
114                component data for the current entity
115
116      @throws   com::sun::star::lang::IllegalArgumentException
117                if the component identifier is invalid
118
119      @throws   com::sun::star::lang::NoSupportException
120                if updates are not supported for this backend
121
122      @throws   com::sun::star::configuration::backend::BackendAccessException
123                if an error occurs while accessing the data.
124
125      @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
126	*/
127    XUpdateHandler getOwnUpdateHandler([in] string aComponent)
128        raises (BackendAccessException,
129                com::sun::star::lang::NoSupportException,
130                com::sun::star::lang::IllegalArgumentException) ;
131
132	//-------------------------------------------------------------------------
133
134    /**
135      retrieves the layers associated to an entity for a component.
136
137      @param aComponent
138                component whose data will be accessed
139
140      @param aEntity
141                entity whose data will be accessed
142
143      @returns
144                a list of objects allowing access to the
145                component data for each layer associated
146                with the entity.
147
148      @throws   com::sun::star::lang::IllegalArgumentException
149                if the component identifier is invalid
150                or if the entity doesn't exist.
151
152      @throws   com::sun::star::configuration::backend::BackendAccessException
153                if an error occurs while accessing the data.
154
155      @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
156	*/
157    sequence<XLayer> listLayers([in] string aComponent,
158                                [in] string aEntity)
159        raises (BackendAccessException,
160                com::sun::star::lang::IllegalArgumentException) ;
161
162	//-------------------------------------------------------------------------
163
164    /**
165      creates an update handler on an entity's layer for a component.
166
167      @param aComponent
168                component whose data will be updated
169
170      @param aEntity
171                entity whose data will be updated
172
173      @returns
174                an object allowing manipulation of the
175                component data for the entity
176
177      @throws   com::sun::star::lang::IllegalArgumentException
178                if the component identifier is invalid
179                or if the entity doesn't exist.
180
181      @throws   com::sun::star::lang::NoSupportException
182                if updates are not supported for this backend
183
184      @throws   com::sun::star::configuration::backend::BackendAccessException
185                if an error occurs while accessing the data.
186
187      @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
188	*/
189    XUpdateHandler getUpdateHandler([in] string aComponent,
190                                    [in] string aEntity)
191        raises (BackendAccessException,
192                com::sun::star::lang::NoSupportException,
193                com::sun::star::lang::IllegalArgumentException) ;
194
195	//-------------------------------------------------------------------------
196} ;
197
198//=============================================================================
199
200} ; } ; } ; } ; } ;
201
202#endif
203