fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / udkapi / com / sun / star / registry / XRegistryKey.idl
blob522870a44847de1a8eb9412fb989a2c3079d8eac
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_registry_XRegistryKey_idl__
20 #define __com_sun_star_registry_XRegistryKey_idl__
22 #include <com/sun/star/uno/XInterface.idl>
23 #include <com/sun/star/registry/InvalidRegistryException.idl>
24 #include <com/sun/star/registry/RegistryKeyType.idl>
25 #include <com/sun/star/registry/RegistryValueType.idl>
26 #include <com/sun/star/registry/InvalidValueException.idl>
30 module com { module sun { module star { module registry {
32 /** makes structural information (except regarding tree structures)
33 of a single registry key accessible.
35 <p>This is the main interface for registry keys.<p>
37 @see XSimpleRegistry
39 published interface XRegistryKey: com::sun::star::uno::XInterface
41 /** This is the key of the entry relative to its parent.<p>
43 <p>The access path starts with the root "/" and all parent
44 entry names are delimited with slashes "/" too, like in a
45 UNIX (R) file system. Slashes which are part of single names
46 are represented as hexadecimals preceded with a "%" like in
47 URL syntax.
49 [readonly, attribute] string KeyName;
51 /** checks if the key can be overwritten.
53 @throws InvalidRegistryException
54 if the registry is not open.
56 boolean isReadOnly()
57 raises( com::sun::star::registry::InvalidRegistryException );
59 /** checks if the key points to an open valid key in the data-source.
61 boolean isValid();
63 /** @returns
64 the type of the specified key.
66 @param rKeyName
67 specifies the relative path from the current key to
68 the key of the type which will be returned.
70 @throws InvalidRegistryException
71 if the registry is not open.
73 com::sun::star::registry::RegistryKeyType getKeyType( [in] string rKeyName )
74 raises( com::sun::star::registry::InvalidRegistryException );
76 /** @returns
77 the type of the key value or NOT_DEFINED if the key has no value.
79 @throws InvalidRegistryException
80 if the registry is not open.
82 com::sun::star::registry::RegistryValueType getValueType()
83 raises( com::sun::star::registry::InvalidRegistryException );
85 /** @returns
86 a long value if the key contains one.
88 @throws InvalidRegistryException
89 if the registry is not open.
91 @throws InvalidValueException
92 if the value is not of type long.
94 long getLongValue()
95 raises( com::sun::star::registry::InvalidRegistryException,
96 com::sun::star::registry::InvalidValueException );
98 /** sets a long value to the key.
100 <p>If the key already has a value, the value will be
101 overridden.
103 @throws InvalidRegistryException
104 if the registry is not open.
106 void setLongValue( [in] long value )
107 raises( com::sun::star::registry::InvalidRegistryException );
109 // DOCUMENTATION CHANGED FOR XRegistryKey::getLongListValue
110 /** @returns
111 a sequence of longs if the key contains a long list value.
113 @throws InvalidRegistryException
114 if the registry is not open.
116 @throws InvalidValueException
117 if the actual value is not of type long list.
119 sequence<long> getLongListValue()
120 raises( com::sun::star::registry::InvalidRegistryException,
121 com::sun::star::registry::InvalidValueException );
123 /** sets a long list value to the key.
125 <p>If the key already has a value, the value will be
126 overridden.
128 @throws InvalidRegistryException
129 if the registry is not open.
131 void setLongListValue( [in] sequence<long> seqValue )
132 raises( com::sun::star::registry::InvalidRegistryException );
134 // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiValue
135 /** @returns
136 an ascii string value if the key contains one.
138 @throws InvalidRegistryException
139 if the registry is not open.
141 @throws InvalidValueException
142 if the actual value is not of type ascii.
144 string getAsciiValue()
145 raises( com::sun::star::registry::InvalidRegistryException,
146 com::sun::star::registry::InvalidValueException );
148 /** sets an ASCII string value to the key.
150 <p>The high byte of the string should be NULL. If not, there
151 is no guarantee that the string will be correctly transported.
152 If the key already has a value, the value will be overridden.
154 @throws InvalidRegistryException
155 if the registry is not open.
157 void setAsciiValue( [in] string value )
158 raises( com::sun::star::registry::InvalidRegistryException );
160 // DOCUMENTATION CHANGED FOR XRegistryKey::getAsciiListValue
161 /** @returns
162 a sequence of ascii strings if the key contains an ascii list value.
164 @throws InvalidRegistryException
165 if the registry is not open.
167 @throws InvalidValueException
168 if the actual value is not of type ascii list.
170 sequence<string> getAsciiListValue()
171 raises( com::sun::star::registry::InvalidRegistryException,
172 com::sun::star::registry::InvalidValueException );
174 /** sets an ASCII string list value to the key.
176 <p>The high byte of the string should be NULL. If not, there
177 is no guarantee that the string will be correctly transported.
178 If the key already has a value, the value will be overridden.
180 @throws InvalidRegistryException
181 if the registry is not open.
183 void setAsciiListValue( [in] sequence<string> seqValue )
184 raises( com::sun::star::registry::InvalidRegistryException );
186 // DOCUMENTATION CHANGED FOR XRegistryKey::getStringValue
187 /** @returns
188 a unicode string value if the key contains one.
190 @throws InvalidRegistryException
191 if the registry is not open.
193 @throws InvalidValueException
194 if the actual value is not of type string.
196 string getStringValue()
197 raises( com::sun::star::registry::InvalidRegistryException,
198 com::sun::star::registry::InvalidValueException );
200 /** sets a unicode string value to the key.
202 <p> If the key already has a value, the value will be
203 overridden.
205 @throws InvalidRegistryException
206 if the registry is not open.
208 void setStringValue( [in] string value )
209 raises( com::sun::star::registry::InvalidRegistryException );
211 // DOCUMENTATION CHANGED FOR XRegistryKey::getStringListValue
212 /** @returns
213 a sequence of unicode strings if the key contains an unicode string list value.
215 @throws InvalidRegistryException
216 if the registry is not open.
218 @throws InvalidValueException
219 if the actual value is not of type string list.
221 sequence<string> getStringListValue()
222 raises( com::sun::star::registry::InvalidRegistryException,
223 com::sun::star::registry::InvalidValueException );
225 /** sets a unicode string value to the key.
227 <p>If the key already has a value, the value will be overridden.
229 @throws InvalidRegistryException
230 if the registry is not open.
232 void setStringListValue( [in] sequence<string> seqValue )
233 raises( com::sun::star::registry::InvalidRegistryException );
235 // DOCUMENTATION CHANGED FOR XRegistryKey::getBinaryValue
236 /** @returns
237 a binary value if the key contains one.
239 @throws InvalidRegistryException
240 if the registry is not open.
242 @throws InvalidValueException
243 if the actual value is not of type binary.
245 sequence<byte> getBinaryValue()
246 raises( com::sun::star::registry::InvalidRegistryException,
247 com::sun::star::registry::InvalidValueException );
249 /** sets a binary value to the key.
251 <p>If the key already has a value, the value will be
252 overridden.
254 @throws InvalidRegistryException
255 if the registry is not open.
257 void setBinaryValue( [in] sequence<byte> value )
258 raises( com::sun::star::registry::InvalidRegistryException );
260 /** opens a sub key of the key.
262 <p>If the sub key does not exist, the function returns a
263 NULL-interface.
265 @param aKeyName
266 the relative path from the current key to the key
267 which will be created.
269 @returns
270 a NULL interface if the key does not exist.
272 @throws InvalidRegistryException
273 if the registry is not open.
275 com::sun::star::registry::XRegistryKey openKey( [in] string aKeyName )
276 raises( com::sun::star::registry::InvalidRegistryException );
278 /** creates a new key in the registry.<p>
280 <p>If the key already exists, the function will open the key.
282 @param aKeyName
283 specifies the relative path from the current key to
284 the key which will be created.
286 @returns
287 a NULL interface if the key could not be created.
289 @throws InvalidRegistryException
290 if the registry is not open, the registry is readonly
291 or if the key exists and is of type LINK.
293 com::sun::star::registry::XRegistryKey createKey( [in] string aKeyName )
294 raises( com::sun::star::registry::InvalidRegistryException );
296 /** closes a key in the registry.
298 @throws InvalidRegistryException
299 if the registry is not open.
301 void closeKey()
302 raises( com::sun::star::registry::InvalidRegistryException );
304 /** deletes a key from the registry.
306 @param rKeyName
307 specifies the relative path from the current key to
308 the key which will be deleted.
310 @throws InvalidRegistryException
311 if the registry is not open, the registry is readonly,
312 the key does not exists or if the key is of type LINK.
314 void deleteKey( [in] string rKeyName )
315 raises( com::sun::star::registry::InvalidRegistryException );
317 // DOCUMENTATION CHANGED FOR XRegistryKey::openKeys
318 /** opens all subkeys of the key. If a subkey is a link, the link will be
319 resolved and the appropriate key will be opened.
321 @returns
322 an empty sequence if the key has no subkeys.
324 @throws InvalidRegistryException
325 if the registry is not open.
327 sequence<com::sun::star::registry::XRegistryKey> openKeys()
328 raises( com::sun::star::registry::InvalidRegistryException );
330 // DOCUMENTATION CHANGED FOR XRegistryKey::getKeyNames
331 /** @returns a sequence with the names of all subkeys of the key.
332 If the key has no subkeys, the function returns an empty sequence. If a subkey is
333 a link, the name of the link will be returned.
335 @throws InvalidRegistryException
336 if the registry is not open.
338 sequence<string> getKeyNames()
339 raises( com::sun::star::registry::InvalidRegistryException );
341 /** creates a new link in the registry.
343 @returns
344 `TRUE` if the link was created. If the link already
345 exists or the link target does not exist, the
346 function returns `FALSE`.
348 @param aLinkName
349 specifies the relative path from the current key to
350 the link which will be created.
352 @param aLinkTarget
353 specifies the full path of the key which will be
354 referenced by the link.
356 @throws InvalidRegistryException
357 if the registry is not open or the registry is
358 readonly.
361 boolean createLink( [in] string aLinkName,
362 [in] string aLinkTarget )
363 raises( com::sun::star::registry::InvalidRegistryException );
365 /** deletes a link from the registry.
367 @param rLinkName
368 specifies the relative path from the current key to
369 the link which will be deleted.
371 @throws InvalidRegistryException
372 if the registry is not open, the registry is readonly,
373 or if the link does not exist.
375 void deleteLink( [in] string rLinkName )
376 raises( com::sun::star::registry::InvalidRegistryException );
378 // DOCUMENTATION CHANGED FOR XRegistryKey::getLinkTarget
379 /** @returns
380 the target (complete path of a key) of the link specified by rLinkName.
382 @param rLinkName
383 specifies the relative path from the current key to
384 the link which target will be returned.
386 @throws InvalidRegistryException
387 if the registry is not open or the link does not exists.
389 string getLinkTarget( [in] string rLinkName )
390 raises( com::sun::star::registry::InvalidRegistryException );
392 // DOCUMENTATION CHANGED FOR XRegistryKey::getResolvedName
393 /** @returns
394 the resolved name of a key. The function resolve the complete name of the key.
395 If a link could not be resolved, the linktarget concatenated with the unresolved rest
396 of the name, will be returned.
398 @param aKeyName
399 specifies a relative path from the current key which will be resolved from all links.
401 @throws InvalidRegistryException
402 if the registry is not open or a recursion was detected.
404 string getResolvedName( [in] string aKeyName )
405 raises( com::sun::star::registry::InvalidRegistryException );
410 }; }; }; };
412 #endif
414 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */