xref: /AOO41X/main/offapi/com/sun/star/configuration/backend/XBackend.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_configuration_backend_XBackend_idl__
28#define __com_sun_star_configuration_backend_XBackend_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
35#include <com/sun/star/configuration/backend/XUpdateHandler.idl>
36#endif
37
38#ifndef __com_sun_star_configuration_backend_XLayer_idl__
39#include <com/sun/star/configuration/backend/XLayer.idl>
40#endif
41
42#ifndef __com_sun_star_configuration_backend_XSchema_idl__
43#include <com/sun/star/configuration/backend/XSchema.idl>
44#endif
45
46#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
47#include <com/sun/star/configuration/backend/BackendAccessException.idl>
48#endif
49
50#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
51#include <com/sun/star/lang/IllegalArgumentException.idl>
52#endif
53
54#ifndef __com_sun_star_lang_NoSupportException_idl__
55#include <com/sun/star/lang/NoSupportException.idl>
56#endif
57
58//=============================================================================
59
60module com { module sun { module star { module configuration { module backend {
61
62//=============================================================================
63
64/**
65  Handles access to layered data stored in a repository.
66
67  <p> Data can be retrieved on behalf of one or more entities.</p>
68
69  <p> There is an implied owner entity associated to the object
70     when it is created. This entity should be used for normal data access.
71     For administrative operations data of other entities can be accessed.
72  </p>
73
74  @see com::sun::star::configuration::backend::XBackendEntities
75  @see com::sun::star::configuration::backend::XSchemaSupplier
76
77  @since OOo 1.1.2
78*/
79published interface XBackend : ::com::sun::star::uno::XInterface
80{
81	//-------------------------------------------------------------------------
82
83    /**
84      retrieves the layers associated to the owner
85      entity for a component.
86
87      @param aComponent
88                component whose data will be accessed
89
90      @returns
91                a list of objects allowing access to the
92                component data for each layer associated to
93                the current entity
94
95      @throws   com::sun::star::lang::IllegalArgumentException
96                if the component identifier is invalid
97
98      @throws   com::sun::star::configuration::backend::BackendAccessException
99                if an error occurs while accessing the data.
100
101      @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
102	*/
103    sequence<XLayer> listOwnLayers([in] string aComponent)
104        raises (BackendAccessException,
105                com::sun::star::lang::IllegalArgumentException) ;
106
107	//-------------------------------------------------------------------------
108
109    /**
110      creates an update handler for the owner entity
111      layer for a component.
112
113      @param aComponent
114                component whose data will be updated
115
116      @returns
117                an object allowing manipulation of the
118                component data for the current entity
119
120      @throws   com::sun::star::lang::IllegalArgumentException
121                if the component identifier is invalid
122
123      @throws   com::sun::star::lang::NoSupportException
124                if updates are not supported for this backend
125
126      @throws   com::sun::star::configuration::backend::BackendAccessException
127                if an error occurs while accessing the data.
128
129      @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity()
130	*/
131    XUpdateHandler getOwnUpdateHandler([in] string aComponent)
132        raises (BackendAccessException,
133                com::sun::star::lang::NoSupportException,
134                com::sun::star::lang::IllegalArgumentException) ;
135
136	//-------------------------------------------------------------------------
137
138    /**
139      retrieves the layers associated to an entity for a component.
140
141      @param aComponent
142                component whose data will be accessed
143
144      @param aEntity
145                entity whose data will be accessed
146
147      @returns
148                a list of objects allowing access to the
149                component data for each layer associated
150                with the entity.
151
152      @throws   com::sun::star::lang::IllegalArgumentException
153                if the component identifier is invalid
154                or if the entity doesn't exist.
155
156      @throws   com::sun::star::configuration::backend::BackendAccessException
157                if an error occurs while accessing the data.
158
159      @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
160	*/
161    sequence<XLayer> listLayers([in] string aComponent,
162                                [in] string aEntity)
163        raises (BackendAccessException,
164                com::sun::star::lang::IllegalArgumentException) ;
165
166	//-------------------------------------------------------------------------
167
168    /**
169      creates an update handler on an entity's layer for a component.
170
171      @param aComponent
172                component whose data will be updated
173
174      @param aEntity
175                entity whose data will be updated
176
177      @returns
178                an object allowing manipulation of the
179                component data for the entity
180
181      @throws   com::sun::star::lang::IllegalArgumentException
182                if the component identifier is invalid
183                or if the entity doesn't exist.
184
185      @throws   com::sun::star::lang::NoSupportException
186                if updates are not supported for this backend
187
188      @throws   com::sun::star::configuration::backend::BackendAccessException
189                if an error occurs while accessing the data.
190
191      @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity()
192	*/
193    XUpdateHandler getUpdateHandler([in] string aComponent,
194                                    [in] string aEntity)
195        raises (BackendAccessException,
196                com::sun::star::lang::NoSupportException,
197                com::sun::star::lang::IllegalArgumentException) ;
198
199	//-------------------------------------------------------------------------
200} ;
201
202//=============================================================================
203
204} ; } ; } ; } ; } ;
205
206#endif
207