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
28#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
29#define __com_sun_star_ui_XUIConfigurationStorage_idl__
30
31#ifndef __com_sun_star_embed_XStorage_idl__
32#include <com/sun/star/embed/XStorage.idl>
33#endif
34
35//=============================================================================
36
37module com { module sun { module star { module ui {
38
39//=============================================================================
40
41/** supplies functions to change or get information about the storage
42    of a user interface configuration manager.
43
44    @since OOo 2.0
45*/
46
47interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface
48{
49    /** connects a storage to the user interface configuration manager
50        which is used on subsequent calls of <member>load</member> and
51        <member>store</member>.
52
53        @param Storage
54            all configuration data is loaded/stored from/into this storage.
55            If the storage is in read/write mode <member>load</member>
56            and <member>store</member> can be used otherwise only
57            <member>load</member> is possible.
58
59        <p>
60        This call needs careful usage as data loss can occur. If the
61        implementation has modified data and a new storage is set the
62        implementation is not allowed to write back the data to the old
63        storage. This must be done explicitly with <member>store</member>.
64        In general a user interface configuration manager instance is
65        created and initialize by the document model or the module user
66        interface configuration supplier. Normally there is no need to
67        set a storage for a user interface configuration manager. If a
68        copy of the configuration data to another storage should be made,
69        use <member>storeToStorage</member>.
70        </p>
71    */
72    void setStorage( [in] ::com::sun::star::embed::XStorage Storage );
73
74    /** checks if an instance has already a storage to load/store its data.
75
76        @return
77            <TRUE/> if the instance has a storage otherwise <FALSE/>.
78    */
79    boolean hasStorage();
80};
81
82//=============================================================================
83
84}; }; }; };
85
86#endif
87