1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_registry_XSimpleRegistry_idl__
20 #define __com_sun_star_registry_XSimpleRegistry_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
23 #include
<com
/sun
/star
/registry
/InvalidRegistryException.idl
>
24 #include
<com
/sun
/star
/registry
/XRegistryKey.idl
>
25 #include
<com
/sun
/star
/registry
/MergeConflictException.idl
>
29 module com
{ module sun
{ module star
{ module registry
{
31 /** allows access to a registry (a persistent data source).
32 The data is stored in a hierarchical key structure beginning with a root key.
33 Each key can store a value and can have multiple subkeys.
37 published
interface XSimpleRegistry
: com
::sun
::star
::uno
::XInterface
39 /** returns the URL of the current data source of the registry.
43 /** connects the registry to a persistent data source represented by
46 <p>If a local registry is already open, this function
47 will close the currently open registry.
50 specifies the complete URL to access the data source.
53 specifies if the data source should be opened for
57 specifies if the data source should be created if it
58 does not already exist.
60 @throws InvalidRegistryException
61 if the registry does not exist.
63 void open
( [in] string rURL
,
64 [in] boolean bReadOnly
,
65 [in] boolean bCreate
)
66 raises
( com
::sun
::star
::registry
::InvalidRegistryException
);
68 /** checks if the registry points to a valid data-source.
72 /** disconnects the registry from the data-source.
74 @throws InvalidRegistryException
75 if the registry is not open.
78 raises
( com
::sun
::star
::registry
::InvalidRegistryException
);
80 /** destroys the registry and the data source.
82 @throws InvalidRegistryException
83 if the registry is not open.
86 raises
( com
::sun
::star
::registry
::InvalidRegistryException
);
89 the root key of the registry.
91 @throws InvalidRegistryException
92 if no registry is open
94 com
::sun
::star
::registry
::XRegistryKey getRootKey
()
95 raises
( com
::sun
::star
::registry
::InvalidRegistryException
);
97 /** checks if the registry is readonly.
99 @throws InvalidRegistryException
100 if the registry is not open.
103 raises
( com
::sun
::star
::registry
::InvalidRegistryException
);
105 /** DEPRECATED: this method lacks a registry key (better than a URL).
107 merges a registry under the specified key.
109 <p>If the key does not exist it will be created. Existing
110 keys will be overridden from keys of registry specified by
113 @throws InvalidRegistryException
114 if the registry is not open.
116 @throws MergeConflictException
117 if any differences occur during merging
119 void mergeKey
( [in] string aKeyName
,
121 raises
( com
::sun
::star
::registry
::InvalidRegistryException
,
122 com
::sun
::star
::registry
::MergeConflictException
);
131 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */