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
24#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
25#define __com_sun_star_configuration_backend_XUpdatableLayer_idl__
26
27#ifndef __com_sun_star_configuration_backend_XLayer_idl__
28#include <com/sun/star/configuration/backend/XLayer.idl>
29#endif
30
31#ifndef __com_sun_star_lang_NullPointerException_idl__
32#include <com/sun/star/lang/NullPointerException.idl>
33#endif
34
35#ifndef __com_sun_star_lang_WrappedTargetException_idl__
36#include <com/sun/star/lang/WrappedTargetException.idl>
37#endif
38
39#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
40#include <com/sun/star/configuration/backend/MalformedDataException.idl>
41#endif
42
43//==============================================================================
44
45module com { module sun { module star { module configuration { module backend {
46
47//==============================================================================
48
49/**
50  Provides access to a read-write layer of configuration data for
51  a given component and entity.
52
53    @since OpenOffice 1.1.2
54  */
55published interface XUpdatableLayer : XLayer
56{
57    //--------------------------------------------------------------------------
58
59	/**
60	   Replaces the current layer with the layer given as input
61	   parameter.
62
63       <p> After the replacement has been performed, reading the
64           layer will return the new content. Some implementations
65           may not support this, so after an update
66           <member>XLayer::readData()</member> may fail.
67        </p>
68
69       @param aNewLayer
70               replacement layer
71
72       @throws com::sun::star::lang::NullPointerException
73               if a <NULL/> handler is passed.
74       @throws com::sun::star::lang::WrappedTargetException
75               if an error occurs during the replacement.
76       @throws com::sun::star::configuration::backend::MalformedDataException
77               if the layer contains invalid data.
78	 */
79	void replaceWith([in] XLayer aNewLayer)
80        raises (com::sun::star::lang::NullPointerException,
81                com::sun::star::lang::WrappedTargetException,
82                MalformedDataException) ;
83
84    //--------------------------------------------------------------------------
85} ;
86
87} ; } ; } ; } ; } ;
88#endif
89