ccc4a67c43
Change-Id: Ic507170e94d08155430601658689b3d7b96e0f80
137 lines
4.5 KiB
Text
137 lines
4.5 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
#ifndef __com_sun_star_registry_DefaultRegistry_idl__
|
|
#define __com_sun_star_registry_DefaultRegistry_idl__
|
|
|
|
#include <com/sun/star/registry/XSimpleRegistry.idl>
|
|
|
|
|
|
|
|
module com { module sun { module star { module registry {
|
|
|
|
/** 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 XSimpleRegistry are not supported and throw an exception
|
|
if they are used.
|
|
|
|
Functions of XSimpleRegistry:
|
|
<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>
|
|
|
|
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>
|
|
<b>Note: all write functions only work on the local registry.</b>
|
|
</dt>
|
|
</dl>
|
|
|
|
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>
|
|
<ol>
|
|
<li> 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".
|
|
</li>
|
|
<li> 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".
|
|
</li>
|
|
<li> 3. If not found, a new user registry with name user.rdb will be created in the user
|
|
config directory.
|
|
</li>
|
|
</ol>
|
|
</dd>
|
|
</dl>
|
|
<h4>Guarantees:</h4>
|
|
|
|
<ul>
|
|
<li>-thread safe</li>
|
|
</ul>
|
|
*/
|
|
published service DefaultRegistry
|
|
{
|
|
interface com::sun::star::registry::XSimpleRegistry;
|
|
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|