summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/registry
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/registry')
-rw-r--r--udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl64
-rw-r--r--udkapi/com/sun/star/registry/DefaultRegistry.idl163
-rw-r--r--udkapi/com/sun/star/registry/ImplementationRegistration.idl66
-rw-r--r--udkapi/com/sun/star/registry/InvalidRegistryException.idl56
-rw-r--r--udkapi/com/sun/star/registry/InvalidValueException.idl56
-rw-r--r--udkapi/com/sun/star/registry/MergeConflictException.idl56
-rw-r--r--udkapi/com/sun/star/registry/NestedRegistry.idl161
-rw-r--r--udkapi/com/sun/star/registry/RegistryKeyType.idl66
-rw-r--r--udkapi/com/sun/star/registry/RegistryValueType.idl119
-rw-r--r--udkapi/com/sun/star/registry/SimpleRegistry.idl64
-rw-r--r--udkapi/com/sun/star/registry/XImplementationRegistration.idl128
-rw-r--r--udkapi/com/sun/star/registry/XImplementationRegistration2.idl74
-rw-r--r--udkapi/com/sun/star/registry/XRegistryKey.idl466
-rw-r--r--udkapi/com/sun/star/registry/XSimpleRegistry.idl159
-rw-r--r--udkapi/com/sun/star/registry/makefile.mk59
15 files changed, 1757 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl
new file mode 100644
index 000000000000..bcdea4f072b9
--- /dev/null
+++ b/udkapi/com/sun/star/registry/CannotRegisterImplementationException.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_CannotRegisterImplementationException_idl__
+#define __com_sun_star_registry_CannotRegisterImplementationException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::CannotRegisterImplementationException
+/** is thrown when an application tries to register a new component (implementation) using the
+ <member>XImplementationRegistration::registerImplementation()</member>
+ method, but the component cannot be registered. The reason for this exception could be:<br>
+ <br><ul>
+ <li>the component cannot be found or cannot be loaded (missing path or classpath)
+ <li>the component doesn't provide the necessary specifactions (exported registration functions for a
+ C++ component (shared library) or a named registration class with the appropriate methods for
+ a Java component (normally a jar file)).
+ </ul><br>
+
+ */
+published exception CannotRegisterImplementationException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/DefaultRegistry.idl b/udkapi/com/sun/star/registry/DefaultRegistry.idl
new file mode 100644
index 000000000000..4de5566cf0f1
--- /dev/null
+++ b/udkapi/com/sun/star/registry/DefaultRegistry.idl
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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
diff --git a/udkapi/com/sun/star/registry/ImplementationRegistration.idl b/udkapi/com/sun/star/registry/ImplementationRegistration.idl
new file mode 100644
index 000000000000..5e2dd27408b3
--- /dev/null
+++ b/udkapi/com/sun/star/registry/ImplementationRegistration.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_ImplementationRegistration_idl__
+#define __com_sun_star_registry_ImplementationRegistration_idl__
+
+#ifndef __com_sun_star_registry_XImplementationRegistration_idl__
+#include <com/sun/star/registry/XImplementationRegistration.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::ImplementationRegistration
+/** is the implementation of the interface <type>XImplementationRegistration</type>.
+ This service can be used to install or uninstall components (implementations).
+ Further, it is possible to check if all runtime dependencies (needed services) are
+ available to use a specified component.
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service ImplementationRegistration
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XImplementationRegistration;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/InvalidRegistryException.idl b/udkapi/com/sun/star/registry/InvalidRegistryException.idl
new file mode 100644
index 000000000000..b9a3a1ef9aab
--- /dev/null
+++ b/udkapi/com/sun/star/registry/InvalidRegistryException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_InvalidRegistryException_idl__
+#define __com_sun_star_registry_InvalidRegistryException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::InvalidRegistryException
+/** signals that the registry is invalid or an operation on the registry
+ failed.
+ */
+published exception InvalidRegistryException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/InvalidValueException.idl b/udkapi/com/sun/star/registry/InvalidValueException.idl
new file mode 100644
index 000000000000..013fca9d8b49
--- /dev/null
+++ b/udkapi/com/sun/star/registry/InvalidValueException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_InvalidValueException_idl__
+#define __com_sun_star_registry_InvalidValueException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::InvalidValueException
+/** signals that the value of the key is invalid or does not have the
+ appropriate key type.
+ */
+published exception InvalidValueException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/MergeConflictException.idl b/udkapi/com/sun/star/registry/MergeConflictException.idl
new file mode 100644
index 000000000000..67973f693af2
--- /dev/null
+++ b/udkapi/com/sun/star/registry/MergeConflictException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_MergeConflictException_idl__
+#define __com_sun_star_registry_MergeConflictException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::registry::MergeConflictException
+/** is thrown if entries of two registries are contradictory in the context of
+ <member>XSimpleRegistry::mergeKey()e</member> method.
+ */
+published exception MergeConflictException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/NestedRegistry.idl b/udkapi/com/sun/star/registry/NestedRegistry.idl
new file mode 100644
index 000000000000..e10f9e7c8dc2
--- /dev/null
+++ b/udkapi/com/sun/star/registry/NestedRegistry.idl
@@ -0,0 +1,161 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::registry::NestedRegistry
+/** 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 <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 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>
+
+ <br>
+
+ </dt>
+ <dt>Functions of <type>XRegistryKey</type>:
+ <dl>
+ <dt> <b>openKey</b>
+ </dt>
+ <dd> returns a virtual key which is specified in registy1 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>
+ <br>
+ <b>Note: all write functions only work on registry1.</b>
+ </dt>
+ </dl>
+ </dt>
+ </dl>
+ <br>
+ How to initialize the registries:<br>
+ Use a sequence of <type>XSimpleRegistry</type> 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 <method scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</method> 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 <type scope="com::sun::star::lang">XInitialization</type> 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
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XSimpleRegistry;
+
+ // DocMerge: empty anyway
+ interface com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/RegistryKeyType.idl b/udkapi/com/sun/star/registry/RegistryKeyType.idl
new file mode 100644
index 000000000000..b753b8abe327
--- /dev/null
+++ b/udkapi/com/sun/star/registry/RegistryKeyType.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_RegistryKeyType_idl__
+#define __com_sun_star_registry_RegistryKeyType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::registry::RegistryKeyType
+/** represents all possible types of a key.
+
+ <p>A key can be a normal key with a value and subkeys, or it can be a
+ link which references another key.</p>
+ */
+published enum RegistryKeyType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryKeyType:: KEY,
+
+ // DocMerge: empty anyway
+ KEY,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryKeyType:: LINK
+
+ // DocMerge: empty anyway
+ LINK
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/RegistryValueType.idl b/udkapi/com/sun/star/registry/RegistryValueType.idl
new file mode 100644
index 000000000000..9d98fee12da9
--- /dev/null
+++ b/udkapi/com/sun/star/registry/RegistryValueType.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_RegistryValueType_idl__
+#define __com_sun_star_registry_RegistryValueType_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: enum com::sun::star::registry::RegistryValueType
+/** represents all possible types of a key value.
+
+ <p>An ASCII value and a string value will both be handled with type
+ string. But interns will be handled differently. Normally the idl
+ string represents a unicode string. </p>
+ */
+published enum RegistryValueType
+{
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: NOT_DEFINED,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::NOT_DEFINED
+ /** the type of the key is not defined.
+ */
+ NOT_DEFINED,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: LONG,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONG
+ /** the type of the key is long.
+ */
+ LONG,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCII,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCII
+ /** the type of the key is ASCII.
+ */
+ ASCII,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: STRING,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRING
+ /** the type of the key is a string.
+ */
+ STRING,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: BINARY,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::BINARY
+ /** the type of the key is binary.
+ */
+ BINARY,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: LONGLIST,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::LONGLIST
+ /** the type of the key is LONGLIST.
+ */
+ LONGLIST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: ASCIILIST,
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::ASCIILIST
+ /** the type of the key is a ASCIILIST.
+ */
+ ASCIILIST,
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION OMITTED FOR RegistryValueType:: STRINGLIST
+
+ // DocMerge from xml: value com::sun::star::registry::RegistryValueType::STRINGLIST
+ /** the type of the key is a STRINGLIST.
+ */
+ STRINGLIST
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/SimpleRegistry.idl b/udkapi/com/sun/star/registry/SimpleRegistry.idl
new file mode 100644
index 000000000000..122b707cd3bb
--- /dev/null
+++ b/udkapi/com/sun/star/registry/SimpleRegistry.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_SimpleRegistry_idl__
+#define __com_sun_star_registry_SimpleRegistry_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::SimpleRegistry
+/** makes it possible to create, open, or close a registry. Further, it is
+ possible to merge a registry under a specified key in the open registry.
+
+ Guarantees:
+ <ul>
+ <li>-thread safe</li>
+ </ul>
+ */
+published service SimpleRegistry
+{
+ // DocMerge: empty anyway
+ interface com::sun::star::registry::XSimpleRegistry;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration.idl b/udkapi/com/sun/star/registry/XImplementationRegistration.idl
new file mode 100644
index 000000000000..50ea2f8fd966
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XImplementationRegistration.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_XImplementationRegistration_idl__
+#define __com_sun_star_registry_XImplementationRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XSimpleRegistry_idl__
+#include <com/sun/star/registry/XSimpleRegistry.idl>
+#endif
+
+#ifndef __com_sun_star_registry_CannotRegisterImplementationException_idl__
+#include <com/sun/star/registry/CannotRegisterImplementationException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+// DocMerge from xml: interface com::sun::star::registry::XImplementationRegistration
+/** offers a registry for implementation objects and provides information
+ about the registered implementations.
+ */
+published interface XImplementationRegistration: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::registerImplementation
+ /** registers a component which provides one or more implementations.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be installed
+ in the system registry (if this feature is supported).
+ */
+ void registerImplementation( [in] string aImplementationLoader,
+ [in] string aLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg )
+ raises( com::sun::star::registry::CannotRegisterImplementationException );
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: method com::sun::star::registry::XImplementationRegistration::revokeImplementation
+ /** revokes a component and all their provided implementations from the registry.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be revoked
+ from the system registry (if this feature is supported).
+ */
+ boolean revokeImplementation( [in] string aLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XImplementationRegistration::getImplementations
+
+ // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::getImplementations
+ /** @returns
+ the names of the implementations registered by the url location.
+
+ @param aImplementationLoader
+ specifies the name of the needed loader for this type of implementation. For
+ example, the loader "com.sun.star.loader.SharedLibrary" for implementations
+ that are realized as an SharedLibrary.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+ */
+ sequence<string> getImplementations( [in] string aImplementationLoader,
+ [in] string aLocation );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XImplementationRegistration::checkInstantiation
+
+ // DocMerge from idl: method com::sun::star::registry::XImplementationRegistration::checkInstantiation
+ /** @returns
+ a sequence with names of the missing services to create an instance of this implementation.
+
+ @param implementationName
+ specifies the name of the checked implementation.
+ */
+ sequence<string> checkInstantiation( [in] string implementationName );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XImplementationRegistration2.idl b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl
new file mode 100644
index 000000000000..01c97b8274ab
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XImplementationRegistration2.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_XImplementationRegistration2_idl__
+#define __com_sun_star_registry_XImplementationRegistration2_idl__
+
+#ifndef __com_sun_star_registry_XImplementationRegistration_idl__
+#include <com/sun/star/registry/XImplementationRegistration.idl>
+#endif
+//=============================================================================
+
+ module com { module sun { module star { module registry {
+
+//=============================================================================
+
+/** extends the functionality of <type scope="com::sun::star::registry">XImplementationRegistration</type>. It can be useful to specify a complete Url to a component but register the components name only (library or jar name).
+
+ @since OOo 2.4
+ */
+interface XImplementationRegistration2: com::sun::star::registry::XImplementationRegistration
+{
+ //-------------------------------------------------------------------------
+
+ /** registers a component which provides one or more implementations.
+
+ @param aLocation
+ specifies the location of the component with the URL.
+
+ @param aRegisteredLocation
+ the URL with which the component is actually registered.
+
+ @param xReg
+ specifies the registry where the component should be installed.
+ If it is a NULL interface, then the component will be installed
+ in the system registry (if this feature is supported).
+ */
+ void registerImplementationWithLocation( [in] string aImplementationLoader,
+ [in] string aLocation, [in] string aRegisteredLocation,
+ [in] com::sun::star::registry::XSimpleRegistry xReg )
+ raises( com::sun::star::registry::CannotRegisterImplementationException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+=============================================================================*/
+#endif
diff --git a/udkapi/com/sun/star/registry/XRegistryKey.idl b/udkapi/com/sun/star/registry/XRegistryKey.idl
new file mode 100644
index 000000000000..7920ca6945c0
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XRegistryKey.idl
@@ -0,0 +1,466 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_XRegistryKey_idl__
+#define __com_sun_star_registry_XRegistryKey_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidRegistryException_idl__
+#include <com/sun/star/registry/InvalidRegistryException.idl>
+#endif
+
+#ifndef __com_sun_star_registry_RegistryKeyType_idl__
+#include <com/sun/star/registry/RegistryKeyType.idl>
+#endif
+
+#ifndef __com_sun_star_registry_RegistryValueType_idl__
+#include <com/sun/star/registry/RegistryValueType.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidValueException_idl__
+#include <com/sun/star/registry/InvalidValueException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module registry {
+
+//=============================================================================
+/** makes structural information (except regarding tree structures)
+ of a single registry key accessible.
+
+ <p>This is the main interface for registry keys.<p>
+
+ @see XSimpleRegistry
+*/
+published interface XRegistryKey: com::sun::star::uno::XInterface
+{
+ //---------------------------------------------------------------------
+ /** This is the key of the entry relative to its parent.<p>
+
+ <p>The access path starts with the root "/" and all parent
+ entry names are delimited with slashes "/" too, like in a
+ UNIX (R) file system. Slashes which are part of single names
+ are represented as hexadecimals preceded with a "%" like in
+ URL syntax.
+ */
+ [readonly, attribute] string KeyName;
+
+ //-------------------------------------------------------------------------
+ /** checks if the key can be overwritten.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ boolean isReadOnly()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the key points to an open valid key in the data-source.
+ */
+ boolean isValid();
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the type of the specified key.
+
+ @param rKeyName
+ specifies the relative path from the current key to
+ the key of the type which will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::RegistryKeyType getKeyType( [in] string rKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the type of the key value or NOT_DEFINED if the key has no value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::RegistryValueType getValueType()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ a long value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the value is not of type long.
+ */
+ long getLongValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a long value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setLongValue( [in] long value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getLongListValue
+ /** @returns
+ a sequence of longs if the key contains a long list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type long list.
+ */
+ sequence<long> getLongListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a long list value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setLongListValue( [in] sequence<long> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiValue
+ /** @returns
+ an ascii string value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type ascii.
+ */
+ string getAsciiValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets an ASCII string value to the key.
+
+ <p>The high byte of the string should be NULL. If not, there
+ is no guarantee that the string will be correctly transported.
+ If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setAsciiValue( [in] string value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiListValue
+ /** @returns
+ a sequence of ascii strings if the key contains an asci list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type ascii list.
+ */
+ sequence<string> getAsciiListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets an ASCII string list value to the key.
+
+ <p>The high byte of the string should be NULL. If not, there
+ is no guarantee that the string will be correctly transported.
+ If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setAsciiListValue( [in] sequence<string> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getStringValue
+ /** @returns
+ a unicode string value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type string.
+ */
+ string getStringValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a unicode string value to the key.
+
+ <p> If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setStringValue( [in] string value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getStringListValue
+ /** @returns
+ a sequence of unicode strings if the key contains an unicode string list value.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type string list.
+ */
+ sequence<string> getStringListValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a unicode string value to the key.
+
+ <p>If the key already has a value, the value will be overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setStringListValue( [in] sequence<string> seqValue )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getBinaryValue
+ /** @returns
+ a binary value if the key contains one.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws InvalidValueException
+ if the actual value is not of type binary.
+ */
+ sequence<byte> getBinaryValue()
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::InvalidValueException );
+
+ //-------------------------------------------------------------------------
+ /** sets a binary value to the key.
+
+ <p>If the key already has a value, the value will be
+ overridden.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void setBinaryValue( [in] sequence<byte> value )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** opens a sub key of the key.
+
+ <p>If the sub key does not exist, the function returns a
+ NULL-interface.
+
+ @param aKeyName
+ the relative path from the current key to the key
+ which will be created.
+
+ @returns
+ a NULL interface if the key does not exist.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ com::sun::star::registry::XRegistryKey openKey( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** creates a new key in the registry.<p>
+
+ <p>If the key already exists, the function will open the key.
+
+ @param aKeyName
+ specifies the relative path from the current key to
+ the key which will be created.
+
+ @returns
+ a NULL interface if the key could not be created.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly
+ or if the key exists and is of type LINK.
+ */
+ com::sun::star::registry::XRegistryKey createKey( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** closes a key in the registry.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void closeKey()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** deletes a key from the registry.
+
+ @param aKeyName
+ specifies the relative path from the current key to
+ the key which will be deleted.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly,
+ the key does not exists or if the key is of type LINK.
+ */
+ void deleteKey( [in] string rKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::openKeys
+ /** opens all subkeys of the key. If a subkey is a link, the link will be
+ resolved and the appropriate key will be opened.
+
+ @returns
+ an empty sequence if the key has no subkeys.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ sequence<com::sun::star::registry::XRegistryKey> openKeys()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getKeyNames
+ /** @returns a sequence with the names of all subkeys of the key.
+ If the key has no subkeys, the function returns an empty sequence. If a subkey is
+ a link, the name of the link will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ sequence<string> getKeyNames()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** creates a new link in the registry.
+
+ @returns
+ <TRUE/> if the link was created. If the link already
+ exists or the link target does not exist, the
+ function returns <FALSE/>.
+
+ @param aLinkName
+ specifies the relative path from the current key to
+ the link which will be created.
+
+ @param aLinkTarget
+ specifies the full path of the key which will be
+ referenced by the link.
+
+ @throws InvalidRegistryException
+ if the registry is not open or the registry is
+ readonly.
+
+ */
+ boolean createLink( [in] string aLinkName,
+ [in] string aLinkTarget )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** deletes a link from the registry.
+
+ @param aLinkName
+ specifies the relative path from the current key to
+ the link which will be deleted.
+
+ @throws InvalidRegistryException
+ if the registry is not open, the registry is readonly,
+ or if the link does not exist.
+ */
+ void deleteLink( [in] string rLinkName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getLinkTarget
+ /** @returns
+ the target (complete path of a key) of the link specified by rLinkName.
+
+ @param rLinKName
+ specifies the relative path from the current key to
+ the link which target will be returned.
+
+ @throws InvalidRegistryException
+ if the registry is not open or the link does not exists.
+ */
+ string getLinkTarget( [in] string rLinkName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ // DOCUMENTATION CHANGED FOR XRegistryKey::getResolvedName
+ /** @returns
+ the resolved name of a key. The function resolve the complete name of the key.
+ If a link could not be resolved, the linktarget concatenated with the unresolved rest
+ of the name, will be returned.
+
+ @param rKeyName
+ specifies a relative path from the current key which will be resolved from all links.
+
+ @throws InvalidRegistryException
+ if the registry is not open or a recursion was detected.
+ */
+ string getResolvedName( [in] string aKeyName )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/registry/XSimpleRegistry.idl b/udkapi/com/sun/star/registry/XSimpleRegistry.idl
new file mode 100644
index 000000000000..4ebd9f4cd7c1
--- /dev/null
+++ b/udkapi/com/sun/star/registry/XSimpleRegistry.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_XSimpleRegistry_idl__
+#define __com_sun_star_registry_XSimpleRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_registry_InvalidRegistryException_idl__
+#include <com/sun/star/registry/InvalidRegistryException.idl>
+#endif
+
+#ifndef __com_sun_star_registry_XRegistryKey_idl__
+#include <com/sun/star/registry/XRegistryKey.idl>
+#endif
+
+#ifndef __com_sun_star_registry_MergeConflictException_idl__
+#include <com/sun/star/registry/MergeConflictException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module registry {
+
+//=============================================================================
+/** allows access to a registry (a persistent data source).
+ The data is stored in a hierarchical key structure beginning with a root key.
+ Each key can store a value and can have multiple subkeys.
+
+ @see XRegistryKey
+*/
+published interface XSimpleRegistry: com::sun::star::uno::XInterface
+{
+ //---------------------------------------------------------------------
+ /** returns the URL of the current data source of the registry.
+ */
+ string getURL();
+
+ //-------------------------------------------------------------------------
+ /** connects the registry to a persistent data source represented by
+ an URL.
+
+ <p>If a local registry is already open, this function
+ will close the currently open registry.
+
+ @param aURL
+ specifies the complete URL to access the data source.
+
+ @param bReadOnly
+ specifies if the data source should be opened for
+ read only.
+
+ @param bCreate
+ specifies if the data source should be created if it
+ does not already exist.
+
+ @throws InvalidRegistryException
+ if the registry does not exist.
+ */
+ void open( [in] string rURL,
+ [in] boolean bReadOnly,
+ [in] boolean bCreate )
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the registry points to a valid data-source.
+ */
+ boolean isValid();
+
+ //-------------------------------------------------------------------------
+ /** disconnects the registry from the data-source.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void close()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** destroys the registry and the data source.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ void destroy()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** @returns
+ the root key of the registry.
+
+ @throws InvalidRegistryException
+ if no registry is open
+ */
+ com::sun::star::registry::XRegistryKey getRootKey()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** checks if the registry is readonly.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+ */
+ boolean isReadOnly()
+ raises( com::sun::star::registry::InvalidRegistryException );
+
+ //-------------------------------------------------------------------------
+ /** DEPRECATED: this method lacks a registry key (better than a URL).
+
+ merges a registry under the specified key.
+
+ <p>If the key does not exist it will be created. Existing
+ keys will be overridden from keys of registry specified by
+ <var>aUrl</var>.
+
+ @throws InvalidRegistryException
+ if the registry is not open.
+
+ @throws MergeConflictException
+ if any differences occur during merging
+ */
+ void mergeKey( [in] string aKeyName,
+ [in] string aUrl )
+ raises( com::sun::star::registry::InvalidRegistryException,
+ com::sun::star::registry::MergeConflictException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/registry/makefile.mk b/udkapi/com/sun/star/registry/makefile.mk
new file mode 100644
index 000000000000..0e420aa848f6
--- /dev/null
+++ b/udkapi/com/sun/star/registry/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssregistry
+PACKAGE=com$/sun$/star$/registry
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CannotRegisterImplementationException.idl\
+ DefaultRegistry.idl\
+ ImplementationRegistration.idl\
+ InvalidRegistryException.idl\
+ InvalidValueException.idl\
+ MergeConflictException.idl\
+ NestedRegistry.idl\
+ RegistryKeyType.idl\
+ RegistryValueType.idl\
+ SimpleRegistry.idl\
+ XImplementationRegistration.idl\
+ XImplementationRegistration2.idl\
+ XRegistryKey.idl\
+ XSimpleRegistry.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk