20 #ifndef INCLUDED_REGISTRY_SOURCE_REGIMPL_HXX
21 #define INCLUDED_REGISTRY_SOURCE_REGIMPL_HXX
25 #include <string_view>
26 #include <unordered_map>
30 #include <rtl/ustring.hxx>
31 #include <osl/mutex.hxx>
35 #define VALUE_HEADERSIZE 5
36 #define VALUE_TYPEOFFSET 1
37 #define VALUE_HEADEROFFSET 5
39 #define REG_GUARD(mutex) \
40 osl::Guard< osl::Mutex > aGuard( mutex );
58 bool bCreate =
false);
68 const OUString& keyName,
72 const OUString& keyName,
80 const OUString& regFileName,
111 const OUString& valueName,
117 std::u16string_view sTargetPath,
118 sal_uInt32 srcValueSize,
128 const OUString& keyName,
134 const OUString& sName,
135 sal_Int16 nSpace)
const;
138 const OUString& sName,
139 sal_Int16 nSpace)
const;
141 typedef std::unordered_map< OUString, ORegKey* >
KeyMap;
151 static constexpr OUStringLiteral
ROOT {
u"/" };
static constexpr OUStringLiteral ROOT u
RegistryTypeReades reads a binary type blob.
RegAccessMode
defines the open/access mode of the registry.
const OUString & getName() const
RegError acquireKey(RegKeyHandle hKey)
static RegError checkBlop(store::OStoreStream &rValue, std::u16string_view sTargetPath, sal_uInt32 srcValueSize, sal_uInt8 const *pSrcBuffer, bool bReport)
RegError deleteKey(RegKeyHandle hKey, const OUString &keyName)
RegError createKey(RegKeyHandle hKey, const OUString &keyName, RegKeyHandle *phNewKey)
enum SAL_DLLPUBLIC_RTTI RegError
specifies the possible error codes which can occur using the registry API.
std::unordered_map< OUString, ORegKey * > KeyMap
static RegError loadAndSaveValue(ORegKey *pTargetKey, ORegKey const *pSourceKey, const OUString &valueName, sal_uInt32 nCut, bool bWarnings, bool bReport)
RegError dumpRegistry(RegKeyHandle hKey) const
RegError loadKey(RegKeyHandle hKey, const OUString ®FileName, bool bWarnings, bool bReport)
RegError dumpValue(const OUString &sPath, const OUString &sName, sal_Int16 nSpace) const
RegError eraseKey(ORegKey *pKey, const OUString &keyName)
void * RegKeyHandle
defines the type of a registry key handle used in the C API.
RegError releaseKey(RegKeyHandle hKey)
RegError closeKey(RegKeyHandle hKey)
RegError loadAndSaveKeys(ORegKey *pTargetKey, ORegKey *pSourceKey, const OUString &keyName, sal_uInt32 nCut, bool bWarnings, bool bReport)
RegError dumpKey(const OUString &sPath, const OUString &sName, sal_Int16 nSpace) const
RegError initRegistry(const OUString &name, RegAccessMode accessMode, bool bCreate=false)
RegError deleteSubkeysAndValues(ORegKey *pKey)
RegError destroyRegistry(const OUString &name)
static RegError mergeModuleValue(store::OStoreStream &rTargetValue, RegistryTypeReader const &reader, RegistryTypeReader const &reader2)
const store::OStoreFile & getStoreFile() const
RegError openKey(RegKeyHandle hKey, const OUString &keyName, RegKeyHandle *phOpenKey)