1d1766043SAndrew Rist/************************************************************** 2d1766043SAndrew Rist * 3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5d1766043SAndrew Rist * distributed with this work for additional information 6d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10d1766043SAndrew Rist * 11d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12d1766043SAndrew Rist * 13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14d1766043SAndrew Rist * software distributed under the License is distributed on an 15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17d1766043SAndrew Rist * specific language governing permissions and limitations 18d1766043SAndrew Rist * under the License. 19d1766043SAndrew Rist * 20d1766043SAndrew Rist *************************************************************/ 21d1766043SAndrew Rist 22d1766043SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__ 25cdf0e10cSrcweir#define __com_sun_star_ui_XUIConfigurationPersistence_idl__ 26cdf0e10cSrcweir 27cdf0e10cSrcweir#ifndef __com_sun_star_embed_XStorage_idl__ 28cdf0e10cSrcweir#include <com/sun/star/embed/XStorage.idl> 29cdf0e10cSrcweir#endif 30cdf0e10cSrcweir 31cdf0e10cSrcweirmodule com { module sun { module star { module ui { 32cdf0e10cSrcweir 33cdf0e10cSrcweir/** specifies a persistence interface which supports to load/store user 34cdf0e10cSrcweir interface configuration data to a storage and to retrieve information 35cdf0e10cSrcweir about the current state. 36cdf0e10cSrcweir 37*f431c806SJürgen Schmidt @since OpenOffice 2.0 38cdf0e10cSrcweir*/ 39cdf0e10cSrcweir 40cdf0e10cSrcweirpublished interface XUIConfigurationPersistence : ::com::sun::star::uno::XInterface 41cdf0e10cSrcweir{ 42cdf0e10cSrcweir /** reloads the configuration data from the storage and reinitialize 43cdf0e10cSrcweir the user interface configuration manager instance with this data. 44cdf0e10cSrcweir 45cdf0e10cSrcweir <p> 46cdf0e10cSrcweir It is up to the implementation if it defers the first loading process 47cdf0e10cSrcweir until the first data request using <type>XUIConfigurationManager</type> 48cdf0e10cSrcweir interface. 49cdf0e10cSrcweir </p> 50cdf0e10cSrcweir */ 51cdf0e10cSrcweir void reload() raises ( ::com::sun::star::uno::Exception ); 52cdf0e10cSrcweir 53cdf0e10cSrcweir /** stores the configuration data to the storage provided by 54cdf0e10cSrcweir <member>setStorage</member> from the storage and initialize the 55cdf0e10cSrcweir user interface configuration manager instance with the newly 56cdf0e10cSrcweir data. This call can throw an 57cdf0e10cSrcweir <type scope="com::sun::star::io">IOException</type> if 58cdf0e10cSrcweir <member>store</member> cannot store its data into the internal 59cdf0e10cSrcweir storage. 60cdf0e10cSrcweir */ 61cdf0e10cSrcweir void store() raises ( ::com::sun::star::uno::Exception ); 62cdf0e10cSrcweir 63cdf0e10cSrcweir /** stores the configuration data to the provided storage, ignoring 64cdf0e10cSrcweir the previously set storage by <member>setStorage</member>. Can 65cdf0e10cSrcweir be used to make copy of the current user interface configuration 66cdf0e10cSrcweir data to another storage. This call will throw an 67cdf0e10cSrcweir <type scope="com::sun::star::io">IOException</type> if the provided 68cdf0e10cSrcweir storage is in read-only mode. 69cdf0e10cSrcweir 70cdf0e10cSrcweir @param Storage 71cdf0e10cSrcweir all configuration data will be stored to this storage. 72cdf0e10cSrcweir */ 73cdf0e10cSrcweir void storeToStorage( [in] ::com::sun::star::embed::XStorage Storage ) raises ( ::com::sun::star::uno::Exception ); 74cdf0e10cSrcweir 75cdf0e10cSrcweir /** provides the current modify state of the configuration manager 76cdf0e10cSrcweir instance. 77cdf0e10cSrcweir 78cdf0e10cSrcweir @return 79cdf0e10cSrcweir <TRUE/> if the configuration manager has changed since the 80cdf0e10cSrcweir last <member>store</member> call. <FALSE/> if the configuration 81cdf0e10cSrcweir manager has not been changed. 82cdf0e10cSrcweir */ 83cdf0e10cSrcweir boolean isModified(); 84cdf0e10cSrcweir 85cdf0e10cSrcweir /** provides the current read-only state of the user configuration 86cdf0e10cSrcweir manager. Storing a user interface configuration to a read-only storage 87cdf0e10cSrcweir is not possible. A read-only configuration manager instance will also 88cdf0e10cSrcweir not support any changes to its configuration settings. 89cdf0e10cSrcweir 90cdf0e10cSrcweir @return 91cdf0e10cSrcweir <TRUE/> if the configuration manager storage is read-only otherwise 92cdf0e10cSrcweir <FALSE/>. 93cdf0e10cSrcweir */ 94cdf0e10cSrcweir boolean isReadOnly(); 95cdf0e10cSrcweir}; 96cdf0e10cSrcweir 97cdf0e10cSrcweir//============================================================================= 98cdf0e10cSrcweir 99cdf0e10cSrcweir}; }; }; }; 100cdf0e10cSrcweir 101cdf0e10cSrcweir#endif 102