summaryrefslogtreecommitdiff
path: root/registry/source/regimpl.hxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2009-02-12 09:18:09 +0000
committerOliver Bolte <obo@openoffice.org>2009-02-12 09:18:09 +0000
commite591a08dc3d37e13703c855a7f4056faa4e34406 (patch)
treeb68b0ea9d11b8450db6dbcf1040a12c918a44f1a /registry/source/regimpl.hxx
parent788a7beaa020b50e9f657a4e53d1c41c6ef78f1d (diff)
CWS-TOOLING: integrate CWS sb103
2009-01-15 15:28:08 +0100 sb r266375 : #i97629# set UNO_PATH in python start program and use it in bootstrap function in officehelper.py (and do not erroneously encode a vnd.sun.star.pathname URE_BOOTSTRAP value in tools::extendApplicationEnvironment) 2009-01-15 10:40:17 +0100 sb r266338 : #i97424# explicit shut down of ImplImageTree singleton in DeInitVCL still required 2009-01-14 12:07:15 +0100 sb r266276 : CWS-TOOLING: rebase CWS sb103 to trunk@265758 (milestone: DEV300:m38) 2009-01-14 08:53:02 +0100 sb r266266 : #i96284# remove implementation of unused (but expensive) link feature; plus some general cleanup 2009-01-08 14:42:59 +0100 sb r266010 : #i96683# enable dlclose for GCC 3 (based on a patch by cmc) 2009-01-06 14:18:23 +0100 sb r265920 : #i97424# spurious unreferenced local variables 2008-12-19 15:33:39 +0100 sb r265727 : #i57359# no need for a special glibc 2.2.4 based libgcc_s.so.1 for URE any more as the general one used for OOo is guaranteed to be based on at least glibc 2.2.4, anyway 2008-12-19 13:54:37 +0100 sb r265724 : #i97424# clean up and speed up vcl ImplImageTree 2008-12-18 14:28:10 +0100 sb r265690 : #i97132# spread usage of the rtl::Static pattern (patch by cmc) 2008-12-15 14:33:00 +0100 sb r265499 : #i90492# generate UTF-8 encoded output (patch by tora) 2008-12-15 11:45:05 +0100 sb r265469 : #i95593# -Djava.library.path to find libtest_javauno_any.so 2008-12-15 11:23:14 +0100 sb r265468 : #i93769# it appears that Java nowadays expects file URIs in UTF-8, so ExternalUriReferenceTranslator.toExternal must not be called 2008-12-10 12:02:50 +0100 sb r265164 : #i93219# use (corrected) signal handling instead of forking again (to avoid unintended generation of core files)
Diffstat (limited to 'registry/source/regimpl.hxx')
-rw-r--r--registry/source/regimpl.hxx56
1 files changed, 12 insertions, 44 deletions
diff --git a/registry/source/regimpl.hxx b/registry/source/regimpl.hxx
index d761709dc50f..c32dcf3527df 100644
--- a/registry/source/regimpl.hxx
+++ b/registry/source/regimpl.hxx
@@ -31,8 +31,11 @@
#ifndef _REGIMPL_HXX_
#define _REGIMPL_HXX_
+#include <set>
+
+#include <hash_map>
+
#include <registry/registry.h>
-#include "regmap.hxx"
#include <osl/mutex.hxx>
#include <store/store.hxx>
@@ -51,9 +54,6 @@
#define VALUE_MODE_OPEN store_AccessReadWrite
#define VALUE_MODE_OPENREAD store_AccessReadOnly
-#define VALUE_PREFIX "$VL_"
-#define VALUE_LINKTARGET "$VL_LINK_TARGET"
-
// 5 Bytes = 1 (Byte fuer den Typ) + 4 (Bytes fuer die Groesse der Daten)
#define VALUE_HEADERSIZE 5
#define VALUE_TYPEOFFSET 1
@@ -68,17 +68,7 @@ using namespace rtl;
using namespace osl;
using namespace store;
-enum RESOLVE
-{
- // alle Links werden aufgeloest
- RESOLVE_FULL,
- // alles bis zum letzten TeilStueck wird aufgeloest
- RESOLVE_PART,
- // kein Link wird aufgeloest
- RESOLVE_NOTHING
-};
-
-class ORegManager;
+class ORegKey;
class RegistryTypeReader;
class ORegistry
@@ -105,8 +95,7 @@ public:
RegError openKey(RegKeyHandle hKey,
const OUString& keyName,
- RegKeyHandle* phOpenKey,
- RESOLVE eResolve=RESOLVE_FULL);
+ RegKeyHandle* phOpenKey);
RegError closeKey(RegKeyHandle hKey);
@@ -124,11 +113,7 @@ public:
RegError dumpRegistry(RegKeyHandle hKey) const;
- RegError deleteLink(RegKeyHandle hKey,
- const OUString& linkName);
-
-public:
- virtual ~ORegistry();
+ ~ORegistry();
sal_Bool isReadOnly() const
{ return m_readOnly; }
@@ -144,18 +129,12 @@ public:
const OUString& getName() const
{ return m_name; }
- RegError getResolvedKeyName(RegKeyHandle hKey,
- const OUString& keyName,
- OUString& resolvedName);
-
friend class ORegKey;
-protected:
- RegError eraseKey(ORegKey* pKey,
- const OUString& keyName,
- RESOLVE eResolve=RESOLVE_FULL);
- RegError deleteSubkeysAndValues(ORegKey* pKey,
- RESOLVE eResolve=RESOLVE_FULL);
+private:
+ RegError eraseKey(ORegKey* pKey, const OUString& keyName);
+
+ RegError deleteSubkeysAndValues(ORegKey* pKey);
RegError loadAndSaveValue(ORegKey* pTargetKey,
ORegKey* pSourceKey,
@@ -189,17 +168,7 @@ protected:
const OUString& sName,
sal_Int16 nSpace) const;
- RegError openKeyWithoutLink(RegKeyHandle hKey,
- const OUString& keyName,
- RegKeyHandle* phOpenKey);
-
- OUString resolveLinks(ORegKey* pKey, const OUString& path);
- ORegKey* resolveLink(ORegKey* pKey, OUString& resolvedPath, const OUString& name);
-
- sal_Bool insertRecursionLink(ORegKey* pLink);
- sal_Bool resetRecursionLinks();
-
-protected:
+ typedef std::hash_map< OUString, ORegKey*, OUStringHash > KeyMap;
sal_uInt32 m_refCount;
Mutex m_mutex;
@@ -208,7 +177,6 @@ protected:
OUString m_name;
OStoreFile m_file;
KeyMap m_openKeyTable;
- LinkList m_recursionList;
const OUString ROOT;
};