/* -*- 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 . */ module com { module sun { module star { module registry { /** makes structural information (except regarding tree structures) of a single registry key accessible.
This is the main interface for registry keys.
@see XSimpleRegistry */ published interface XRegistryKey: com::sun::star::uno::XInterface { /** This is the key of the entry relative to its parent.
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.
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 If the key already has a value, the value will be
overridden.
@throws InvalidRegistryException
if the registry is not open.
*/
void setLongListValue( [in] sequence 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 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 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 If the key already has a value, the value will be overridden.
@throws InvalidRegistryException
if the registry is not open.
*/
void setStringListValue( [in] sequence If the key already has a value, the value will be
overridden.
@throws InvalidRegistryException
if the registry is not open.
*/
void setBinaryValue( [in] sequence 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.
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