diff options
Diffstat (limited to '')
-rw-r--r-- | udkapi/com/sun/star/registry/XRegistryKey.idl | 414 |
1 files changed, 414 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/registry/XRegistryKey.idl b/udkapi/com/sun/star/registry/XRegistryKey.idl new file mode 100644 index 000000000..bdf36cf56 --- /dev/null +++ b/udkapi/com/sun/star/registry/XRegistryKey.idl @@ -0,0 +1,414 @@ +/* -*- 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_XRegistryKey_idl__ +#define __com_sun_star_registry_XRegistryKey_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/registry/InvalidRegistryException.idl> +#include <com/sun/star/registry/RegistryKeyType.idl> +#include <com/sun/star/registry/RegistryValueType.idl> +#include <com/sun/star/registry/InvalidValueException.idl> + + + +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 ascii 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 a 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 rKeyName + 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 rLinkName + 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 aKeyName + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |