fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / registry / source / keyimpl.hxx
blob0504e2b0b4532be361ce9960215bd934550cb975
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 .
20 #ifndef INCLUDED_REGISTRY_SOURCE_KEYIMPL_HXX
21 #define INCLUDED_REGISTRY_SOURCE_KEYIMPL_HXX
23 #include <registry/registry.h>
24 #include "regimpl.hxx"
25 #include <rtl/ustring.hxx>
27 class ORegKey
29 public:
31 ORegKey(const OUString& keyName, ORegistry* pReg);
32 ~ORegKey();
34 sal_uInt32 acquire()
35 { return ++m_refCount; }
37 sal_uInt32 release()
38 { return --m_refCount; }
40 RegError releaseKey(RegKeyHandle hKey);
42 RegError createKey(const OUString& keyName, RegKeyHandle* phNewKey);
44 RegError openKey(const OUString& keyName, RegKeyHandle* phOpenKey);
46 RegError openSubKeys(const OUString& keyName,
47 RegKeyHandle** phOpenSubKeys,
48 sal_uInt32* pnSubKeys);
50 RegError getKeyNames(const OUString& keyName,
51 rtl_uString*** pSubKeyNames,
52 sal_uInt32* pnSubKeys);
54 RegError closeKey(RegKeyHandle hKey);
56 RegError deleteKey(const OUString& keyName);
58 RegError getValueInfo(const OUString& valueName,
59 RegValueType* pValueTye,
60 sal_uInt32* pValueSize) const;
62 RegError setValue(const OUString& valueName,
63 RegValueType vType,
64 RegValue value,
65 sal_uInt32 vSize);
67 RegError setLongListValue(const OUString& valueName,
68 sal_Int32* pValueList,
69 sal_uInt32 len);
71 RegError setStringListValue(const OUString& valueName,
72 sal_Char** pValueList,
73 sal_uInt32 len);
75 RegError setUnicodeListValue(const OUString& valueName,
76 sal_Unicode** pValueList,
77 sal_uInt32 len);
79 RegError getValue(const OUString& valueName, RegValue value) const;
81 RegError getLongListValue(const OUString& valueName,
82 sal_Int32** pValueList,
83 sal_uInt32* pLen) const;
85 RegError getStringListValue(const OUString& valueName,
86 sal_Char*** pValueList,
87 sal_uInt32* pLen) const;
89 RegError getUnicodeListValue(const OUString& valueName,
90 sal_Unicode*** pValueList,
91 sal_uInt32* pLen) const;
93 RegError getResolvedKeyName(const OUString& keyName,
94 OUString& resolvedName);
96 bool isDeleted() const
97 { return m_bDeleted; }
99 void setDeleted (bool bKeyDeleted)
100 { m_bDeleted = bKeyDeleted; }
102 bool isModified() const
103 { return m_bModified; }
105 void setModified (bool bModified = true)
106 { m_bModified = bModified; }
108 bool isReadOnly() const
109 { return m_pRegistry->isReadOnly(); }
111 sal_uInt32 countSubKeys();
113 ORegistry* getRegistry() const
114 { return m_pRegistry; }
116 const store::OStoreFile& getStoreFile() const
117 { return m_pRegistry->getStoreFile(); }
119 store::OStoreDirectory getStoreDir();
121 const OUString& getName() const
122 { return m_name; }
124 sal_uInt32 getRefCount() const
125 { return m_refCount; }
127 OUString getFullPath(OUString const & path) const;
129 private:
130 sal_uInt32 m_refCount;
131 OUString m_name;
132 bool m_bDeleted:1;
133 bool m_bModified:1;
134 ORegistry* m_pRegistry;
137 #endif
140 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */