70a71af023
2008/03/31 16:17:51 rt 1.11.92.1: #i87441# Change license header to LPGL v3.
166 lines
5.4 KiB
Text
166 lines
5.4 KiB
Text
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: DefaultRegistry.idl,v $
|
|
* $Revision: 1.12 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
#ifndef __com_sun_star_registry_DefaultRegistry_idl__
|
|
#define __com_sun_star_registry_DefaultRegistry_idl__
|
|
|
|
#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
|
|
#include <com/sun/star/registry/XSimpleRegistry.idl>
|
|
#endif
|
|
|
|
|
|
//=============================================================================
|
|
|
|
module com { module sun { module star { module registry {
|
|
|
|
//=============================================================================
|
|
|
|
// DocMerge from xml: service com::sun::star::registry::DefaultRegistry
|
|
/** implicitly supports a local registry and a read-only
|
|
system registry for global information.
|
|
In the context of this service,
|
|
the functions <code>open</code>, <code>close</code>, and <code>destroy</code>
|
|
from <type>XSimpleRegistry</type> are not supported and throw an exception
|
|
if they are used.
|
|
<dl>
|
|
<dt>Functions of <type>XSimpleRegistry</type>:
|
|
<dl>
|
|
<dt> <b>getURL</b>
|
|
</dt>
|
|
<dd> returns the name of the local registry.
|
|
</dd>
|
|
<dt> <b>isValid</b>
|
|
</dt>
|
|
<dd> checks if the local registry is valid. If the interface is not <NULL/>
|
|
the local registry should always be valid.
|
|
</dd>
|
|
<dt> <b>isReadOnly</b> </dt>
|
|
<dd> checks if the local registry has write protection.
|
|
</dd>
|
|
<dt> <b>mergeKey</b>
|
|
</dt>
|
|
<dd> merges all information from the specified registry in the local registry.
|
|
</dd>
|
|
<dt> <b>getRootKey</b>
|
|
</dt>
|
|
<dd> returns a virtual rootkey of both registries.
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
</dt>
|
|
<dt>Functions of XRegistryKey:
|
|
<dl>
|
|
<dt> <b>openKey</b>
|
|
</dt>
|
|
<dd> returns a virtual key which is specified in the local or the sytem
|
|
registry.
|
|
</dd>
|
|
<dt> <b>deleteKey</b>
|
|
</dt>
|
|
<dd> deletes the key only if it is present in the local registry.
|
|
</dd>
|
|
<dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b>
|
|
</dt>
|
|
<dd> sets the value at the specified key in the local registry.
|
|
</dd>
|
|
<dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b>
|
|
</dt>
|
|
<dd> returns the value at the specified key in the local registry, or if
|
|
the value is not present in the local registry, it will return the value of the
|
|
system registry.
|
|
</dd>
|
|
<dt> <b>openKeys</b>
|
|
</dt>
|
|
<dd> returns a sequence of all subkeys in both registries.
|
|
</dd>
|
|
<dt> <b>getKeyNames</b>
|
|
</dt>
|
|
<dd> returns a sequence with the names of all subkeys in both registries.
|
|
</dd>
|
|
<dt>
|
|
<br>
|
|
<b>Note: all write functions only work on the local registry.</b>
|
|
</dt>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
</dt>
|
|
<dt>How to find the registries:
|
|
<dl>
|
|
<dt> search for the system registry:
|
|
</dt>
|
|
<dd> The system registry will always be searched in the same directory as the
|
|
executable. The name of the system registry is "applicat.rdb". If the system
|
|
registry was not found, then the environment variable STAR_REGISTRY will be checked.
|
|
If this variable was set, it must contain a full path to a valid system registry.
|
|
</dd>
|
|
<dt> Search for the user registry using the following rules:
|
|
</dt>
|
|
<dd>
|
|
<dl>
|
|
<dt> 1. (for further use) search in sversion.ini (.sversionrc) for an entry
|
|
REGISTRY_VERSION_STRING (example: UserRegistry 5.0/505=test.rdb) in the section
|
|
[Registry]. If found, then take this value instead of "user.rdb" as "REGISTRY NAME".
|
|
</dt>
|
|
<dt> 2. Search in the config directory of the user for a file "REGISTRY NAME". If
|
|
found, return the full path and name of the file. If not found, retry this
|
|
step with a dot before "REGISTRY NAME".
|
|
</dt>
|
|
<dt> 3. If not found, a new user registry with name user.rdb will be created in the user
|
|
config directory.
|
|
</dt>
|
|
</dl>
|
|
</dd>
|
|
</dl>
|
|
</dt>
|
|
</dl>
|
|
<h4>Guarantees:</h4>
|
|
|
|
<ul>
|
|
<li>-thread safe</li>
|
|
</ul>
|
|
*/
|
|
published service DefaultRegistry
|
|
{
|
|
// DocMerge: empty anyway
|
|
interface com::sun::star::registry::XSimpleRegistry;
|
|
|
|
};
|
|
|
|
//=============================================================================
|
|
|
|
}; }; }; };
|
|
|
|
/*=============================================================================
|
|
|
|
=============================================================================*/
|
|
#endif
|