[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.4' - configmgr/source scp2/source

Michael Meeks michael.meeks at collabora.com
Tue Aug 4 00:47:48 PDT 2015


 configmgr/source/components.cxx  |    8 +++++---
 configmgr/source/winreg.cxx      |    5 +++--
 configmgr/source/winreg.hxx      |    4 +++-
 scp2/source/ooo/common_brand.scp |    2 +-
 4 files changed, 12 insertions(+), 7 deletions(-)

New commits:
commit 4fb6c4ea4456a93cd3e75583a4087d6c6af44217
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Tue Jul 14 10:44:52 2015 +0100

    Add HKEY_CURRENT_USER registry integration.
    
    It seems rather odd that we dump this to a file and parse again to me.
    
    Conflicts:
    	configmgr/source/components.cxx
    	instsetoo_native/CustomTarget_setup.mk
    	scp2/source/ooo/common_brand.scp
    
    Conflicts:
    	scp2/source/ooo/common_brand.scp
    
    Change-Id: Ia32ba9ff3e7878d40032bd7d10fba2c143d11757

diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 8dcf88d..8ba7125 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -529,7 +529,7 @@ Components::Components(
             parseModificationLayer(url);
         }
 #ifdef WNT
-        else if ( type == "winreg" )
+        else if (type == "winreg" || type == "winuserreg")
         {
             if (!url.isEmpty()) {
                 SAL_WARN(
@@ -537,8 +537,10 @@ Components::Components(
                     "winreg URL is not empty, URL handling is not implemented for winreg");
             }
             OUString aTempFileURL;
-            if ( dumpWindowsRegistry(&aTempFileURL) )
-            {
+            WinRegType eType = WinRegType::LOCAL_MACHINE;
+            if (type == "winuserreg")
+                eType = WinRegType::CURRENT_USER;
+            if (dumpWindowsRegistry(&aTempFileURL, eType)) {
                 parseFileLeniently(&parseXcuFile, aTempFileURL, layer, data_, 0, 0, 0);
                 layer++;
                 osl::File::remove(aTempFileURL);
diff --git a/configmgr/source/winreg.cxx b/configmgr/source/winreg.cxx
index 99886d6..e192669 100644
--- a/configmgr/source/winreg.cxx
+++ b/configmgr/source/winreg.cxx
@@ -190,10 +190,11 @@ void dumpWindowsRegistryKey(HKEY hKey, OUString aKeyName, oslFileHandle aFileHan
 }
 }
 
-bool dumpWindowsRegistry(OUString* pFileURL)
+bool dumpWindowsRegistry(OUString* pFileURL, WinRegType eType)
 {
     HKEY hKey;
-    if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Policies\\LibreOffice", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
+    HKEY hDomain = eType == LOCAL_MACHINE ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
+    if(RegOpenKeyExW(hDomain, L"SOFTWARE\\Policies\\LibreOffice", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
     {
         SAL_INFO(
             "configmgr",
diff --git a/configmgr/source/winreg.hxx b/configmgr/source/winreg.hxx
index 0209772..fb880ac 100644
--- a/configmgr/source/winreg.hxx
+++ b/configmgr/source/winreg.hxx
@@ -13,7 +13,9 @@
 
 namespace configmgr {
 
-bool dumpWindowsRegistry(OUString* pFileURL);
+enum WinRegType { LOCAL_MACHINE, CURRENT_USER };
+
+bool dumpWindowsRegistry(OUString* pFileURL, WinRegType eType);
 
 }
 
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index e567574..1c2738e 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1156,7 +1156,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Configuration_Layers
     Section = "Bootstrap";
     Key = "CONFIGURATION_LAYERS";
 #if defined WNT
-    Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry winreg: res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
+    Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry winreg: winuserreg: res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
 #else
     Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
 #endif


More information about the Libreoffice-commits mailing list