1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
20 #ifndef INCLUDED_REGISTRY_SOURCE_KEYIMPL_HXX
21 #define INCLUDED_REGISTRY_SOURCE_KEYIMPL_HXX
23 #include "regimpl.hxx"
24 #include <rtl/ustring.hxx>
30 ORegKey(const OUString
& keyName
, ORegistry
* pReg
);
37 { return --m_refCount
; }
39 RegError
releaseKey(RegKeyHandle hKey
);
41 RegError
createKey(const OUString
& keyName
, RegKeyHandle
* phNewKey
);
43 RegError
openKey(const OUString
& keyName
, RegKeyHandle
* phOpenKey
);
45 RegError
openSubKeys(const OUString
& keyName
,
46 RegKeyHandle
** phOpenSubKeys
,
47 sal_uInt32
* pnSubKeys
);
49 RegError
getKeyNames(const OUString
& keyName
,
50 rtl_uString
*** pSubKeyNames
,
51 sal_uInt32
* pnSubKeys
);
53 RegError
closeKey(RegKeyHandle hKey
);
55 RegError
deleteKey(const OUString
& keyName
);
57 RegError
getValueInfo(const OUString
& valueName
,
58 RegValueType
* pValueTye
,
59 sal_uInt32
* pValueSize
) const;
61 RegError
setValue(const OUString
& valueName
,
66 RegError
setLongListValue(const OUString
& valueName
,
67 sal_Int32
const * pValueList
,
70 RegError
setStringListValue(const OUString
& valueName
,
71 sal_Char
** pValueList
,
74 RegError
setUnicodeListValue(const OUString
& valueName
,
75 sal_Unicode
** pValueList
,
78 RegError
getValue(const OUString
& valueName
, RegValue value
) const;
80 RegError
getLongListValue(const OUString
& valueName
,
81 sal_Int32
** pValueList
,
82 sal_uInt32
* pLen
) const;
84 RegError
getStringListValue(const OUString
& valueName
,
85 sal_Char
*** pValueList
,
86 sal_uInt32
* pLen
) const;
88 RegError
getUnicodeListValue(const OUString
& valueName
,
89 sal_Unicode
*** pValueList
,
90 sal_uInt32
* pLen
) const;
92 RegError
getResolvedKeyName(const OUString
& keyName
,
93 OUString
& resolvedName
) const;
95 bool isDeleted() const
96 { return m_bDeleted
; }
98 void setDeleted (bool bKeyDeleted
)
99 { m_bDeleted
= bKeyDeleted
; }
101 bool isModified() const
102 { return m_bModified
; }
104 void setModified (bool bModified
= true)
105 { m_bModified
= bModified
; }
107 bool isReadOnly() const
108 { return m_pRegistry
->isReadOnly(); }
110 sal_uInt32
countSubKeys();
112 ORegistry
* getRegistry() const
113 { return m_pRegistry
; }
115 const store::OStoreFile
& getStoreFile() const
116 { return m_pRegistry
->getStoreFile(); }
118 store::OStoreDirectory
getStoreDir() const;
120 const OUString
& getName() const
123 OUString
getFullPath(OUString
const & path
) const;
126 sal_uInt32 m_refCount
;
127 OUString
const m_name
;
130 ORegistry
* m_pRegistry
;
136 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */