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