qmake/generators/win32/msvc_vcproj.cpp
changeset 7 f7bc934e204c
parent 0 1918ee327afb
child 30 5dc02b23752f
--- a/qmake/generators/win32/msvc_vcproj.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/qmake/generators/win32/msvc_vcproj.cpp	Wed Mar 31 11:06:36 2010 +0300
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -67,6 +67,7 @@
 
 #ifdef Q_OS_WIN32
 #include <qt_windows.h>
+#include <windows/registry.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -93,102 +94,6 @@
     {NETUnknown, "", ""},
 };
 
-static QString keyPath(const QString &rKey)
-{
-    int idx = rKey.lastIndexOf(QLatin1Char('\\'));
-    if (idx == -1)
-        return QString();
-    return rKey.left(idx + 1);
-}
-
-static QString keyName(const QString &rKey)
-{
-    int idx = rKey.lastIndexOf(QLatin1Char('\\'));
-    if (idx == -1)
-        return rKey;
-
-    QString res(rKey.mid(idx + 1));
-    if (res == "Default" || res == ".")
-        res = "";
-    return res;
-}
-
-static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
-{
-
-    QString rSubkeyName = keyName(rSubkey);
-    QString rSubkeyPath = keyPath(rSubkey);
-
-    HKEY handle = 0;
-    LONG res = RegOpenKeyEx(parentHandle, (wchar_t*)rSubkeyPath.utf16(), 0, KEY_READ, &handle);
-
-    if (res != ERROR_SUCCESS)
-        return QString();
-
-    // get the size and type of the value
-    DWORD dataType;
-    DWORD dataSize;
-    res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
-    if (res != ERROR_SUCCESS) {
-        RegCloseKey(handle);
-        return QString();
-    }
-
-    // get the value
-    QByteArray data(dataSize, 0);
-    res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, 0,
-                          reinterpret_cast<unsigned char*>(data.data()), &dataSize);
-    if (res != ERROR_SUCCESS) {
-        RegCloseKey(handle);
-        return QString();
-    }
-
-    QString result;
-    switch (dataType) {
-        case REG_EXPAND_SZ:
-        case REG_SZ: {
-            result = QString::fromWCharArray(((const wchar_t *)data.constData()));
-            break;
-        }
-
-        case REG_MULTI_SZ: {
-            QStringList l;
-            int i = 0;
-            for (;;) {
-                QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
-                i += s.length() + 1;
-
-                if (s.isEmpty())
-                    break;
-                l.append(s);
-            }
-            result = l.join(", ");
-            break;
-        }
-
-        case REG_NONE:
-        case REG_BINARY: {
-            result = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
-            break;
-        }
-
-        case REG_DWORD_BIG_ENDIAN:
-        case REG_DWORD: {
-            Q_ASSERT(data.size() == sizeof(int));
-            int i;
-            memcpy((char*)&i, data.constData(), sizeof(int));
-            result = QString::number(i);
-            break;
-        }
-
-        default:
-            qWarning("QSettings: unknown data %d type in windows registry", dataType);
-            break;
-    }
-
-    RegCloseKey(handle);
-    return result;
-}
 QT_END_NAMESPACE
 #endif