summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/registry/NestedRegistry.idl
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/registry/NestedRegistry.idl')
-rw-r--r--udkapi/com/sun/star/registry/NestedRegistry.idl134
1 files changed, 134 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/registry/NestedRegistry.idl b/udkapi/com/sun/star/registry/NestedRegistry.idl
new file mode 100644
index 000000000..f8a8f0f03
--- /dev/null
+++ b/udkapi/com/sun/star/registry/NestedRegistry.idl
@@ -0,0 +1,134 @@
+/* -*- 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_NestedRegistry_idl__
+#define __com_sun_star_registry_NestedRegistry_idl__
+
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+
+ module com { module sun { module star { module registry {
+
+/** supports a shared view on two different registries. The registry
+ files will be opened in two different modes, registry1 will be opened with read/write
+ rights and registry2 will be opened read-only.
+ 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 registry1.
+
+ </dd>
+ <dt> <b>isValid</b>
+ </dt>
+ <dd> checks if registry1 is valid. If the interface is not `NULL`
+ then registry1 should always be valid.
+
+ </dd>
+ <dt> <b>isReadOnly</b>
+ </dt>
+ <dd> checks if registry1 has write protection.
+ </dd>
+ <dt> <b>mergeKey</b>
+ </dt>
+ <dd> merges all information from the specified registry in registry1.
+
+ </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 registry1 or registry2.
+
+ </dd>
+ <dt> <b>deleteKey</b>
+ </dt>
+ <dd> deletes the key only if it is present in registry1.
+
+ </dd>
+ <dt> <b>setLongValue, setAsciiValue, setStringValue, setBinaryValue</b>
+ </dt>
+ <dd> sets the value at the specified key in registry1.
+
+ </dd>
+ <dt> <b>getLongValue, getAsciiValue, getStringValue, getBinaryValue</b>
+ </dt>
+ <dd> returns the value at the specified key in registry1, or if
+ the value is not present in registry1, it will return the value of registry2.
+
+ </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 registry1.</b>
+ </dt>
+ </dl>
+
+ How to initialize the registries:<br>
+ Use a sequence of XSimpleRegistry with two elements. The first element must be
+ the registry which is opened with read/write rights and the second element must be
+ the read-only one.<br>
+ Two different ways are possible:<br>
+ <ul>
+ <li> use com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() to
+ create an instance of this service where the value of the any parameter must be the sequence with
+ the two open registries.
+ <li> use the initialize function of the com::sun::star::lang::XInitialization interface where the value of the
+ any parameter must be the sequence with the two open registries.
+ </ul>
+ <br>
+
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service NestedRegistry
+{
+ interface com::sun::star::registry::XSimpleRegistry;
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */