-rw-r--r-- | qmake/include/private/qdir_p.h | 2 | ||||
-rw-r--r-- | qmake/include/private/qlocale_p.h | 128 | ||||
-rw-r--r-- | qmake/include/private/qsettings_p.h | 30 | ||||
-rw-r--r-- | qmake/include/qfiledefs_p.h | 64 | ||||
-rw-r--r-- | qmake/include/qglobal.h | 165 | ||||
-rw-r--r-- | qmake/include/qlocale.h | 491 | ||||
-rw-r--r-- | qmake/include/qsettings.h | 156 | ||||
-rw-r--r-- | qmake/include/qunicodetables_p.h | 263 | ||||
-rw-r--r-- | qmake/include/quuid.h | 27 |
9 files changed, 1253 insertions, 73 deletions
diff --git a/qmake/include/private/qdir_p.h b/qmake/include/private/qdir_p.h index a6c7c91..4d9dfc6 100644 --- a/qmake/include/private/qdir_p.h +++ b/qmake/include/private/qdir_p.h | |||
@@ -1,8 +1,8 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Definition of some private QDir functions. | 4 | ** Definition of some private QDir functions. |
5 | ** | 5 | ** |
6 | ** Created : 001106 | 6 | ** Created : 001106 |
7 | ** | 7 | ** |
8 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 8 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
diff --git a/qmake/include/private/qlocale_p.h b/qmake/include/private/qlocale_p.h new file mode 100644 index 0000000..26c05c9 --- a/dev/null +++ b/qmake/include/private/qlocale_p.h | |||
@@ -0,0 +1,128 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** Declaration of the QLocalePrivate class | ||
5 | ** | ||
6 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the widgets module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
20 | ** licenses may use this file in accordance with the Qt Commercial License | ||
21 | ** Agreement provided with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | |||
36 | #ifndef QLOCALE_P_H | ||
37 | #define QLOCALE_P_H | ||
38 | |||
39 | // | ||
40 | // W A R N I N G | ||
41 | // ------------- | ||
42 | // | ||
43 | // This file is not part of the Qt API. It exists for the convenience | ||
44 | // of internal files. This header file may change from version to version | ||
45 | // without notice, or even be removed. | ||
46 | // | ||
47 | // We mean it. | ||
48 | // | ||
49 | // | ||
50 | |||
51 | #include <qstring.h> | ||
52 | |||
53 | struct QLocalePrivate | ||
54 | { | ||
55 | public: | ||
56 | const QChar &decimal() const { return (QChar&)m_decimal; } | ||
57 | const QChar &group() const { return (QChar&)m_group; } | ||
58 | const QChar &list() const { return (QChar&)m_list; } | ||
59 | const QChar &percent() const { return (QChar&)m_percent; } | ||
60 | const QChar &zero() const { return (QChar&)m_zero; } | ||
61 | QChar plus() const { return QChar('+'); } | ||
62 | const QChar &minus() const { return (QChar&)m_minus; } | ||
63 | const QChar &exponential() const { return (QChar&)m_exponential; } | ||
64 | QString infinity() const; | ||
65 | QString nan() const; | ||
66 | |||
67 | Q_UINT32 languageId() const { return m_language_id; } | ||
68 | Q_UINT32 countryId() const { return m_country_id; } | ||
69 | |||
70 | bool isDigit(QChar d) const; | ||
71 | |||
72 | enum GroupSeparatorMode { | ||
73 | FailOnGroupSeparators, | ||
74 | ParseGroupSeparators | ||
75 | }; | ||
76 | |||
77 | enum DoubleForm { | ||
78 | DFExponent = 0, // %e or %E | ||
79 | DFDecimal, // %f or %F | ||
80 | DFSignificantDigits, // %g or %G | ||
81 | _DFMax = DFSignificantDigits | ||
82 | }; | ||
83 | |||
84 | enum Flags { | ||
85 | NoFlags = 0, | ||
86 | |||
87 | // These correspond to the options in a printf format string | ||
88 | Alternate = 0x01, | ||
89 | ZeroPadded = 0x02, | ||
90 | LeftAdjusted = 0x04, | ||
91 | BlankBeforePositive = 0x08, | ||
92 | AlwaysShowSign = 0x10, | ||
93 | ThousandsGroup = 0x20, | ||
94 | CapitalEorX = 0x40 // %x, %e, %f, %g vs. %X, %E, %F, %G | ||
95 | }; | ||
96 | |||
97 | QString doubleToString(double d, | ||
98 | int precision = -1, | ||
99 | DoubleForm form = DFSignificantDigits, | ||
100 | int width = -1, | ||
101 | unsigned flags = NoFlags) const; | ||
102 | QString longLongToString(Q_LLONG l, int precision = -1, | ||
103 | int base = 10, | ||
104 | int width = -1, | ||
105 | unsigned flags = NoFlags) const; | ||
106 | QString unsLongLongToString(Q_ULLONG l, int precision = -1, | ||
107 | int base = 10, | ||
108 | int width = -1, | ||
109 | unsigned flags = NoFlags) const; | ||
110 | double stringToDouble(QString num, bool *ok, GroupSeparatorMode group_sep_mode) const; | ||
111 | Q_LLONG stringToLongLong(QString num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const; | ||
112 | Q_ULLONG stringToUnsLongLong(QString num, int base, bool *ok, GroupSeparatorMode group_sep_mode) const; | ||
113 | bool removeGroupSeparators(QString &num_str) const; | ||
114 | bool numberToCLocale(QString &locale_num, GroupSeparatorMode group_sep_mode) const; | ||
115 | |||
116 | Q_UINT32 m_language_id, m_country_id; | ||
117 | |||
118 | Q_UINT16 m_decimal, m_group, m_list, m_percent, | ||
119 | m_zero, m_minus, m_exponential; | ||
120 | |||
121 | static const QString m_infinity; | ||
122 | static const QString m_nan; | ||
123 | static const QChar m_plus; | ||
124 | |||
125 | static const char *systemLocaleName(); | ||
126 | }; | ||
127 | |||
128 | #endif | ||
diff --git a/qmake/include/private/qsettings_p.h b/qmake/include/private/qsettings_p.h index 095291c..4b76f44 100644 --- a/qmake/include/private/qsettings_p.h +++ b/qmake/include/private/qsettings_p.h | |||
@@ -1,27 +1,37 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Definition of QSettings related classes | 4 | ** Definition of QSettings related classes |
5 | ** | 5 | ** |
6 | ** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. | 6 | ** Created : 990124 |
7 | ** | 7 | ** |
8 | ** This file is part of the tools module of the Qt GUI Toolkit. | 8 | ** Copyright (C) 1999-2002 Trolltech AS. All rights reserved. |
9 | ** | 9 | ** |
10 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | 10 | ** This file is part of the kernel module of the Qt GUI Toolkit. |
11 | ** licenses for Windows may use this file in accordance with the Qt Commercial | 11 | ** |
12 | ** License Agreement provided with the Software. | 12 | ** This file may be distributed under the terms of the Q Public License |
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
13 | ** | 20 | ** |
14 | ** This file is not available for use under any other license without | 21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition |
15 | ** express written permission from the copyright holder. | 22 | ** licenses may use this file in accordance with the Qt Commercial License |
23 | ** Agreement provided with the Software. | ||
16 | ** | 24 | ** |
17 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
18 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
19 | ** | 27 | ** |
20 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | 28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for |
21 | ** information about Qt Commercial License Agreements. | 29 | ** information about Qt Commercial License Agreements. |
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
22 | ** | 32 | ** |
23 | ** Contact info@trolltech.com if any conditions of this licensing are | 33 | ** Contact info@trolltech.com if any conditions of this licensing are |
24 | ** not clear to you. | 34 | ** not clear to you. |
25 | ** | 35 | ** |
26 | **********************************************************************/ | 36 | **********************************************************************/ |
27 | 37 | ||
@@ -43,12 +53,13 @@ | |||
43 | #ifndef QT_H | 53 | #ifndef QT_H |
44 | #include "qstringlist.h" | 54 | #include "qstringlist.h" |
45 | #include "qmap.h" | 55 | #include "qmap.h" |
46 | #include "qvaluestack.h" | 56 | #include "qvaluestack.h" |
47 | #endif // QT_H | 57 | #endif // QT_H |
48 | 58 | ||
59 | #ifndef QT_NO_SETTINGS | ||
49 | class QSettingsSysPrivate; | 60 | class QSettingsSysPrivate; |
50 | 61 | ||
51 | // QSettingsGroup is a map of key/value pairs | 62 | // QSettingsGroup is a map of key/value pairs |
52 | class QSettingsGroup : public QMap<QString,QString> | 63 | class QSettingsGroup : public QMap<QString,QString> |
53 | { | 64 | { |
54 | public: | 65 | public: |
@@ -125,9 +136,10 @@ public: | |||
125 | 136 | ||
126 | boolsysSync(); | 137 | boolsysSync(); |
127 | 138 | ||
128 | voidsysInsertSearchPath( QSettings::System, const QString & ); | 139 | voidsysInsertSearchPath( QSettings::System, const QString & ); |
129 | voidsysRemoveSearchPath( QSettings::System, const QString & ); | 140 | voidsysRemoveSearchPath( QSettings::System, const QString & ); |
130 | #endif | 141 | #endif |
131 | }; | ||
132 | 142 | ||
143 | }; | ||
144 | #endif //QT_NO_SETTINGS | ||
133 | #endif // QSETTINGS_P_H | 145 | #endif // QSETTINGS_P_H |
diff --git a/qmake/include/qfiledefs_p.h b/qmake/include/qfiledefs_p.h new file mode 100644 index 0000000..659aaec --- a/dev/null +++ b/qmake/include/qfiledefs_p.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** Common macros and system include files for QFile, QFileInfo and QDir. | ||
5 | ** | ||
6 | ** Created : 930812 | ||
7 | ** | ||
8 | ** Copyright (C) 1992-2001 Trolltech AS. All rights reserved. | ||
9 | ** | ||
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
11 | ** | ||
12 | ** This file may be distributed under the terms of the Q Public License | ||
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
20 | ** | ||
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
22 | ** licenses may use this file in accordance with the Qt Commercial License | ||
23 | ** Agreement provided with the Software. | ||
24 | ** | ||
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
27 | ** | ||
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
29 | ** information about Qt Commercial License Agreements. | ||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
32 | ** | ||
33 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
34 | ** not clear to you. | ||
35 | ** | ||
36 | **********************************************************************/ | ||
37 | |||
38 | #ifndef QFILEDEFS_P_H | ||
39 | #define QFILEDEFS_P_H | ||
40 | |||
41 | // | ||
42 | // W A R N I N G | ||
43 | // ------------- | ||
44 | // | ||
45 | // This file is not part of the Qt API. It exists for the convenience | ||
46 | // of qfileinfo*.cpp. This header file may change from version to version | ||
47 | // without notice, or even be removed. | ||
48 | // | ||
49 | // We mean it. | ||
50 | // | ||
51 | // | ||
52 | |||
53 | // Be sure to include qplatformdefs.h first! | ||
54 | struct QFileInfoCache | ||
55 | { | ||
56 | #if defined(Q_WS_WIN) | ||
57 | QT_STATBUF st; | ||
58 | #else | ||
59 | struct stat st; | ||
60 | #endif | ||
61 | }; | ||
62 | |||
63 | |||
64 | #endif | ||
diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h index 94e5607..b7e919d 100644 --- a/qmake/include/qglobal.h +++ b/qmake/include/qglobal.h | |||
@@ -1,14 +1,14 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Global type declarations and definitions | 4 | ** Global type declarations and definitions |
5 | ** | 5 | ** |
6 | ** Created : 920529 | 6 | ** Created : 920529 |
7 | ** | 7 | ** |
8 | ** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. | 8 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. |
9 | ** | 9 | ** |
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | 10 | ** This file is part of the tools module of the Qt GUI Toolkit. |
11 | ** | 11 | ** |
12 | ** This file may be distributed under the terms of the Q Public License | 12 | ** This file may be distributed under the terms of the Q Public License |
13 | ** as defined by Trolltech AS of Norway and appearing in the file | 13 | ** as defined by Trolltech AS of Norway and appearing in the file |
14 | ** LICENSE.QPL included in the packaging of this file. | 14 | ** LICENSE.QPL included in the packaging of this file. |
@@ -35,23 +35,24 @@ | |||
35 | ** | 35 | ** |
36 | **********************************************************************/ | 36 | **********************************************************************/ |
37 | 37 | ||
38 | #ifndef QGLOBAL_H | 38 | #ifndef QGLOBAL_H |
39 | #define QGLOBAL_H | 39 | #define QGLOBAL_H |
40 | 40 | ||
41 | #define QT_VERSION_STR "3.1.2" | 41 | #define QT_VERSION_STR "3.3.2" |
42 | /* | 42 | /* |
43 | QT_VERSION is (major << 16) + (minor << 8) + patch. | 43 | QT_VERSION is (major << 16) + (minor << 8) + patch. |
44 | */ | 44 | */ |
45 | #define QT_VERSION 0x030102 | 45 | #define QT_VERSION 0x030302 |
46 | 46 | ||
47 | /* | 47 | /* |
48 | The operating system, must be one of: (Q_OS_x) | 48 | The operating system, must be one of: (Q_OS_x) |
49 | 49 | ||
50 | MACX- Mac OS X | 50 | MACX- Mac OS X |
51 | MAC9- Mac OS 9 | 51 | MAC9- Mac OS 9 |
52 | DARWIN - Darwin OS (Without Mac OS X) | ||
52 | MSDOS- MS-DOS and Windows | 53 | MSDOS- MS-DOS and Windows |
53 | OS2- OS/2 | 54 | OS2- OS/2 |
54 | OS2EMX- XFree86 on OS/2 (not PM) | 55 | OS2EMX- XFree86 on OS/2 (not PM) |
55 | WIN32- Win32 (Windows 95/98/ME and Windows NT/2000/XP) | 56 | WIN32- Win32 (Windows 95/98/ME and Windows NT/2000/XP) |
56 | CYGWIN- Cygwin | 57 | CYGWIN- Cygwin |
57 | SOLARIS- Sun Solaris | 58 | SOLARIS- Sun Solaris |
@@ -75,13 +76,15 @@ | |||
75 | QNX6- QNX RTP 6.1 | 76 | QNX6- QNX RTP 6.1 |
76 | LYNX- LynxOS | 77 | LYNX- LynxOS |
77 | BSD4- Any BSD 4.4 system | 78 | BSD4- Any BSD 4.4 system |
78 | UNIX- Any UNIX BSD/SYSV system | 79 | UNIX- Any UNIX BSD/SYSV system |
79 | */ | 80 | */ |
80 | 81 | ||
81 | #if defined(__APPLE__) && defined(__GNUC__) | 82 | #if defined(__DARWIN_X11__) |
83 | # define Q_OS_DARWIN | ||
84 | #elif defined(__APPLE__) && defined(__GNUC__) | ||
82 | # define Q_OS_MACX | 85 | # define Q_OS_MACX |
83 | #elif defined(__MACOSX__) | 86 | #elif defined(__MACOSX__) |
84 | # define Q_OS_MACX | 87 | # define Q_OS_MACX |
85 | #elif defined(macintosh) | 88 | #elif defined(macintosh) |
86 | # define Q_OS_MAC9 | 89 | # define Q_OS_MAC9 |
87 | #elif defined(__CYGWIN__) | 90 | #elif defined(__CYGWIN__) |
@@ -108,13 +111,13 @@ | |||
108 | #elif defined(__ultrix) || defined(ultrix) | 111 | #elif defined(__ultrix) || defined(ultrix) |
109 | # define Q_OS_ULTRIX | 112 | # define Q_OS_ULTRIX |
110 | #elif defined(sinix) | 113 | #elif defined(sinix) |
111 | # define Q_OS_RELIANT | 114 | # define Q_OS_RELIANT |
112 | #elif defined(__linux__) || defined(__linux) | 115 | #elif defined(__linux__) || defined(__linux) |
113 | # define Q_OS_LINUX | 116 | # define Q_OS_LINUX |
114 | #elif defined(__FreeBSD__) | 117 | #elif defined(__FreeBSD__) || defined(__DragonFly__) |
115 | # define Q_OS_FREEBSD | 118 | # define Q_OS_FREEBSD |
116 | # define Q_OS_BSD4 | 119 | # define Q_OS_BSD4 |
117 | #elif defined(__NetBSD__) | 120 | #elif defined(__NetBSD__) |
118 | # define Q_OS_NETBSD | 121 | # define Q_OS_NETBSD |
119 | # define Q_OS_BSD4 | 122 | # define Q_OS_BSD4 |
120 | #elif defined(__OpenBSD__) | 123 | #elif defined(__OpenBSD__) |
@@ -146,41 +149,39 @@ | |||
146 | #elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ | 149 | #elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ |
147 | # define Q_OS_UNIXWARE | 150 | # define Q_OS_UNIXWARE |
148 | # define Q_OS_UNIXWARE7 | 151 | # define Q_OS_UNIXWARE7 |
149 | #elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ | 152 | #elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ |
150 | # define Q_OS_UNIXWARE | 153 | # define Q_OS_UNIXWARE |
151 | # define Q_OS_UNIXWARE7 | 154 | # define Q_OS_UNIXWARE7 |
155 | #elif defined(__MAKEDEPEND__) | ||
152 | #else | 156 | #else |
153 | # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" | 157 | # error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" |
154 | #endif | 158 | #endif |
155 | 159 | ||
160 | #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | ||
161 | # define Q_OS_WIN | ||
162 | #endif | ||
163 | |||
156 | #if defined(Q_OS_MAC9) || defined(Q_OS_MACX) | 164 | #if defined(Q_OS_MAC9) || defined(Q_OS_MACX) |
157 | /* This hack forces the generater to compile qmake not for maxosx native. It is | 165 | # define Q_OS_MAC |
158 | * compiled for Linux and generates usual makefiles.. | ||
159 | * Does anyone has a better solution for this ? (eilers) | ||
160 | */ | ||
161 | // # define Q_OS_MAC | ||
162 | #define Q_OS_LINUX | ||
163 | #warning "boeser Hack !! (se)" | ||
164 | #undef Q_OS_MACX | ||
165 | #endif | 166 | #endif |
166 | 167 | ||
167 | #if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | 168 | #if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN) |
168 | # undef Q_OS_UNIX | 169 | # undef Q_OS_UNIX |
169 | #elif !defined(Q_OS_UNIX) | 170 | #elif !defined(Q_OS_UNIX) |
170 | # define Q_OS_UNIX | 171 | # define Q_OS_UNIX |
171 | #endif | 172 | #endif |
172 | 173 | ||
173 | 174 | ||
174 | /* | 175 | /* |
175 | The compiler, must be one of: (Q_CC_x) | 176 | The compiler, must be one of: (Q_CC_x) |
176 | 177 | ||
177 | SYM- Symantec C++ for both PC and Macintosh | 178 | SYM- Symantec C++ for both PC and Macintosh |
178 | MPW- MPW C++ | 179 | MPW- MPW C++ |
179 | MWERKS- Metrowerks CodeWarrior | 180 | MWERKS- Metrowerks CodeWarrior |
180 | MSVC- Microsoft Visual C/C++ | 181 | MSVC- Microsoft Visual C/C++, Intel C++ for Windows |
181 | BOR- Borland/Turbo C++ | 182 | BOR- Borland/Turbo C++ |
182 | WAT- Watcom C++ | 183 | WAT- Watcom C++ |
183 | GNU- GNU C++ | 184 | GNU- GNU C++ |
184 | COMEAU- Comeau C++ | 185 | COMEAU- Comeau C++ |
185 | EDG- Edison Design Group C++ | 186 | EDG- Edison Design Group C++ |
186 | OC - CenterLine C++ | 187 | OC - CenterLine C++ |
@@ -189,13 +190,13 @@ | |||
189 | DEC- DEC C++ | 190 | DEC- DEC C++ |
190 | HP - HPUX C++ | 191 | HP - HPUX C++ |
191 | HPACC- HPUX ANSI C++ | 192 | HPACC- HPUX ANSI C++ |
192 | USLC- SCO OUDK, UDK, and UnixWare 2.X C++ | 193 | USLC- SCO OUDK, UDK, and UnixWare 2.X C++ |
193 | CDS- Reliant C++ | 194 | CDS- Reliant C++ |
194 | KAI- KAI C++ | 195 | KAI- KAI C++ |
195 | INTEL- Intel C++ | 196 | INTEL- Intel C++ for Linux, Intel C++ for Windows |
196 | HIGHC- MetaWare High C/C++ | 197 | HIGHC- MetaWare High C/C++ |
197 | PGI- Portland Group C++ | 198 | PGI- Portland Group C++ |
198 | GHS- Green Hills Optimizing C++ Compilers | 199 | GHS- Green Hills Optimizing C++ Compilers |
199 | 200 | ||
200 | Should be sorted most to least authoritative. | 201 | Should be sorted most to least authoritative. |
201 | */ | 202 | */ |
@@ -219,27 +220,34 @@ | |||
219 | # define Q_NO_USING_KEYWORD | 220 | # define Q_NO_USING_KEYWORD |
220 | 221 | ||
221 | #elif defined(__MWERKS__) | 222 | #elif defined(__MWERKS__) |
222 | # define Q_CC_MWERKS | 223 | # define Q_CC_MWERKS |
223 | /* "explicit" recognized since 4.0d1 */ | 224 | /* "explicit" recognized since 4.0d1 */ |
224 | # define QMAC_PASCAL pascal | 225 | # define QMAC_PASCAL pascal |
225 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
226 | 226 | ||
227 | #elif defined(_MSC_VER) | 227 | #elif defined(_MSC_VER) |
228 | # define Q_CC_MSVC | 228 | # define Q_CC_MSVC |
229 | /* proper support of bool for _MSC_VER >= 1100 */ | 229 | /* proper support of bool for _MSC_VER >= 1100 */ |
230 | # define Q_CANNOT_DELETE_CONSTANT | 230 | # define Q_CANNOT_DELETE_CONSTANT |
231 | # define Q_INLINE_TEMPLATES inline | 231 | # define Q_INLINE_TEMPLATES inline |
232 | /* Visual C++.Net issues for _MSC_VER >= 1300 */ | 232 | /* Visual C++.Net issues for _MSC_VER >= 1300 */ |
233 | # if _MSC_VER >= 1300 | 233 | # if _MSC_VER >= 1300 |
234 | # define Q_CC_MSVC_NET | 234 | # define Q_CC_MSVC_NET |
235 | # if _MSC_VER < 1310 | 235 | # if _MSC_VER < 1310 || defined(Q_OS_WIN64) |
236 | # define Q_TYPENAME | 236 | # define Q_TYPENAME |
237 | # endif | 237 | # endif |
238 | # endif | 238 | # endif |
239 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | 239 | /* Intel C++ disguising as Visual C++: the `using' keyword avoids warnings */ |
240 | # if defined(__INTEL_COMPILER) | ||
241 | # define Q_CC_INTEL | ||
242 | # if !defined(__EXCEPTIONS) | ||
243 | # define Q_NO_EXCEPTIONS | ||
244 | # endif | ||
245 | # else | ||
246 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | ||
247 | # endif | ||
240 | 248 | ||
241 | #elif defined(__BORLANDC__) || defined(__TURBOC__) | 249 | #elif defined(__BORLANDC__) || defined(__TURBOC__) |
242 | # define Q_CC_BOR | 250 | # define Q_CC_BOR |
243 | # if __BORLANDC__ < 0x502 | 251 | # if __BORLANDC__ < 0x502 |
244 | # define Q_NO_BOOL_TYPE | 252 | # define Q_NO_BOOL_TYPE |
245 | # define Q_NO_EXPLICIT_KEYWORD | 253 | # define Q_NO_EXPLICIT_KEYWORD |
@@ -281,14 +289,23 @@ | |||
281 | # define Q_NO_USING_KEYWORD | 289 | # define Q_NO_USING_KEYWORD |
282 | # endif | 290 | # endif |
283 | /* GCC 3.1 and GCC 3.2 wrongly define _SB_CTYPE_MACROS on HP-UX */ | 291 | /* GCC 3.1 and GCC 3.2 wrongly define _SB_CTYPE_MACROS on HP-UX */ |
284 | # if defined(Q_OS_HPUX) && __GNUC__ == 3 && __GNUC_MINOR__ >= 1 | 292 | # if defined(Q_OS_HPUX) && __GNUC__ == 3 && __GNUC_MINOR__ >= 1 |
285 | # define Q_WRONG_SB_CTYPE_MACROS | 293 | # define Q_WRONG_SB_CTYPE_MACROS |
286 | # endif | 294 | # endif |
295 | |||
296 | /* ARM gcc pads structs to 32 bits, even when they contain a single | ||
297 | char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
298 | QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
299 | members of a packed struct. (Pointers are OK, because then you | ||
300 | supposedly know what you are doing.) */ | ||
287 | # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | 301 | # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) |
288 | # define Q_PACKED __attribute__ ((packed)) | 302 | # define Q_PACKED __attribute__ ((packed)) |
303 | # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
304 | # define Q_NO_PACKED_REFERENCE | ||
305 | # endif | ||
289 | # endif | 306 | # endif |
290 | # if !defined(__EXCEPTIONS) | 307 | # if !defined(__EXCEPTIONS) |
291 | # define Q_NO_EXCEPTIONS | 308 | # define Q_NO_EXCEPTIONS |
292 | # endif | 309 | # endif |
293 | 310 | ||
294 | /* IBM compiler versions are a bit messy. There are actually two products: | 311 | /* IBM compiler versions are a bit messy. There are actually two products: |
@@ -302,12 +319,14 @@ | |||
302 | ... ... | 319 | ... ... |
303 | C++ Compiler 3.6.6 C Compiler 4.3 | 320 | C++ Compiler 3.6.6 C Compiler 4.3 |
304 | ... ... | 321 | ... ... |
305 | Visual Age C++ 4.0 ... | 322 | Visual Age C++ 4.0 ... |
306 | ... ... | 323 | ... ... |
307 | Visual Age C++ 5.0 C Compiler 5.0 | 324 | Visual Age C++ 5.0 C Compiler 5.0 |
325 | ... ... | ||
326 | Visual Age C++ 6.0 C Compiler 6.0 | ||
308 | 327 | ||
309 | Now: | 328 | Now: |
310 | __xlC__ is the version of the C compiler in hexadecimal notation | 329 | __xlC__ is the version of the C compiler in hexadecimal notation |
311 | is only an approximation of the C++ compiler version | 330 | is only an approximation of the C++ compiler version |
312 | __IBMCPP__ is the version of the C++ compiler in decimal notation | 331 | __IBMCPP__ is the version of the C++ compiler in decimal notation |
313 | but it is not defined on older compilers like C Set 3.1 */ | 332 | but it is not defined on older compilers like C Set 3.1 */ |
@@ -326,13 +345,13 @@ | |||
326 | 345 | ||
327 | /* Older versions of DEC C++ do not define __EDG__ or __EDG - observed | 346 | /* Older versions of DEC C++ do not define __EDG__ or __EDG - observed |
328 | on DEC C++ V5.5-004. New versions do define __EDG__ - observed on | 347 | on DEC C++ V5.5-004. New versions do define __EDG__ - observed on |
329 | Compaq C++ V6.3-002. | 348 | Compaq C++ V6.3-002. |
330 | This compiler is different enough from other EDG compilers to handle | 349 | This compiler is different enough from other EDG compilers to handle |
331 | it separately anyway. */ | 350 | it separately anyway. */ |
332 | #elif defined(__DECCXX) | 351 | #elif defined(__DECCXX) || defined(__DECC) |
333 | # define Q_CC_DEC | 352 | # define Q_CC_DEC |
334 | /* Compaq C++ V6 compilers are EDG-based but I'm not sure about older | 353 | /* Compaq C++ V6 compilers are EDG-based but I'm not sure about older |
335 | DEC C++ V5 compilers. */ | 354 | DEC C++ V5 compilers. */ |
336 | # if defined(__EDG__) | 355 | # if defined(__EDG__) |
337 | # define Q_CC_EDG | 356 | # define Q_CC_EDG |
338 | # endif | 357 | # endif |
@@ -367,25 +386,29 @@ | |||
367 | __BOOL_DEFINED | 386 | __BOOL_DEFINED |
368 | Defined in Microsoft C++ mode when bool is a keyword. */ | 387 | Defined in Microsoft C++ mode when bool is a keyword. */ |
369 | # if !defined(_BOOL) && !defined(__BOOL_DEFINED) | 388 | # if !defined(_BOOL) && !defined(__BOOL_DEFINED) |
370 | # define Q_NO_BOOL_TYPE | 389 | # define Q_NO_BOOL_TYPE |
371 | # endif | 390 | # endif |
372 | 391 | ||
373 | /* The Portland Group compiler is based on EDG and does define __EDG__ */ | 392 | /* The Comeau compiler is based on EDG and does define __EDG__ */ |
374 | # if defined(__COMO__) | 393 | # if defined(__COMO__) |
375 | # define Q_CC_COMEAU | 394 | # define Q_CC_COMEAU |
376 | # define Q_C_CALLBACKS | 395 | # define Q_C_CALLBACKS |
377 | 396 | ||
378 | /* Using the `using' keyword avoids KAI C++ warnings */ | 397 | /* The `using' keyword was introduced to avoid KAI C++ warnings |
398 | but it's now causing KAI C++ errors instead. The standard is | ||
399 | unclear about the use of this keyword, and in practice every | ||
400 | compiler is using its own set of rules. Forget it. */ | ||
379 | # elif defined(__KCC) | 401 | # elif defined(__KCC) |
380 | # define Q_CC_KAI | 402 | # define Q_CC_KAI |
381 | # if !defined(_EXCEPTIONS) | 403 | # if !defined(_EXCEPTIONS) |
382 | # define Q_NO_EXCEPTIONS | 404 | # define Q_NO_EXCEPTIONS |
383 | # endif | 405 | # endif |
406 | # define Q_NO_USING_KEYWORD | ||
384 | 407 | ||
385 | /* Using the `using' keyword avoids Intel C++ warnings */ | 408 | /* Using the `using' keyword avoids Intel C++ for Linux warnings */ |
386 | # elif defined(__INTEL_COMPILER) | 409 | # elif defined(__INTEL_COMPILER) |
387 | # define Q_CC_INTEL | 410 | # define Q_CC_INTEL |
388 | # if !defined(__EXCEPTIONS) | 411 | # if !defined(__EXCEPTIONS) |
389 | # define Q_NO_EXCEPTIONS | 412 | # define Q_NO_EXCEPTIONS |
390 | # endif | 413 | # endif |
391 | 414 | ||
@@ -427,20 +450,22 @@ | |||
427 | such as template specialization nevertheless */ | 450 | such as template specialization nevertheless */ |
428 | # elif defined(__sgi) | 451 | # elif defined(__sgi) |
429 | # define Q_CC_MIPS | 452 | # define Q_CC_MIPS |
430 | # if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32) /* o32 ABI */ | 453 | # if defined(_MIPS_SIM) && (_MIPS_SIM == _ABIO32) /* o32 ABI */ |
431 | # define Q_TYPENAME | 454 | # define Q_TYPENAME |
432 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | 455 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION |
433 | # define Q_STRICT_INLINING_RULES | ||
434 | # define Q_NO_EXPLICIT_KEYWORD | 456 | # define Q_NO_EXPLICIT_KEYWORD |
435 | # define Q_INLINE_TEMPLATES inline | 457 | # define Q_INLINE_TEMPLATES inline |
436 | # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ | 458 | # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ |
437 | # define Q_TYPENAME | 459 | # define Q_TYPENAME |
438 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION | 460 | # define Q_BROKEN_TEMPLATE_SPECIALIZATION |
439 | # endif | 461 | # endif |
440 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ | 462 | # define Q_NO_USING_KEYWORD /* ### check "using" status */ |
463 | # if defined(_COMPILER_VERSION) && (_COMPILER_VERSION >= 740) | ||
464 | # pragma set woff 3624,3625, 3649 /* turn off some harmless warnings */ | ||
465 | # endif | ||
441 | # endif | 466 | # endif |
442 | 467 | ||
443 | /* The older UnixWare 2.X compiler? */ | 468 | /* The older UnixWare 2.X compiler? */ |
444 | #elif defined(__USLC__) | 469 | #elif defined(__USLC__) |
445 | # define Q_CC_USLC | 470 | # define Q_CC_USLC |
446 | # define Q_TYPENAME | 471 | # define Q_TYPENAME |
@@ -450,13 +475,13 @@ | |||
450 | # define Q_INLINE_TEMPLATES inline | 475 | # define Q_INLINE_TEMPLATES inline |
451 | 476 | ||
452 | /* Never tested! */ | 477 | /* Never tested! */ |
453 | #elif defined(__HIGHC__) | 478 | #elif defined(__HIGHC__) |
454 | # define Q_CC_HIGHC | 479 | # define Q_CC_HIGHC |
455 | 480 | ||
456 | #elif defined(__SUNPRO_CC) | 481 | #elif defined(__SUNPRO_CC) || defined(__SUNPRO_C) |
457 | # define Q_CC_SUN | 482 | # define Q_CC_SUN |
458 | /* 5.0 compiler or better | 483 | /* 5.0 compiler or better |
459 | 'bool' is enabled by default but can be disabled using -features=nobool | 484 | 'bool' is enabled by default but can be disabled using -features=nobool |
460 | in which case _BOOL is not defined | 485 | in which case _BOOL is not defined |
461 | this is the default in 4.2 compatibility mode triggered by -compat=4 */ | 486 | this is the default in 4.2 compatibility mode triggered by -compat=4 */ |
462 | # if __SUNPRO_CC >= 0x500 | 487 | # if __SUNPRO_CC >= 0x500 |
@@ -602,12 +627,19 @@ const bool TRUE = !0; | |||
602 | # if defined(Q_OS_QNX4) | 627 | # if defined(Q_OS_QNX4) |
603 | const bool false = FALSE; | 628 | const bool false = FALSE; |
604 | const bool true = TRUE; | 629 | const bool true = TRUE; |
605 | # endif | 630 | # endif |
606 | #endif | 631 | #endif |
607 | 632 | ||
633 | // | ||
634 | // Proper for-scoping | ||
635 | // ### turn on in 4.0 | ||
636 | |||
637 | #if 0 && defined(Q_CC_MSVC) && !defined(Q_CC_MSVC_NET) | ||
638 | # define for if(0){}else for | ||
639 | #endif | ||
608 | 640 | ||
609 | // | 641 | // |
610 | // Use the "explicit" keyword on platforms that support it. | 642 | // Use the "explicit" keyword on platforms that support it. |
611 | // | 643 | // |
612 | 644 | ||
613 | #if !defined(Q_NO_EXPLICIT_KEYWORD) | 645 | #if !defined(Q_NO_EXPLICIT_KEYWORD) |
@@ -662,32 +694,37 @@ typedef signed char Q_INT8; // 8 bit signed | |||
662 | typedef unsigned char Q_UINT8;// 8 bit unsigned | 694 | typedef unsigned char Q_UINT8;// 8 bit unsigned |
663 | typedef short Q_INT16;// 16 bit signed | 695 | typedef short Q_INT16;// 16 bit signed |
664 | typedef unsigned short Q_UINT16;// 16 bit unsigned | 696 | typedef unsigned short Q_UINT16;// 16 bit unsigned |
665 | typedef int Q_INT32;// 32 bit signed | 697 | typedef int Q_INT32;// 32 bit signed |
666 | typedef unsigned int Q_UINT32;// 32 bit unsigned | 698 | typedef unsigned int Q_UINT32;// 32 bit unsigned |
667 | #if defined(Q_OS_WIN64) | 699 | #if defined(Q_OS_WIN64) |
668 | // LLP64 64-bit model on Windows | ||
669 | typedef __int64 Q_LONG; // word up to 64 bit signed | 700 | typedef __int64 Q_LONG; // word up to 64 bit signed |
670 | typedef unsigned __int64 Q_ULONG;// word up to 64 bit unsigned | 701 | typedef unsigned __int64 Q_ULONG;// word up to 64 bit unsigned |
671 | #else | 702 | #else |
672 | // LP64 64-bit model on Linux | 703 | typedef long Q_LONG; // word up to 64 bit signed |
673 | typedef long Q_LONG; | 704 | typedef unsigned long Q_ULONG;// word up to 64 bit unsigned |
674 | typedef unsigned long Q_ULONG; | ||
675 | #endif | 705 | #endif |
676 | 706 | #if defined(Q_OS_WIN) && !defined(Q_CC_GNU) | |
677 | #if !defined(QT_CLEAN_NAMESPACE) | 707 | # define Q_INT64_C(c) c ## i64// signed 64 bit constant |
678 | // mininum size of 64 bits is not guaranteed | 708 | # define Q_UINT64_C(c) c ## ui64// unsigned 64 bit constant |
679 | #define Q_INT64 Q_LONG | 709 | typedef __int64 Q_INT64;// 64 bit signed |
680 | #define Q_UINT64 Q_ULONG | 710 | typedef unsigned __int64 Q_UINT64;// 64 bit unsigned |
711 | #else | ||
712 | # define Q_INT64_C(c) c ## LL // signed 64 bit constant | ||
713 | # define Q_UINT64_C(c) c ## ULL// unsigned 64 bit constant | ||
714 | typedef long long Q_INT64;// 64 bit signed | ||
715 | typedef unsigned long long Q_UINT64;// 64 bit unsigned | ||
681 | #endif | 716 | #endif |
717 | typedef Q_INT64 Q_LLONG;// signed long long | ||
718 | typedef Q_UINT64 Q_ULLONG;// unsigned long long | ||
682 | 719 | ||
683 | #if defined(Q_OS_MACX) && !defined(QT_LARGEFILE_SUPPORT) | 720 | #if defined(Q_OS_MACX) && !defined(QT_LARGEFILE_SUPPORT) |
684 | # define QT_LARGEFILE_SUPPORT 64 | 721 | # define QT_LARGEFILE_SUPPORT 64 |
685 | #endif | 722 | #endif |
686 | #if defined(QT_LARGEFILE_SUPPORT) | 723 | #if defined(QT_LARGEFILE_SUPPORT) |
687 | typedef unsigned long long QtOffset; | 724 | typedef Q_ULLONG QtOffset; |
688 | #else | 725 | #else |
689 | typedef Q_ULONG QtOffset; | 726 | typedef Q_ULONG QtOffset; |
690 | #endif | 727 | #endif |
691 | 728 | ||
692 | 729 | ||
693 | // | 730 | // |
@@ -705,33 +742,36 @@ class QDataStream; | |||
705 | // supported on Qt/Embedded where reducing the library size is important | 742 | // supported on Qt/Embedded where reducing the library size is important |
706 | // and where the application-suite is often a fixed set. | 743 | // and where the application-suite is often a fixed set. |
707 | // | 744 | // |
708 | 745 | ||
709 | #if !defined(QT_MOC) | 746 | #if !defined(QT_MOC) |
710 | #if defined(QCONFIG_LOCAL) | 747 | #if defined(QCONFIG_LOCAL) |
711 | #include <qconfig-local.h> | 748 | #include "qconfig-local.h" |
712 | #elif defined(QCONFIG_MINIMAL) | 749 | #elif defined(QCONFIG_MINIMAL) |
713 | #include <qconfig-minimal.h> | 750 | #include "qconfig-minimal.h" |
714 | #elif defined(QCONFIG_SMALL) | 751 | #elif defined(QCONFIG_SMALL) |
715 | #include <qconfig-small.h> | 752 | #include "qconfig-small.h" |
716 | #elif defined(QCONFIG_MEDIUM) | 753 | #elif defined(QCONFIG_MEDIUM) |
717 | #include <qconfig-medium.h> | 754 | #include "qconfig-medium.h" |
718 | #elif defined(QCONFIG_LARGE) | 755 | #elif defined(QCONFIG_LARGE) |
719 | #include <qconfig-large.h> | 756 | #include "qconfig-large.h" |
720 | #else // everything... | 757 | #else // everything... |
721 | #include <qconfig.h> | 758 | #include "qconfig.h" |
722 | #endif | 759 | #endif |
723 | #endif | 760 | #endif |
724 | 761 | ||
725 | 762 | ||
726 | #ifndef QT_BUILD_KEY | 763 | #ifndef QT_BUILD_KEY |
727 | #define QT_BUILD_KEY "unspecified" | 764 | #define QT_BUILD_KEY "unspecified" |
728 | #endif | 765 | #endif |
729 | 766 | ||
730 | // prune to local config | 767 | // prune to local config |
731 | #include "qmodules.h" | 768 | #include "qmodules.h" |
769 | #ifndef QT_MODULE_DIALOGS | ||
770 | # define QT_NO_DIALOG | ||
771 | #endif | ||
732 | #ifndef QT_MODULE_ICONVIEW | 772 | #ifndef QT_MODULE_ICONVIEW |
733 | # define QT_NO_ICONVIEW | 773 | # define QT_NO_ICONVIEW |
734 | #endif | 774 | #endif |
735 | #ifndef QT_MODULE_WORKSPACE | 775 | #ifndef QT_MODULE_WORKSPACE |
736 | # define QT_NO_WORKSPACE | 776 | # define QT_NO_WORKSPACE |
737 | #endif | 777 | #endif |
@@ -778,22 +818,22 @@ class QDataStream; | |||
778 | 818 | ||
779 | #if !defined(Q_WS_QWS) && !defined(QT_NO_COP) | 819 | #if !defined(Q_WS_QWS) && !defined(QT_NO_COP) |
780 | # define QT_NO_COP | 820 | # define QT_NO_COP |
781 | #endif | 821 | #endif |
782 | 822 | ||
783 | #ifndef QT_H | 823 | #ifndef QT_H |
784 | #include <qfeatures.h> | 824 | #include "qfeatures.h" |
785 | #endif // QT_H | 825 | #endif /* QT_H */ |
786 | 826 | ||
787 | 827 | ||
788 | // | 828 | // |
789 | // Create Qt DLL if QT_DLL is defined (Windows only) | 829 | // Create Qt DLL if QT_DLL is defined (Windows only) |
790 | // or QT_SHARED is defined (Kylix only) | 830 | // or QT_SHARED is defined (Kylix only) |
791 | // | 831 | // |
792 | 832 | ||
793 | #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) | 833 | #if defined(Q_OS_WIN) |
794 | # if defined(QT_NODLL) | 834 | # if defined(QT_NODLL) |
795 | # undef QT_MAKEDLL | 835 | # undef QT_MAKEDLL |
796 | # undef QT_DLL | 836 | # undef QT_DLL |
797 | # elif defined(QT_MAKEDLL)/* create a Qt DLL library */ | 837 | # elif defined(QT_MAKEDLL)/* create a Qt DLL library */ |
798 | # if defined(QT_DLL) | 838 | # if defined(QT_DLL) |
799 | # undef QT_DLL | 839 | # undef QT_DLL |
@@ -847,12 +887,13 @@ extern Q_EXPORT bool qt_winunicode; | |||
847 | // | 887 | // |
848 | // System information | 888 | // System information |
849 | // | 889 | // |
850 | 890 | ||
851 | Q_EXPORT const char *qVersion(); | 891 | Q_EXPORT const char *qVersion(); |
852 | Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); | 892 | Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); |
893 | Q_EXPORT bool qSharedBuild(); | ||
853 | #if defined(Q_OS_MAC) | 894 | #if defined(Q_OS_MAC) |
854 | int qMacVersion(); | 895 | int qMacVersion(); |
855 | #elif defined(Q_WS_WIN) | 896 | #elif defined(Q_WS_WIN) |
856 | Q_EXPORT int qWinVersion(); | 897 | Q_EXPORT int qWinVersion(); |
857 | #if defined(UNICODE) | 898 | #if defined(UNICODE) |
858 | #define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi } | 899 | #define QT_WA( uni, ansi ) if ( qt_winunicode ) { uni } else { ansi } |
@@ -880,13 +921,12 @@ Q_EXPORT int qWinVersion(); | |||
880 | # define Q_TYPENAME typename | 921 | # define Q_TYPENAME typename |
881 | #endif | 922 | #endif |
882 | 923 | ||
883 | // | 924 | // |
884 | // Use to avoid "unused parameter" warnings | 925 | // Use to avoid "unused parameter" warnings |
885 | // | 926 | // |
886 | |||
887 | #define Q_UNUSED(x) (void)x; | 927 | #define Q_UNUSED(x) (void)x; |
888 | 928 | ||
889 | // | 929 | // |
890 | // Debugging and error handling | 930 | // Debugging and error handling |
891 | // | 931 | // |
892 | 932 | ||
@@ -1012,38 +1052,42 @@ Q_EXPORT const char *qInstallPath(); | |||
1012 | Q_EXPORT const char *qInstallPathDocs(); | 1052 | Q_EXPORT const char *qInstallPathDocs(); |
1013 | Q_EXPORT const char *qInstallPathHeaders(); | 1053 | Q_EXPORT const char *qInstallPathHeaders(); |
1014 | Q_EXPORT const char *qInstallPathLibs(); | 1054 | Q_EXPORT const char *qInstallPathLibs(); |
1015 | Q_EXPORT const char *qInstallPathBins(); | 1055 | Q_EXPORT const char *qInstallPathBins(); |
1016 | Q_EXPORT const char *qInstallPathPlugins(); | 1056 | Q_EXPORT const char *qInstallPathPlugins(); |
1017 | Q_EXPORT const char *qInstallPathData(); | 1057 | Q_EXPORT const char *qInstallPathData(); |
1058 | Q_EXPORT const char *qInstallPathTranslations(); | ||
1059 | Q_EXPORT const char *qInstallPathSysconf(); | ||
1018 | 1060 | ||
1019 | #endif // __cplusplus | 1061 | #endif /* __cplusplus */ |
1020 | 1062 | ||
1021 | // compilers which follow outdated template instantiation rules | 1063 | /* |
1022 | // require a class to have a comparison operator to exist when | 1064 | compilers which follow outdated template instantiation rules |
1023 | // a QValueList of this type is instantiated. It's not actually | 1065 | require a class to have a comparison operator to exist when |
1024 | // used in the list, though. Hence the dummy implementation. | 1066 | a QValueList of this type is instantiated. It's not actually |
1025 | // Just in case other code relies on it we better trigger a warning | 1067 | used in the list, though. Hence the dummy implementation. |
1026 | // mandating a real implementation. | 1068 | Just in case other code relies on it we better trigger a warning |
1069 | mandating a real implementation. | ||
1070 | */ | ||
1027 | #ifdef Q_FULL_TEMPLATE_INSTANTIATION | 1071 | #ifdef Q_FULL_TEMPLATE_INSTANTIATION |
1028 | # define Q_DUMMY_COMPARISON_OPERATOR(C) \ | 1072 | # define Q_DUMMY_COMPARISON_OPERATOR(C) \ |
1029 | bool operator==( const C& ) const { \ | 1073 | bool operator==( const C& ) const { \ |
1030 | qWarning( #C"::operator==( const "#C"& ) got called." ); \ | 1074 | qWarning( #C"::operator==( const "#C"& ) got called." ); \ |
1031 | return FALSE; \ | 1075 | return FALSE; \ |
1032 | } | 1076 | } |
1033 | #else | 1077 | #else |
1034 | # define Q_DUMMY_COMPARISON_OPERATOR(C) | 1078 | # define Q_DUMMY_COMPARISON_OPERATOR(C) |
1035 | #endif | 1079 | #endif |
1036 | 1080 | ||
1037 | #endif // QGLOBAL_H | 1081 | #endif /* QGLOBAL_H */ |
1038 | 1082 | ||
1039 | // | 1083 | /* |
1040 | // Avoid some particularly useless warnings from some stupid compilers. | 1084 | Avoid some particularly useless warnings from some stupid compilers. |
1041 | // To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out | 1085 | To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out |
1042 | // the line "#define QT_NO_WARNINGS" | 1086 | the line "#define QT_NO_WARNINGS" |
1043 | // | 1087 | */ |
1044 | 1088 | ||
1045 | #if !defined(QT_CC_WARNINGS) | 1089 | #if !defined(QT_CC_WARNINGS) |
1046 | # define QT_NO_WARNINGS | 1090 | # define QT_NO_WARNINGS |
1047 | #endif | 1091 | #endif |
1048 | #if defined(QT_NO_WARNINGS) | 1092 | #if defined(QT_NO_WARNINGS) |
1049 | # if defined(Q_CC_MSVC) | 1093 | # if defined(Q_CC_MSVC) |
@@ -1063,10 +1107,9 @@ Q_EXPORT const char *qInstallPathData(); | |||
1063 | # pragma option -w-aus | 1107 | # pragma option -w-aus |
1064 | # pragma warn -inl | 1108 | # pragma warn -inl |
1065 | # pragma warn -pia | 1109 | # pragma warn -pia |
1066 | # pragma warn -ccc | 1110 | # pragma warn -ccc |
1067 | # pragma warn -rch | 1111 | # pragma warn -rch |
1068 | # pragma warn -sig | 1112 | # pragma warn -sig |
1069 | # elif defined(Q_CC_MWERKS) | ||
1070 | # pragma warn_possunwant off | ||
1071 | # endif | 1113 | # endif |
1072 | #endif | 1114 | #endif |
1115 | |||
diff --git a/qmake/include/qlocale.h b/qmake/include/qlocale.h new file mode 100644 index 0000000..20ad03b --- a/dev/null +++ b/qmake/include/qlocale.h | |||
@@ -0,0 +1,491 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** Declaration of the QLocale class | ||
5 | ** | ||
6 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
20 | ** licenses may use this file in accordance with the Qt Commercial License | ||
21 | ** Agreement provided with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | |||
36 | #ifndef QLOCALE_H | ||
37 | #define QLOCALE_H | ||
38 | |||
39 | #include "qstring.h" | ||
40 | |||
41 | struct QLocalePrivate; | ||
42 | |||
43 | class Q_EXPORT QLocale | ||
44 | { | ||
45 | friend class QString; | ||
46 | |||
47 | public: | ||
48 | enum Language { | ||
49 | C = 1, | ||
50 | Abkhazian = 2, | ||
51 | Afan = 3, | ||
52 | Afar = 4, | ||
53 | Afrikaans = 5, | ||
54 | Albanian = 6, | ||
55 | Amharic = 7, | ||
56 | Arabic = 8, | ||
57 | Armenian = 9, | ||
58 | Assamese = 10, | ||
59 | Aymara = 11, | ||
60 | Azerbaijani = 12, | ||
61 | Bashkir = 13, | ||
62 | Basque = 14, | ||
63 | Bengali = 15, | ||
64 | Bhutani = 16, | ||
65 | Bihari = 17, | ||
66 | Bislama = 18, | ||
67 | Breton = 19, | ||
68 | Bulgarian = 20, | ||
69 | Burmese = 21, | ||
70 | Byelorussian = 22, | ||
71 | Cambodian = 23, | ||
72 | Catalan = 24, | ||
73 | Chinese = 25, | ||
74 | Corsican = 26, | ||
75 | Croatian = 27, | ||
76 | Czech = 28, | ||
77 | Danish = 29, | ||
78 | Dutch = 30, | ||
79 | English = 31, | ||
80 | Esperanto = 32, | ||
81 | Estonian = 33, | ||
82 | Faroese = 34, | ||
83 | FijiLanguage = 35, | ||
84 | Finnish = 36, | ||
85 | French = 37, | ||
86 | Frisian = 38, | ||
87 | Gaelic = 39, | ||
88 | Galician = 40, | ||
89 | Georgian = 41, | ||
90 | German = 42, | ||
91 | Greek = 43, | ||
92 | Greenlandic = 44, | ||
93 | Guarani = 45, | ||
94 | Gujarati = 46, | ||
95 | Hausa = 47, | ||
96 | Hebrew = 48, | ||
97 | Hindi = 49, | ||
98 | Hungarian = 50, | ||
99 | Icelandic = 51, | ||
100 | Indonesian = 52, | ||
101 | Interlingua = 53, | ||
102 | Interlingue = 54, | ||
103 | Inuktitut = 55, | ||
104 | Inupiak = 56, | ||
105 | Irish = 57, | ||
106 | Italian = 58, | ||
107 | Japanese = 59, | ||
108 | Javanese = 60, | ||
109 | Kannada = 61, | ||
110 | Kashmiri = 62, | ||
111 | Kazakh = 63, | ||
112 | Kinyarwanda = 64, | ||
113 | Kirghiz = 65, | ||
114 | Korean = 66, | ||
115 | Kurdish = 67, | ||
116 | Kurundi = 68, | ||
117 | Laothian = 69, | ||
118 | Latin = 70, | ||
119 | Latvian = 71, | ||
120 | Lingala = 72, | ||
121 | Lithuanian = 73, | ||
122 | Macedonian = 74, | ||
123 | Malagasy = 75, | ||
124 | Malay = 76, | ||
125 | Malayalam = 77, | ||
126 | Maltese = 78, | ||
127 | Maori = 79, | ||
128 | Marathi = 80, | ||
129 | Moldavian = 81, | ||
130 | Mongolian = 82, | ||
131 | NauruLanguage = 83, | ||
132 | Nepali = 84, | ||
133 | Norwegian = 85, | ||
134 | Occitan = 86, | ||
135 | Oriya = 87, | ||
136 | Pashto = 88, | ||
137 | Persian = 89, | ||
138 | Polish = 90, | ||
139 | Portuguese = 91, | ||
140 | Punjabi = 92, | ||
141 | Quechua = 93, | ||
142 | RhaetoRomance = 94, | ||
143 | Romanian = 95, | ||
144 | Russian = 96, | ||
145 | Samoan = 97, | ||
146 | Sangho = 98, | ||
147 | Sanskrit = 99, | ||
148 | Serbian = 100, | ||
149 | SerboCroatian = 101, | ||
150 | Sesotho = 102, | ||
151 | Setswana = 103, | ||
152 | Shona = 104, | ||
153 | Sindhi = 105, | ||
154 | Singhalese = 106, | ||
155 | Siswati = 107, | ||
156 | Slovak = 108, | ||
157 | Slovenian = 109, | ||
158 | Somali = 110, | ||
159 | Spanish = 111, | ||
160 | Sundanese = 112, | ||
161 | Swahili = 113, | ||
162 | Swedish = 114, | ||
163 | Tagalog = 115, | ||
164 | Tajik = 116, | ||
165 | Tamil = 117, | ||
166 | Tatar = 118, | ||
167 | Telugu = 119, | ||
168 | Thai = 120, | ||
169 | Tibetan = 121, | ||
170 | Tigrinya = 122, | ||
171 | TongaLanguage = 123, | ||
172 | Tsonga = 124, | ||
173 | Turkish = 125, | ||
174 | Turkmen = 126, | ||
175 | Twi = 127, | ||
176 | Uigur = 128, | ||
177 | Ukrainian = 129, | ||
178 | Urdu = 130, | ||
179 | Uzbek = 131, | ||
180 | Vietnamese = 132, | ||
181 | Volapuk = 133, | ||
182 | Welsh = 134, | ||
183 | Wolof = 135, | ||
184 | Xhosa = 136, | ||
185 | Yiddish = 137, | ||
186 | Yoruba = 138, | ||
187 | Zhuang = 139, | ||
188 | Zulu = 140, | ||
189 | LastLanguage = Zulu | ||
190 | }; | ||
191 | |||
192 | enum Country { | ||
193 | AnyCountry = 0, | ||
194 | Afghanistan = 1, | ||
195 | Albania = 2, | ||
196 | Algeria = 3, | ||
197 | AmericanSamoa = 4, | ||
198 | Andorra = 5, | ||
199 | Angola = 6, | ||
200 | Anguilla = 7, | ||
201 | Antarctica = 8, | ||
202 | AntiguaAndBarbuda = 9, | ||
203 | Argentina = 10, | ||
204 | Armenia = 11, | ||
205 | Aruba = 12, | ||
206 | Australia = 13, | ||
207 | Austria = 14, | ||
208 | Azerbaijan = 15, | ||
209 | Bahamas = 16, | ||
210 | Bahrain = 17, | ||
211 | Bangladesh = 18, | ||
212 | Barbados = 19, | ||
213 | Belarus = 20, | ||
214 | Belgium = 21, | ||
215 | Belize = 22, | ||
216 | Benin = 23, | ||
217 | Bermuda = 24, | ||
218 | Bhutan = 25, | ||
219 | Bolivia = 26, | ||
220 | BosniaAndHerzegowina = 27, | ||
221 | Botswana = 28, | ||
222 | BouvetIsland = 29, | ||
223 | Brazil = 30, | ||
224 | BritishIndianOceanTerritory = 31, | ||
225 | BruneiDarussalam = 32, | ||
226 | Bulgaria = 33, | ||
227 | BurkinaFaso = 34, | ||
228 | Burundi = 35, | ||
229 | Cambodia = 36, | ||
230 | Cameroon = 37, | ||
231 | Canada = 38, | ||
232 | CapeVerde = 39, | ||
233 | CaymanIslands = 40, | ||
234 | CentralAfricanRepublic = 41, | ||
235 | Chad = 42, | ||
236 | Chile = 43, | ||
237 | China = 44, | ||
238 | ChristmasIsland = 45, | ||
239 | CocosIslands = 46, | ||
240 | Colombia = 47, | ||
241 | Comoros = 48, | ||
242 | DemocraticRepublicOfCongo = 49, | ||
243 | PeoplesRepublicOfCongo = 50, | ||
244 | CookIslands = 51, | ||
245 | CostaRica = 52, | ||
246 | IvoryCoast = 53, | ||
247 | Croatia = 54, | ||
248 | Cuba = 55, | ||
249 | Cyprus = 56, | ||
250 | CzechRepublic = 57, | ||
251 | Denmark = 58, | ||
252 | Djibouti = 59, | ||
253 | Dominica = 60, | ||
254 | DominicanRepublic = 61, | ||
255 | EastTimor = 62, | ||
256 | Ecuador = 63, | ||
257 | Egypt = 64, | ||
258 | ElSalvador = 65, | ||
259 | EquatorialGuinea = 66, | ||
260 | Eritrea = 67, | ||
261 | Estonia = 68, | ||
262 | Ethiopia = 69, | ||
263 | FalklandIslands = 70, | ||
264 | FaroeIslands = 71, | ||
265 | FijiCountry = 72, | ||
266 | Finland = 73, | ||
267 | France = 74, | ||
268 | MetropolitanFrance = 75, | ||
269 | FrenchGuiana = 76, | ||
270 | FrenchPolynesia = 77, | ||
271 | FrenchSouthernTerritories = 78, | ||
272 | Gabon = 79, | ||
273 | Gambia = 80, | ||
274 | Georgia = 81, | ||
275 | Germany = 82, | ||
276 | Ghana = 83, | ||
277 | Gibraltar = 84, | ||
278 | Greece = 85, | ||
279 | Greenland = 86, | ||
280 | Grenada = 87, | ||
281 | Guadeloupe = 88, | ||
282 | Guam = 89, | ||
283 | Guatemala = 90, | ||
284 | Guinea = 91, | ||
285 | GuineaBissau = 92, | ||
286 | Guyana = 93, | ||
287 | Haiti = 94, | ||
288 | HeardAndMcDonaldIslands = 95, | ||
289 | Honduras = 96, | ||
290 | HongKong = 97, | ||
291 | Hungary = 98, | ||
292 | Iceland = 99, | ||
293 | India = 100, | ||
294 | Indonesia = 101, | ||
295 | Iran = 102, | ||
296 | Iraq = 103, | ||
297 | Ireland = 104, | ||
298 | Israel = 105, | ||
299 | Italy = 106, | ||
300 | Jamaica = 107, | ||
301 | Japan = 108, | ||
302 | Jordan = 109, | ||
303 | Kazakhstan = 110, | ||
304 | Kenya = 111, | ||
305 | Kiribati = 112, | ||
306 | DemocraticRepublicOfKorea = 113, | ||
307 | RepublicOfKorea = 114, | ||
308 | Kuwait = 115, | ||
309 | Kyrgyzstan = 116, | ||
310 | Lao = 117, | ||
311 | Latvia = 118, | ||
312 | Lebanon = 119, | ||
313 | Lesotho = 120, | ||
314 | Liberia = 121, | ||
315 | LibyanArabJamahiriya = 122, | ||
316 | Liechtenstein = 123, | ||
317 | Lithuania = 124, | ||
318 | Luxembourg = 125, | ||
319 | Macau = 126, | ||
320 | Macedonia = 127, | ||
321 | Madagascar = 128, | ||
322 | Malawi = 129, | ||
323 | Malaysia = 130, | ||
324 | Maldives = 131, | ||
325 | Mali = 132, | ||
326 | Malta = 133, | ||
327 | MarshallIslands = 134, | ||
328 | Martinique = 135, | ||
329 | Mauritania = 136, | ||
330 | Mauritius = 137, | ||
331 | Mayotte = 138, | ||
332 | Mexico = 139, | ||
333 | Micronesia = 140, | ||
334 | Moldova = 141, | ||
335 | Monaco = 142, | ||
336 | Mongolia = 143, | ||
337 | Montserrat = 144, | ||
338 | Morocco = 145, | ||
339 | Mozambique = 146, | ||
340 | Myanmar = 147, | ||
341 | Namibia = 148, | ||
342 | NauruCountry = 149, | ||
343 | Nepal = 150, | ||
344 | Netherlands = 151, | ||
345 | NetherlandsAntilles = 152, | ||
346 | NewCaledonia = 153, | ||
347 | NewZealand = 154, | ||
348 | Nicaragua = 155, | ||
349 | Niger = 156, | ||
350 | Nigeria = 157, | ||
351 | Niue = 158, | ||
352 | NorfolkIsland = 159, | ||
353 | NorthernMarianaIslands = 160, | ||
354 | Norway = 161, | ||
355 | Oman = 162, | ||
356 | Pakistan = 163, | ||
357 | Palau = 164, | ||
358 | PalestinianTerritory = 165, | ||
359 | Panama = 166, | ||
360 | PapuaNewGuinea = 167, | ||
361 | Paraguay = 168, | ||
362 | Peru = 169, | ||
363 | Philippines = 170, | ||
364 | Pitcairn = 171, | ||
365 | Poland = 172, | ||
366 | Portugal = 173, | ||
367 | PuertoRico = 174, | ||
368 | Qatar = 175, | ||
369 | Reunion = 176, | ||
370 | Romania = 177, | ||
371 | RussianFederation = 178, | ||
372 | Rwanda = 179, | ||
373 | SaintKittsAndNevis = 180, | ||
374 | StLucia = 181, | ||
375 | StVincentAndTheGrenadines = 182, | ||
376 | Samoa = 183, | ||
377 | SanMarino = 184, | ||
378 | SaoTomeAndPrincipe = 185, | ||
379 | SaudiArabia = 186, | ||
380 | Senegal = 187, | ||
381 | Seychelles = 188, | ||
382 | SierraLeone = 189, | ||
383 | Singapore = 190, | ||
384 | Slovakia = 191, | ||
385 | Slovenia = 192, | ||
386 | SolomonIslands = 193, | ||
387 | Somalia = 194, | ||
388 | SouthAfrica = 195, | ||
389 | SouthGeorgiaAndTheSouthSandwichIslands = 196, | ||
390 | Spain = 197, | ||
391 | SriLanka = 198, | ||
392 | StHelena = 199, | ||
393 | StPierreAndMiquelon = 200, | ||
394 | Sudan = 201, | ||
395 | Suriname = 202, | ||
396 | SvalbardAndJanMayenIslands = 203, | ||
397 | Swaziland = 204, | ||
398 | Sweden = 205, | ||
399 | Switzerland = 206, | ||
400 | SyrianArabRepublic = 207, | ||
401 | Taiwan = 208, | ||
402 | Tajikistan = 209, | ||
403 | Tanzania = 210, | ||
404 | Thailand = 211, | ||
405 | Togo = 212, | ||
406 | Tokelau = 213, | ||
407 | TongaCountry = 214, | ||
408 | TrinidadAndTobago = 215, | ||
409 | Tunisia = 216, | ||
410 | Turkey = 217, | ||
411 | Turkmenistan = 218, | ||
412 | TurksAndCaicosIslands = 219, | ||
413 | Tuvalu = 220, | ||
414 | Uganda = 221, | ||
415 | Ukraine = 222, | ||
416 | UnitedArabEmirates = 223, | ||
417 | UnitedKingdom = 224, | ||
418 | UnitedStates = 225, | ||
419 | UnitedStatesMinorOutlyingIslands = 226, | ||
420 | Uruguay = 227, | ||
421 | Uzbekistan = 228, | ||
422 | Vanuatu = 229, | ||
423 | VaticanCityState = 230, | ||
424 | Venezuela = 231, | ||
425 | VietNam = 232, | ||
426 | BritishVirginIslands = 233, | ||
427 | USVirginIslands = 234, | ||
428 | WallisAndFutunaIslands = 235, | ||
429 | WesternSahara = 236, | ||
430 | Yemen = 237, | ||
431 | Yugoslavia = 238, | ||
432 | Zambia = 239, | ||
433 | Zimbabwe = 240, | ||
434 | LastCountry = Zimbabwe | ||
435 | }; | ||
436 | |||
437 | QLocale(); | ||
438 | QLocale(const QString &name); | ||
439 | QLocale(Language language, Country country = AnyCountry); | ||
440 | QLocale(const QLocale &other); | ||
441 | |||
442 | QLocale &operator=(const QLocale &other); | ||
443 | |||
444 | Language language() const; | ||
445 | Country country() const; | ||
446 | QString name() const; | ||
447 | |||
448 | short toShort(const QString &s, bool *ok = 0) const; | ||
449 | ushort toUShort(const QString &s, bool *ok = 0) const; | ||
450 | int toInt(const QString &s, bool *ok = 0) const; | ||
451 | uint toUInt(const QString &s, bool *ok = 0) const; | ||
452 | Q_LONG toLong(const QString &s, bool *ok = 0) const; | ||
453 | Q_ULONG toULong(const QString &s, bool *ok = 0) const; | ||
454 | Q_LLONG toLongLong(const QString &s, bool *ok = 0) const; | ||
455 | Q_ULLONG toULongLong(const QString &s, bool *ok = 0) const; | ||
456 | float toFloat(const QString &s, bool *ok = 0) const; | ||
457 | double toDouble(const QString &s, bool *ok = 0) const; | ||
458 | |||
459 | QString toString(short i) const | ||
460 | { return toString((Q_LLONG)i); } | ||
461 | QString toString(ushort i) const | ||
462 | { return toString((Q_ULLONG)i); } | ||
463 | QString toString(int i) const | ||
464 | { return toString((Q_LLONG)i); } | ||
465 | QString toString(uint i) const | ||
466 | { return toString((Q_ULLONG)i); } | ||
467 | #if !defined(Q_OS_WIN64) | ||
468 | QString toString(Q_LONG i) const | ||
469 | { return toString((Q_LLONG)i); } | ||
470 | QString toString(Q_ULONG i) const | ||
471 | { return toString((Q_ULLONG)i); } | ||
472 | #endif | ||
473 | QString toString(Q_LLONG i) const; | ||
474 | QString toString(Q_ULLONG i) const; | ||
475 | QString toString(float i, char f = 'g', int prec = 6) const | ||
476 | { return toString((double) i, f, prec); } | ||
477 | QString toString(double i, char f = 'g', int prec = 6) const; | ||
478 | |||
479 | static QString languageToString(Language language); | ||
480 | static QString countryToString(Country country); | ||
481 | static void setDefault(const QLocale &locale); | ||
482 | |||
483 | static QLocale c() { return QLocale(C); } | ||
484 | static QLocale system(); | ||
485 | |||
486 | private: | ||
487 | const QLocalePrivate *d; | ||
488 | static const QLocalePrivate *default_d; | ||
489 | }; | ||
490 | |||
491 | #endif | ||
diff --git a/qmake/include/qsettings.h b/qmake/include/qsettings.h new file mode 100644 index 0000000..72f04eb --- a/dev/null +++ b/qmake/include/qsettings.h | |||
@@ -0,0 +1,156 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** Definition of QSettings class | ||
5 | ** | ||
6 | ** Created : 000626 | ||
7 | ** | ||
8 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
9 | ** | ||
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
11 | ** | ||
12 | ** This file may be distributed under the terms of the Q Public License | ||
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
20 | ** | ||
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
22 | ** licenses may use this file in accordance with the Qt Commercial License | ||
23 | ** Agreement provided with the Software. | ||
24 | ** | ||
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
27 | ** | ||
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
29 | ** information about Qt Commercial License Agreements. | ||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
32 | ** | ||
33 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
34 | ** not clear to you. | ||
35 | ** | ||
36 | **********************************************************************/ | ||
37 | |||
38 | #ifndef QSETTINGS_H | ||
39 | #define QSETTINGS_H | ||
40 | |||
41 | #ifndef QT_H | ||
42 | #include "qdatetime.h" | ||
43 | #include "qstringlist.h" | ||
44 | #endif // QT_H | ||
45 | |||
46 | #ifndef QT_NO_SETTINGS | ||
47 | |||
48 | class QSettingsPrivate; | ||
49 | |||
50 | |||
51 | class Q_EXPORT QSettings | ||
52 | { | ||
53 | public: | ||
54 | enum Format { | ||
55 | Native = 0, | ||
56 | Ini | ||
57 | }; | ||
58 | enum System { | ||
59 | Unix = 0, | ||
60 | Windows, | ||
61 | Mac | ||
62 | }; | ||
63 | enum Scope { | ||
64 | User, | ||
65 | Global | ||
66 | }; | ||
67 | |||
68 | QSettings(); | ||
69 | QSettings( Format format ); | ||
70 | |||
71 | ~QSettings(); | ||
72 | |||
73 | #if !defined(Q_NO_BOOL_TYPE) | ||
74 | boolwriteEntry( const QString &, bool ); | ||
75 | #endif | ||
76 | boolwriteEntry( const QString &, double ); | ||
77 | boolwriteEntry( const QString &, int ); | ||
78 | boolwriteEntry( const QString &, const char * ); | ||
79 | boolwriteEntry( const QString &, const QString & ); | ||
80 | boolwriteEntry( const QString &, const QStringList & ); | ||
81 | boolwriteEntry( const QString &, const QStringList &, const QChar& sep ); | ||
82 | |||
83 | QStringList entryList(const QString &) const; | ||
84 | QStringList subkeyList(const QString &) const; | ||
85 | |||
86 | //### remove non const versions in 4.0 | ||
87 | QStringList readListEntry( const QString &, bool * = 0 ); | ||
88 | QStringList readListEntry( const QString &, const QChar& sep, bool * = 0 ); | ||
89 | QStringreadEntry( const QString &, const QString &def = QString::null, bool * = 0 ); | ||
90 | int readNumEntry( const QString &, int def = 0, bool * = 0 ); | ||
91 | doublereadDoubleEntry( const QString &, double def = 0, bool * = 0 ); | ||
92 | boolreadBoolEntry( const QString &, bool def = FALSE, bool * = 0 ); | ||
93 | |||
94 | //### make those non-inlined in 4.0 | ||
95 | QStringList readListEntry( const QString &key, bool *ok = 0 ) const | ||
96 | { | ||
97 | QSettings *that = (QSettings*)this; | ||
98 | return that->readListEntry( key, ok ); | ||
99 | } | ||
100 | QStringList readListEntry( const QString &key, const QChar& sep, bool *ok = 0 ) const | ||
101 | { | ||
102 | QSettings *that = (QSettings*)this; | ||
103 | return that->readListEntry( key, sep, ok ); | ||
104 | } | ||
105 | QStringreadEntry( const QString &key, const QString &def = QString::null, | ||
106 | bool *ok = 0 ) const | ||
107 | { | ||
108 | QSettings *that = (QSettings*)this; | ||
109 | return that->readEntry( key, def, ok ); | ||
110 | } | ||
111 | int readNumEntry( const QString &key, int def = 0, bool *ok = 0 ) const | ||
112 | { | ||
113 | QSettings *that = (QSettings*)this; | ||
114 | return that->readNumEntry( key, def, ok ); | ||
115 | } | ||
116 | |||
117 | doublereadDoubleEntry( const QString &key, double def = 0, bool *ok = 0 ) const | ||
118 | { | ||
119 | QSettings *that = (QSettings*)this; | ||
120 | return that->readDoubleEntry( key, def, ok ); | ||
121 | } | ||
122 | boolreadBoolEntry( const QString &key, bool def = FALSE, bool *ok = 0 ) const | ||
123 | { | ||
124 | QSettings *that = (QSettings*)this; | ||
125 | return that->readBoolEntry( key, def, ok ); | ||
126 | } | ||
127 | |||
128 | boolremoveEntry( const QString & ); | ||
129 | |||
130 | void insertSearchPath( System, const QString & ); | ||
131 | void removeSearchPath( System, const QString & ); | ||
132 | |||
133 | void setPath( const QString &domain, const QString &product, Scope = Global ); | ||
134 | |||
135 | void beginGroup( const QString &group ); | ||
136 | void endGroup(); | ||
137 | void resetGroup(); | ||
138 | QString group() const; | ||
139 | |||
140 | bool sync(); | ||
141 | |||
142 | private: | ||
143 | QSettingsPrivate *d; | ||
144 | |||
145 | #if defined(Q_DISABLE_COPY) | ||
146 | QSettings(const QSettings &); | ||
147 | QSettings &operator=(const QSettings &); | ||
148 | #endif | ||
149 | |||
150 | QDateTime lastModificationTime( const QString & ); | ||
151 | |||
152 | friend class QApplication; | ||
153 | }; | ||
154 | |||
155 | #endif // QT_NO_SETTINGS | ||
156 | #endif // QSETTINGS_H | ||
diff --git a/qmake/include/qunicodetables_p.h b/qmake/include/qunicodetables_p.h new file mode 100644 index 0000000..0e799e4 --- a/dev/null +++ b/qmake/include/qunicodetables_p.h | |||
@@ -0,0 +1,263 @@ | |||
1 | /**************************************************************************** | ||
2 | ** | ||
3 | ** | ||
4 | ** ??? | ||
5 | ** | ||
6 | ** Copyright (C) 2003 Trolltech AS. All rights reserved. | ||
7 | ** | ||
8 | ** This file is part of the widgets module of the Qt GUI Toolkit. | ||
9 | ** | ||
10 | ** This file may be distributed under the terms of the Q Public License | ||
11 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
12 | ** LICENSE.QPL included in the packaging of this file. | ||
13 | ** | ||
14 | ** This file may be distributed and/or modified under the terms of the | ||
15 | ** GNU General Public License version 2 as published by the Free Software | ||
16 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
17 | ** packaging of this file. | ||
18 | ** | ||
19 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
20 | ** licenses may use this file in accordance with the Qt Commercial License | ||
21 | ** Agreement provided with the Software. | ||
22 | ** | ||
23 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
24 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
25 | ** | ||
26 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
27 | ** information about Qt Commercial License Agreements. | ||
28 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
29 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
30 | ** | ||
31 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
32 | ** not clear to you. | ||
33 | ** | ||
34 | **********************************************************************/ | ||
35 | |||
36 | #ifndef QUNICODETABLES_P_H | ||
37 | #define QUNICODETABLES_P_H | ||
38 | |||
39 | // | ||
40 | // W A R N I N G | ||
41 | // ------------- | ||
42 | // | ||
43 | // This file is not part of the Qt API. It exists for the convenience | ||
44 | // of internal files. This header file may change from version to version | ||
45 | // without notice, or even be removed. | ||
46 | // | ||
47 | // We mean it. | ||
48 | // | ||
49 | // | ||
50 | |||
51 | #ifndef QT_H | ||
52 | #include "qstring.h" | ||
53 | #endif // QT_H | ||
54 | |||
55 | #ifdef QT_NO_UNICODETABLES | ||
56 | # include <ctype.h> | ||
57 | #endif | ||
58 | |||
59 | class QUnicodeTables { | ||
60 | public: | ||
61 | static const Q_UINT8 unicode_info[]; | ||
62 | #ifndef QT_NO_UNICODETABLES | ||
63 | static const Q_UINT16 decomposition_map[]; | ||
64 | static const Q_UINT16 decomposition_info[]; | ||
65 | static const Q_UINT16 ligature_map[]; | ||
66 | static const Q_UINT16 ligature_info[]; | ||
67 | static const Q_UINT8 direction_info[]; | ||
68 | static const Q_UINT8 combining_info[]; | ||
69 | static const Q_UINT16 case_info[]; | ||
70 | static const Q_INT8 decimal_info[]; | ||
71 | static const Q_UINT16 symmetricPairs[]; | ||
72 | static const int symmetricPairsSize; | ||
73 | static const Q_UINT8 line_break_info[]; | ||
74 | #else | ||
75 | static const Q_UINT8 latin1_line_break_info[]; | ||
76 | #endif | ||
77 | static const unsigned char otherScripts[]; | ||
78 | static const unsigned char indicScripts[]; | ||
79 | static const unsigned char scriptTable[]; | ||
80 | enum { SCRIPTS_INDIC = 0x7e }; | ||
81 | |||
82 | // see http://www.unicode.org/reports/tr14/tr14-13.html | ||
83 | // we don't use the XX and AI properties and map them to AL instead. | ||
84 | enum LineBreakClass { | ||
85 | LineBreak_OP, LineBreak_CL, LineBreak_QU, LineBreak_GL, LineBreak_NS, | ||
86 | LineBreak_EX, LineBreak_SY, LineBreak_IS, LineBreak_PR, LineBreak_PO, | ||
87 | LineBreak_NU, LineBreak_AL, LineBreak_ID, LineBreak_IN, LineBreak_HY, | ||
88 | LineBreak_BA, LineBreak_BB, LineBreak_B2, LineBreak_ZW, LineBreak_CM, | ||
89 | LineBreak_SA, LineBreak_BK, LineBreak_CR, LineBreak_LF, LineBreak_SG, | ||
90 | LineBreak_CB, LineBreak_SP | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | |||
95 | inline QChar::Category category( const QChar &c ) | ||
96 | { | ||
97 | #ifdef QT_NO_UNICODETABLES | ||
98 | if ( c.unicode() > 0xff ) return QChar::Letter_Uppercase; //######## | ||
99 | return (QChar::Category)QUnicodeTables::unicode_info[c.unicode()]; | ||
100 | #else | ||
101 | register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; | ||
102 | uc += c.cell(); | ||
103 | return (QChar::Category)QUnicodeTables::unicode_info[uc]; | ||
104 | #endif // QT_NO_UNICODETABLES | ||
105 | } | ||
106 | |||
107 | inline QChar lower( const QChar &c ) | ||
108 | { | ||
109 | #ifndef QT_NO_UNICODETABLES | ||
110 | int row = c.row(); | ||
111 | int cell = c.cell(); | ||
112 | register int ci = QUnicodeTables::case_info[row]; | ||
113 | register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; | ||
114 | uc += c.cell(); | ||
115 | if (QUnicodeTables::unicode_info[uc] != QChar::Letter_Uppercase || !ci) | ||
116 | return c; | ||
117 | Q_UINT16 lower = QUnicodeTables::case_info[(ci<<8)+cell]; | ||
118 | return lower ? QChar(lower) : c; | ||
119 | #else | ||
120 | if ( c.row() ) | ||
121 | return c; | ||
122 | return QChar( tolower((uchar) c.latin1()) ); | ||
123 | #endif | ||
124 | } | ||
125 | |||
126 | inline QChar upper( const QChar &c ) | ||
127 | { | ||
128 | #ifndef QT_NO_UNICODETABLES | ||
129 | int row = c.row(); | ||
130 | int cell = c.cell(); | ||
131 | register int ci = QUnicodeTables::case_info[row]; | ||
132 | register int uc = ((int)QUnicodeTables::unicode_info[c.row()]) << 8; | ||
133 | uc += c.cell(); | ||
134 | if (QUnicodeTables::unicode_info[uc] != QChar::Letter_Lowercase || !ci) | ||
135 | return c; | ||
136 | Q_UINT16 upper = QUnicodeTables::case_info[(ci<<8)+cell]; | ||
137 | return upper ? QChar(upper) : c; | ||
138 | #else | ||
139 | if ( c.row() ) | ||
140 | return c; | ||
141 | return QChar( toupper((uchar) c.latin1()) ); | ||
142 | #endif | ||
143 | } | ||
144 | |||
145 | inline QChar::Direction direction( const QChar &c ) | ||
146 | { | ||
147 | #ifndef QT_NO_UNICODETABLES | ||
148 | register int pos = QUnicodeTables::direction_info[c.row()]; | ||
149 | return (QChar::Direction) (QUnicodeTables::direction_info[(pos<<8)+c.cell()] & 0x1f); | ||
150 | #else | ||
151 | Q_UNUSED(c); | ||
152 | return QChar::DirL; | ||
153 | #endif | ||
154 | } | ||
155 | |||
156 | inline bool mirrored( const QChar &c ) | ||
157 | { | ||
158 | #ifndef QT_NO_UNICODETABLES | ||
159 | register int pos = QUnicodeTables::direction_info[c.row()]; | ||
160 | return QUnicodeTables::direction_info[(pos<<8)+c.cell()] > 128; | ||
161 | #else | ||
162 | Q_UNUSED(c); | ||
163 | return FALSE; | ||
164 | #endif | ||
165 | } | ||
166 | |||
167 | |||
168 | inline QChar mirroredChar( const QChar &ch ) | ||
169 | { | ||
170 | #ifndef QT_NO_UNICODETABLES | ||
171 | if(!::mirrored( ch )) | ||
172 | return ch; | ||
173 | |||
174 | int i; | ||
175 | int c = ch.unicode(); | ||
176 | for (i = 0; i < QUnicodeTables::symmetricPairsSize; i ++) { | ||
177 | if (QUnicodeTables::symmetricPairs[i] == c) | ||
178 | return QUnicodeTables::symmetricPairs[(i%2) ? (i-1) : (i+1)]; | ||
179 | } | ||
180 | #endif | ||
181 | return ch; | ||
182 | } | ||
183 | |||
184 | inline QChar::Joining joining( const QChar &ch ) | ||
185 | { | ||
186 | #ifndef QT_NO_UNICODETABLES | ||
187 | register int pos = QUnicodeTables::direction_info[ch.row()]; | ||
188 | return (QChar::Joining) ((QUnicodeTables::direction_info[(pos<<8)+ch.cell()] >> 5) &0x3); | ||
189 | #else | ||
190 | Q_UNUSED(ch); | ||
191 | return QChar::OtherJoining; | ||
192 | #endif | ||
193 | } | ||
194 | |||
195 | inline bool isMark( const QChar &ch ) | ||
196 | { | ||
197 | QChar::Category c = ::category( ch ); | ||
198 | return c >= QChar::Mark_NonSpacing && c <= QChar::Mark_Enclosing; | ||
199 | } | ||
200 | |||
201 | inline unsigned char combiningClass( const QChar &ch ) | ||
202 | { | ||
203 | #ifndef QT_NO_UNICODETABLES | ||
204 | const int pos = QUnicodeTables::combining_info[ch.row()]; | ||
205 | return QUnicodeTables::combining_info[(pos<<8) + ch.cell()]; | ||
206 | #else | ||
207 | Q_UNUSED(ch); | ||
208 | return 0; | ||
209 | #endif | ||
210 | } | ||
211 | |||
212 | inline bool isSpace( const QChar &ch ) | ||
213 | { | ||
214 | if( ch.unicode() >= 9 && ch.unicode() <=13 ) return TRUE; | ||
215 | QChar::Category c = ::category( ch ); | ||
216 | return c >= QChar::Separator_Space && c <= QChar::Separator_Paragraph; | ||
217 | } | ||
218 | |||
219 | inline int lineBreakClass( const QChar &ch ) | ||
220 | { | ||
221 | #ifdef QT_NO_UNICODETABLES | ||
222 | return ch.row() ? QUnicodeTables::LineBreak_AL | ||
223 | : QUnicodeTables::latin1_line_break_info[ch.cell()]; | ||
224 | #else | ||
225 | register int pos = ((int)QUnicodeTables::line_break_info[ch.row()] << 8) + ch.cell(); | ||
226 | return QUnicodeTables::line_break_info[pos]; | ||
227 | #endif | ||
228 | } | ||
229 | |||
230 | inline int scriptForChar( ushort uc ) | ||
231 | { | ||
232 | unsigned char script = QUnicodeTables::scriptTable[(uc>>8)]; | ||
233 | if ( script >= QUnicodeTables::SCRIPTS_INDIC ) { | ||
234 | if ( script == QUnicodeTables::SCRIPTS_INDIC ) { | ||
235 | script = QUnicodeTables::indicScripts[ (uc-0x0900)>>7 ]; | ||
236 | } else { | ||
237 | // 0x80 + SCRIPTS_xx | ||
238 | unsigned char index = script-0x80; | ||
239 | unsigned char cell = uc &0xff; | ||
240 | while( QUnicodeTables::otherScripts[index++] < cell ) | ||
241 | index++; | ||
242 | script = QUnicodeTables::otherScripts[index]; | ||
243 | } | ||
244 | } | ||
245 | return script; | ||
246 | } | ||
247 | |||
248 | #ifdef Q_WS_X11 | ||
249 | #define SCRIPT_FOR_CHAR( script, c ) \ | ||
250 | do { \ | ||
251 | unsigned short _uc = (c).unicode(); \ | ||
252 | if ( _uc < 0x100 ) { \ | ||
253 | script = QFont::Latin; \ | ||
254 | } else { \ | ||
255 | script = (QFont::Script)scriptForChar( _uc ); \ | ||
256 | } \ | ||
257 | } while( FALSE ) | ||
258 | #else | ||
259 | #define SCRIPT_FOR_CHAR( script, c ) \ | ||
260 | script = (QFont::Script)scriptForChar( (c).unicode() ) | ||
261 | #endif | ||
262 | |||
263 | #endif | ||
diff --git a/qmake/include/quuid.h b/qmake/include/quuid.h index 664c149..f5d8a86 100644 --- a/qmake/include/quuid.h +++ b/qmake/include/quuid.h | |||
@@ -1,8 +1,8 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** |
3 | ** | 3 | ** |
4 | ** Definition of QUuid class | 4 | ** Definition of QUuid class |
5 | ** | 5 | ** |
6 | ** Created : 010523 | 6 | ** Created : 010523 |
7 | ** | 7 | ** |
8 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. | 8 | ** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. |
@@ -36,13 +36,13 @@ | |||
36 | **********************************************************************/ | 36 | **********************************************************************/ |
37 | 37 | ||
38 | #ifndef QUUID_H | 38 | #ifndef QUUID_H |
39 | #define QUUID_H | 39 | #define QUUID_H |
40 | 40 | ||
41 | #ifndef QT_H | 41 | #ifndef QT_H |
42 | #include <qstring.h> | 42 | #include "qstring.h" |
43 | #endif // QT_H | 43 | #endif // QT_H |
44 | 44 | ||
45 | #include <string.h> | 45 | #include <string.h> |
46 | 46 | ||
47 | #if defined(Q_OS_WIN32) | 47 | #if defined(Q_OS_WIN32) |
48 | #ifndef GUID_DEFINED | 48 | #ifndef GUID_DEFINED |
@@ -54,14 +54,31 @@ typedef struct _GUID | |||
54 | ushort Data3; | 54 | ushort Data3; |
55 | uchar Data4[ 8 ]; | 55 | uchar Data4[ 8 ]; |
56 | } GUID, *REFGUID, *LPGUID; | 56 | } GUID, *REFGUID, *LPGUID; |
57 | #endif | 57 | #endif |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | |||
60 | struct Q_EXPORT QUuid | 61 | struct Q_EXPORT QUuid |
61 | { | 62 | { |
63 | enum Variant { | ||
64 | VarUnknown=-1, | ||
65 | NCS = 0, // 0 - - | ||
66 | DCE = 2, // 1 0 - | ||
67 | Microsoft= 6, // 1 1 0 | ||
68 | Reserved= 7 // 1 1 1 | ||
69 | }; | ||
70 | |||
71 | enum Version { | ||
72 | VerUnknown=-1, | ||
73 | Time = 1, // 0 0 0 1 | ||
74 | EmbeddedPOSIX= 2, // 0 0 1 0 | ||
75 | Name = 3, // 0 0 1 1 | ||
76 | Random = 4 // 0 1 0 0 | ||
77 | }; | ||
78 | |||
62 | QUuid() | 79 | QUuid() |
63 | { | 80 | { |
64 | memset( this, 0, sizeof(QUuid) ); | 81 | memset( this, 0, sizeof(QUuid) ); |
65 | } | 82 | } |
66 | QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) | 83 | QUuid( uint l, ushort w1, ushort w2, uchar b1, uchar b2, uchar b3, uchar b4, uchar b5, uchar b6, uchar b7, uchar b8 ) |
67 | { | 84 | { |
@@ -111,12 +128,15 @@ struct Q_EXPORT QUuid | |||
111 | 128 | ||
112 | bool operator!=(const QUuid &orig ) const | 129 | bool operator!=(const QUuid &orig ) const |
113 | { | 130 | { |
114 | return !( *this == orig ); | 131 | return !( *this == orig ); |
115 | } | 132 | } |
116 | 133 | ||
134 | bool operator<(const QUuid &other ) const; | ||
135 | bool operator>(const QUuid &other ) const; | ||
136 | |||
117 | #if defined(Q_OS_WIN32) | 137 | #if defined(Q_OS_WIN32) |
118 | // On Windows we have a type GUID that is used by the platform API, so we | 138 | // On Windows we have a type GUID that is used by the platform API, so we |
119 | // provide convenience operators to cast from and to this type. | 139 | // provide convenience operators to cast from and to this type. |
120 | QUuid( const GUID &guid ) | 140 | QUuid( const GUID &guid ) |
121 | { | 141 | { |
122 | memcpy( this, &guid, sizeof(GUID) ); | 142 | memcpy( this, &guid, sizeof(GUID) ); |
@@ -150,12 +170,15 @@ struct Q_EXPORT QUuid | |||
150 | 170 | ||
151 | bool operator!=( const GUID &guid ) const | 171 | bool operator!=( const GUID &guid ) const |
152 | { | 172 | { |
153 | return !( *this == guid ); | 173 | return !( *this == guid ); |
154 | } | 174 | } |
155 | #endif | 175 | #endif |
176 | static QUuid createUuid(); | ||
177 | QUuid::Variant variant() const; | ||
178 | QUuid::Version version() const; | ||
156 | 179 | ||
157 | uint data1; | 180 | uint data1; |
158 | ushort data2; | 181 | ushort data2; |
159 | ushort data3; | 182 | ushort data3; |
160 | uchar data4[ 8 ]; | 183 | uchar data4[ 8 ]; |
161 | }; | 184 | }; |