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_ConfigurationRegistry_idl__ 28#define __com_sun_star_configuration_ConfigurationRegistry_idl__ 29 30//============================================================================= 31 32#ifndef __com_sun_star_registry_XSimpleRegistry_idl__ 33#include <com/sun/star/registry/XSimpleRegistry.idl> 34#endif 35#ifndef __com_sun_star_util_XFlushable_idl__ 36#include <com/sun/star/util/XFlushable.idl> 37#endif 38 39module com { module sun { module star { module configuration { 40 41//============================================================================= 42 43 44/* provides access to a configuration tree as a registry. 45 46 <p>This service is deprecated, 47 <type scope="com.sun.star.configuration">ConfigurationProvider</type> should 48 be used instead.</p> 49 50 <p> Using the <type scope="com::sun::star::registry">XSimpleRegistry</type> 51 interface, the service can be bound to a subtree within the 52 configuration tree, as provided by an 53 <type scope="com.sun.star.configuration">ConfigurationProvider</type> 54 service, which must be accessible from the service factory you use for the 55 creation of this service. 56 </p> 57 <p> There are some restrictions when accessing a configuration tree using a registry. 58 Most of them are implications of the fact that a configuration tree is very static in 59 it's structure. Removal and addition of sub nodes is allowed only for special 60 nodes, and even then the new elements have to comply to a given scheme (which is some 61 kind of attribute of the container node). So for instance the 62 <member scope="com.sun.star.registry">XRegistryKey::createKey()</member> method is not allowed 63 for some nodes. 64 </p><p> 65 Thus anybody using this service is strongly advised to read and understand the specification 66 of an configuration provider (<type scope="com.sun.star.configuration">ConfigurationProvider</type>) 67 and all of it's aspects. 68 </p> 69 70 @author Frank Schoenheit 71 @version 1.0 2000/07/06 72*/ 73 74published service ConfigurationRegistry 75{ 76 /** controls the binding of the object to a configuration sub tree. 77 <p><member scope="com::sun::star::registry">XSimpleRegistry::open()</member> 78 is used to open a special subtree within the configuration tree. 79 </p> 80 <p>The parameters of this method control the location of the root of the to-be-opened 81 configuration node and the access mode (read only or updatable). 82 </p> 83 */ 84 interface com::sun::star::registry::XSimpleRegistry; 85 86 /** is used to commit changes to the configuration. 87 <p>As specified for the 88 <type scope="com::sun::star::configuration">ConfigurationUpdateAccess</type> 89 service, all changes made to an configuration subtree have to be commited 90 before they become persistent. 91 To do this for a configuration accessed as a registry, call 92 <method scope="com::sun::star::util">XFlushable::flush</method>. 93 </p> 94 <p><strong>Warning:</strong><em>Changes that are not flushed will be 95 lost.</em> 96 </p> 97 */ 98 interface com::sun::star::util::XFlushable; 99}; 100 101 102//============================================================================= 103 104}; }; }; }; 105 106 107#endif 108 109