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