merge the formfield patch from ooo-build
[ooovba.git] / offapi / com / sun / star / configuration / ConfigurationRegistry.idl
blob0050efbe8deb430aa7962ca67882aff62582e760
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ConfigurationRegistry.idl,v $
10 * $Revision: 1.12 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_configuration_ConfigurationRegistry_idl__
31 #define __com_sun_star_configuration_ConfigurationRegistry_idl__
33 //=============================================================================
35 #ifndef __com_sun_star_registry_XSimpleRegistry_idl__
36 #include <com/sun/star/registry/XSimpleRegistry.idl>
37 #endif
38 #ifndef __com_sun_star_util_XFlushable_idl__
39 #include <com/sun/star/util/XFlushable.idl>
40 #endif
42 module com { module sun { module star { module configuration {
44 //=============================================================================
47 /* provides access to a configuration tree as a registry.
49 <p> Using the <type scope="com::sun::star::registry">XSimpleRegistry</type>
50 interface, the service can be bound to a subtree within the
51 configuration tree, as provided by an
52 <type scope="com.sun.star.configuration">ConfigurationProvider</type>
53 service, which must be accessible from the service factory you use for the
54 creation of this service.
55 </p>
56 <p> There are some restrictions when accessing a configuration tree using a registry.
57 Most of them are implications of the fact that a configuration tree is very static in
58 it's structure. Removal and addition of sub nodes is allowed only for special
59 nodes, and even then the new elements have to comply to a given scheme (which is some
60 kind of attribute of the container node). So for instance the
61 <member scope="com.sun.star.registry">XRegistryKey::createKey()</member> method is not allowed
62 for some nodes.
63 </p><p>
64 Thus anybody using this service is strongly advised to read and understand the specification
65 of an configuration provider (<type scope="com.sun.star.configuration">ConfigurationProvider</type>)
66 and all of it's aspects.
67 </p>
69 @author Frank Schoenheit
70 @version 1.0 2000/07/06
73 published service ConfigurationRegistry
75 /** controls the binding of the object to a configuration sub tree.
76 <p><member scope="com::sun::star::registry">XSimpleRegistry::open()</member>
77 is used to open a special subtree within the configuration tree.
78 </p>
79 <p>The parameters of this method control the location of the root of the to-be-opened
80 configuration node and the access mode (read only or updatable).
81 </p>
83 interface com::sun::star::registry::XSimpleRegistry;
85 /** is used to commit changes to the configuration.
86 <p>As specified for the
87 <type scope="com::sun::star::configuration">ConfigurationUpdateAccess</type>
88 service, all changes made to an configuration subtree have to be commited
89 before they become persistent.
90 To do this for a configuration accessed as a registry, call
91 <method scope="com::sun::star::util">XFlushable::flush</method>.
92 </p>
93 <p><strong>Warning:</strong><em>Changes that are not flushed will be
94 lost.</em>
95 </p>
97 interface com::sun::star::util::XFlushable;
101 //=============================================================================
103 }; }; }; };
106 #endif