Move QSysInfo out of qglobal.h and into a separate header
qsysinfo.h is still included by qglobal.h, but it may be possible to remove the include from qglobal.h and instead include qsysinfo.h only where needed (e.g. qendian.h, qdatastream.h). Change-Id: Ifa2c72e0dae206d88eaa192e15a906297673c048 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
ca588f40db
commit
c8160ea1db
@ -10,7 +10,8 @@ HEADERS += \
|
|||||||
global/qnumeric_p.h \
|
global/qnumeric_p.h \
|
||||||
global/qnumeric.h \
|
global/qnumeric.h \
|
||||||
global/qlogging.h \
|
global/qlogging.h \
|
||||||
global/qtypeinfo.h
|
global/qtypeinfo.h \
|
||||||
|
global/qsysinfo.h
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
global/qglobal.cpp \
|
global/qglobal.cpp \
|
||||||
|
@ -844,107 +844,6 @@ inline void qt_noop(void) {}
|
|||||||
# define QT_RETHROW throw
|
# define QT_RETHROW throw
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
System information
|
|
||||||
*/
|
|
||||||
|
|
||||||
class QString;
|
|
||||||
class Q_CORE_EXPORT QSysInfo {
|
|
||||||
public:
|
|
||||||
enum Sizes {
|
|
||||||
WordSize = (sizeof(void *)<<3)
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(QT_BUILD_QMAKE)
|
|
||||||
enum Endian {
|
|
||||||
BigEndian,
|
|
||||||
LittleEndian
|
|
||||||
};
|
|
||||||
/* needed to bootstrap qmake */
|
|
||||||
static const int ByteOrder;
|
|
||||||
#elif defined(Q_BYTE_ORDER)
|
|
||||||
enum Endian {
|
|
||||||
BigEndian,
|
|
||||||
LittleEndian
|
|
||||||
|
|
||||||
# ifdef qdoc
|
|
||||||
, ByteOrder = <platform-dependent>
|
|
||||||
# elif Q_BYTE_ORDER == Q_BIG_ENDIAN
|
|
||||||
, ByteOrder = BigEndian
|
|
||||||
# elif Q_BYTE_ORDER == Q_LITTLE_ENDIAN
|
|
||||||
, ByteOrder = LittleEndian
|
|
||||||
# else
|
|
||||||
# error "Undefined byte order"
|
|
||||||
# endif
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
# error "Qt not configured correctly, please run configure"
|
|
||||||
#endif
|
|
||||||
#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
|
|
||||||
enum WinVersion {
|
|
||||||
WV_32s = 0x0001,
|
|
||||||
WV_95 = 0x0002,
|
|
||||||
WV_98 = 0x0003,
|
|
||||||
WV_Me = 0x0004,
|
|
||||||
WV_DOS_based= 0x000f,
|
|
||||||
|
|
||||||
/* codenames */
|
|
||||||
WV_NT = 0x0010,
|
|
||||||
WV_2000 = 0x0020,
|
|
||||||
WV_XP = 0x0030,
|
|
||||||
WV_2003 = 0x0040,
|
|
||||||
WV_VISTA = 0x0080,
|
|
||||||
WV_WINDOWS7 = 0x0090,
|
|
||||||
WV_NT_based = 0x00f0,
|
|
||||||
|
|
||||||
/* version numbers */
|
|
||||||
WV_4_0 = WV_NT,
|
|
||||||
WV_5_0 = WV_2000,
|
|
||||||
WV_5_1 = WV_XP,
|
|
||||||
WV_5_2 = WV_2003,
|
|
||||||
WV_6_0 = WV_VISTA,
|
|
||||||
WV_6_1 = WV_WINDOWS7,
|
|
||||||
|
|
||||||
WV_CE = 0x0100,
|
|
||||||
WV_CENET = 0x0200,
|
|
||||||
WV_CE_5 = 0x0300,
|
|
||||||
WV_CE_6 = 0x0400,
|
|
||||||
WV_CE_based = 0x0f00
|
|
||||||
};
|
|
||||||
static const WinVersion WindowsVersion;
|
|
||||||
static WinVersion windowsVersion();
|
|
||||||
|
|
||||||
#endif
|
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
enum MacVersion {
|
|
||||||
MV_Unknown = 0x0000,
|
|
||||||
|
|
||||||
/* version */
|
|
||||||
MV_9 = 0x0001,
|
|
||||||
MV_10_0 = 0x0002,
|
|
||||||
MV_10_1 = 0x0003,
|
|
||||||
MV_10_2 = 0x0004,
|
|
||||||
MV_10_3 = 0x0005,
|
|
||||||
MV_10_4 = 0x0006,
|
|
||||||
MV_10_5 = 0x0007,
|
|
||||||
MV_10_6 = 0x0008,
|
|
||||||
MV_10_7 = 0x0009,
|
|
||||||
|
|
||||||
/* codenames */
|
|
||||||
MV_CHEETAH = MV_10_0,
|
|
||||||
MV_PUMA = MV_10_1,
|
|
||||||
MV_JAGUAR = MV_10_2,
|
|
||||||
MV_PANTHER = MV_10_3,
|
|
||||||
MV_TIGER = MV_10_4,
|
|
||||||
MV_LEOPARD = MV_10_5,
|
|
||||||
MV_SNOWLEOPARD = MV_10_6,
|
|
||||||
MV_LION = MV_10_7
|
|
||||||
};
|
|
||||||
static const MacVersion MacintoshVersion;
|
|
||||||
static MacVersion macVersion();
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
Q_CORE_EXPORT const char *qVersion();
|
Q_CORE_EXPORT const char *qVersion();
|
||||||
Q_CORE_EXPORT bool qSharedBuild();
|
Q_CORE_EXPORT bool qSharedBuild();
|
||||||
|
|
||||||
@ -1609,6 +1508,7 @@ QT_END_HEADER
|
|||||||
// qDebug and friends
|
// qDebug and friends
|
||||||
#include <QtCore/qlogging.h>
|
#include <QtCore/qlogging.h>
|
||||||
|
|
||||||
|
#include <QtCore/qsysinfo.h>
|
||||||
#include <QtCore/qtypeinfo.h>
|
#include <QtCore/qtypeinfo.h>
|
||||||
|
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
154
src/corelib/global/qsysinfo.h
Normal file
154
src/corelib/global/qsysinfo.h
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/
|
||||||
|
**
|
||||||
|
** This file is part of the FOO module of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** This file may be used under the terms of the GNU Lesser General Public
|
||||||
|
** License version 2.1 as published by the Free Software Foundation and
|
||||||
|
** appearing in the file LICENSE.LGPL included in the packaging of this
|
||||||
|
** file. Please review the following information to ensure the GNU Lesser
|
||||||
|
** General Public License version 2.1 requirements will be met:
|
||||||
|
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Nokia gives you certain additional
|
||||||
|
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU General
|
||||||
|
** Public License version 3.0 as published by the Free Software Foundation
|
||||||
|
** and appearing in the file LICENSE.GPL included in the packaging of this
|
||||||
|
** file. Please review the following information to ensure the GNU General
|
||||||
|
** Public License version 3.0 requirements will be met:
|
||||||
|
** http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
** Other Usage
|
||||||
|
** Alternatively, this file may be used in accordance with the terms and
|
||||||
|
** conditions contained in a signed written agreement between you and Nokia.
|
||||||
|
**
|
||||||
|
**
|
||||||
|
**
|
||||||
|
**
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef QSYSINFO_H
|
||||||
|
#define QSYSINFO_H
|
||||||
|
|
||||||
|
#include <QtCore/qglobal.h>
|
||||||
|
|
||||||
|
QT_BEGIN_HEADER
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
/*
|
||||||
|
System information
|
||||||
|
*/
|
||||||
|
|
||||||
|
class QString;
|
||||||
|
class Q_CORE_EXPORT QSysInfo {
|
||||||
|
public:
|
||||||
|
enum Sizes {
|
||||||
|
WordSize = (sizeof(void *)<<3)
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(QT_BUILD_QMAKE)
|
||||||
|
enum Endian {
|
||||||
|
BigEndian,
|
||||||
|
LittleEndian
|
||||||
|
};
|
||||||
|
/* needed to bootstrap qmake */
|
||||||
|
static const int ByteOrder;
|
||||||
|
#elif defined(Q_BYTE_ORDER)
|
||||||
|
enum Endian {
|
||||||
|
BigEndian,
|
||||||
|
LittleEndian
|
||||||
|
|
||||||
|
# ifdef qdoc
|
||||||
|
, ByteOrder = <platform-dependent>
|
||||||
|
# elif Q_BYTE_ORDER == Q_BIG_ENDIAN
|
||||||
|
, ByteOrder = BigEndian
|
||||||
|
# elif Q_BYTE_ORDER == Q_LITTLE_ENDIAN
|
||||||
|
, ByteOrder = LittleEndian
|
||||||
|
# else
|
||||||
|
# error "Undefined byte order"
|
||||||
|
# endif
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
# error "Qt not configured correctly, please run configure"
|
||||||
|
#endif
|
||||||
|
#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
|
||||||
|
enum WinVersion {
|
||||||
|
WV_32s = 0x0001,
|
||||||
|
WV_95 = 0x0002,
|
||||||
|
WV_98 = 0x0003,
|
||||||
|
WV_Me = 0x0004,
|
||||||
|
WV_DOS_based= 0x000f,
|
||||||
|
|
||||||
|
/* codenames */
|
||||||
|
WV_NT = 0x0010,
|
||||||
|
WV_2000 = 0x0020,
|
||||||
|
WV_XP = 0x0030,
|
||||||
|
WV_2003 = 0x0040,
|
||||||
|
WV_VISTA = 0x0080,
|
||||||
|
WV_WINDOWS7 = 0x0090,
|
||||||
|
WV_NT_based = 0x00f0,
|
||||||
|
|
||||||
|
/* version numbers */
|
||||||
|
WV_4_0 = WV_NT,
|
||||||
|
WV_5_0 = WV_2000,
|
||||||
|
WV_5_1 = WV_XP,
|
||||||
|
WV_5_2 = WV_2003,
|
||||||
|
WV_6_0 = WV_VISTA,
|
||||||
|
WV_6_1 = WV_WINDOWS7,
|
||||||
|
|
||||||
|
WV_CE = 0x0100,
|
||||||
|
WV_CENET = 0x0200,
|
||||||
|
WV_CE_5 = 0x0300,
|
||||||
|
WV_CE_6 = 0x0400,
|
||||||
|
WV_CE_based = 0x0f00
|
||||||
|
};
|
||||||
|
static const WinVersion WindowsVersion;
|
||||||
|
static WinVersion windowsVersion();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
enum MacVersion {
|
||||||
|
MV_Unknown = 0x0000,
|
||||||
|
|
||||||
|
/* version */
|
||||||
|
MV_9 = 0x0001,
|
||||||
|
MV_10_0 = 0x0002,
|
||||||
|
MV_10_1 = 0x0003,
|
||||||
|
MV_10_2 = 0x0004,
|
||||||
|
MV_10_3 = 0x0005,
|
||||||
|
MV_10_4 = 0x0006,
|
||||||
|
MV_10_5 = 0x0007,
|
||||||
|
MV_10_6 = 0x0008,
|
||||||
|
MV_10_7 = 0x0009,
|
||||||
|
|
||||||
|
/* codenames */
|
||||||
|
MV_CHEETAH = MV_10_0,
|
||||||
|
MV_PUMA = MV_10_1,
|
||||||
|
MV_JAGUAR = MV_10_2,
|
||||||
|
MV_PANTHER = MV_10_3,
|
||||||
|
MV_TIGER = MV_10_4,
|
||||||
|
MV_LEOPARD = MV_10_5,
|
||||||
|
MV_SNOWLEOPARD = MV_10_6,
|
||||||
|
MV_LION = MV_10_7
|
||||||
|
};
|
||||||
|
static const MacVersion MacintoshVersion;
|
||||||
|
static MacVersion macVersion();
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
QT_END_HEADER
|
||||||
|
|
||||||
|
#endif // QSYSINFO_H
|
Loading…
x
Reference in New Issue
Block a user