VirtualBox

Ignore:
Timestamp:
Aug 13, 2008 4:25:24 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
34687
Message:

Fe/Qt4: Adding platform information function into VBoxGlobal.

Location:
trunk/src/VBox/Frontends/VirtualBox4
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGlobal.h

    r11387 r11399  
    507507    QString detailsReport (const CMachine &m, bool isNewVM, bool withLinks,
    508508                           bool aDoRefresh = true);
     509
     510    QString platformInfo();
    509511
    510512    /* VirtualBox helpers */
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGlobal.cpp

    r11112 r11399  
    19761976
    19771977    return QString (sTableTpl). arg (detailsReport);
     1978}
     1979
     1980QString VBoxGlobal::platformInfo()
     1981{
     1982    QString platform;
     1983
     1984#if defined (Q_OS_WIN)
     1985    platform = "win";
     1986#elif defined (Q_OS_LINUX)
     1987    platform = "linux";
     1988#elif defined (Q_OS_MACX)
     1989    platform = "macosx";
     1990#elif defined (Q_OS_OS2)
     1991    platform = "os2";
     1992#elif defined (Q_OS_FREEBSD)
     1993    platform = "freebsd";
     1994#elif defined (Q_OS_SOLARIS)
     1995    platform = "solaris";
     1996#else
     1997    platform = "unknown";
     1998#endif
     1999
     2000    /* The format is <system>.<bitness> */
     2001    platform += QString (".%1").arg (ARCH_BITS);
     2002
     2003    /* Add more system information */
     2004#if defined (Q_OS_WIN)
     2005    OSVERSIONINFO versionInfo;
     2006    ZeroMemory (&versionInfo, sizeof (OSVERSIONINFO));
     2007    versionInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
     2008    GetVersionEx (&versionInfo);
     2009    int major = versionInfo.dwMajorVersion;
     2010    int minor = versionInfo.dwMinorVersion;
     2011    int build = versionInfo.dwBuildNumber;
     2012    QString sp = QString::fromUtf16 ((ushort*)versionInfo.szCSDVersion);
     2013
     2014    QString distrib;
     2015    if (major == 6)
     2016        distrib = QString ("Windows Vista %1");
     2017    else if (major == 5)
     2018    {
     2019        if (minor == 2)
     2020            distrib = QString ("Windows Server 2003 %1");
     2021        else if (minor == 1)
     2022            distrib = QString ("Windows XP %1");
     2023        else if (minor == 0)
     2024            distrib = QString ("Windows 2000 %1");
     2025        else
     2026            distrib = QString ("Unknown %1");
     2027    }
     2028    else if (major == 4)
     2029    {
     2030        if (minor == 90)
     2031            distrib = QString ("Windows Me %1");
     2032        else if (minor == 10)
     2033            distrib = QString ("Windows 98 %1");
     2034        else if (minor == 0)
     2035            distrib = QString ("Windows 95 %1");
     2036        else
     2037            distrib = QString ("Unknown %1");
     2038    }
     2039    else
     2040        distrib = QString ("Unknown %1");
     2041    distrib = distrib.arg (sp);
     2042    QString version = QString ("%1.%2").arg (major).arg (minor);
     2043    QString kernel = QString ("%1").arg (build);
     2044    platform += QString (" [Distribution: %1 | Version: %2 | Build: %3]")
     2045        .arg (distrib).arg (version).arg (kernel);
     2046#elif defined (Q_OS_OS2)
     2047    // TODO: add sys info for os2 if any...
     2048#elif defined (Q_OS_LINUX) || defined (Q_OS_MACX) || defined (Q_OS_FREEBSD) || defined (Q_OS_SOLARIS)
     2049    /* Get script path */
     2050    char szAppPrivPath [RTPATH_MAX];
     2051    int rc = RTPathAppPrivateNoArch (szAppPrivPath, sizeof (szAppPrivPath));
     2052    Assert (RT_SUCCESS (rc));
     2053    /* Run script */
     2054    QByteArray result =
     2055        Process::singleShot (QString (szAppPrivPath) + "/VBoxSysInfo.sh");
     2056    if (!result.isNull())
     2057        platform += QString (" [%1]").arg (QString (result).trimmed());
     2058#endif
     2059
     2060    return platform;
    19782061}
    19792062
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette