Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/qtools/qglobal.h

Source at commit 1406 created 12 years 10 months ago.
By meklort, Revert drivers.c so that kexts are only loaded when OSBundleRequired is set and that value is not safe mode. Added some comments about it too.
1/****************************************************************************
2**
3**
4** Global type declarations and definitions
5**
6** Created : 920529
7**
8** Copyright (C) 1992-2000 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 QGLOBAL_H
39#define QGLOBAL_H
40
41
42#define QT_VERSION223
43#define QT_VERSION_STR"2.2.3"
44
45
46//
47// The operating system, must be one of: (_OS_x_)
48//
49// MAC- Macintosh
50// MSDOS- MS-DOS and Windows
51// OS2- OS/2
52// OS2EMX- XFree86 on OS/2 (not PM)
53// WIN32- Win32 (Windows 95/98 and Windows NT)
54// SUN- SunOS
55// SOLARIS- Sun Solaris
56// HPUX- HP-UX
57// ULTRIX- DEC Ultrix
58// LINUX- Linux
59// FREEBSD- FreeBSD
60// NETBSD- NetBSD
61// OPENBSD - OpenBSD
62// IRIX- SGI Irix
63// OSF- OSF Unix
64// BSDI- BSDI Unix
65// SCO- SCO of some sort
66// AIX- AIX Unix
67// UNIXWARE- SCO UnixWare
68// GNU- GNU Hurd
69// DGUX- DG Unix
70// UNIX- Any UNIX bsd/sysv system
71//
72
73#if defined(__APPLE__) || defined(macintosh)
74#define _OS_MAC_
75# ifdef MAC_OS_X_VERSION_MIN_REQUIRED
76# undef MAC_OS_X_VERSION_MIN_REQUIRED
77# endif
78# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
79# include <AvailabilityMacros.h>
80# if !defined(MAC_OS_X_VERSION_10_3)
81# define MAC_OS_X_VERSION_10_3 MAC_OS_X_VERSION_10_2 + 1
82# endif
83# if !defined(MAC_OS_X_VERSION_10_4)
84# define MAC_OS_X_VERSION_10_4 MAC_OS_X_VERSION_10_3 + 1
85# endif
86# if !defined(MAC_OS_X_VERSION_10_5)
87# define MAC_OS_X_VERSION_10_5 MAC_OS_X_VERSION_10_4 + 1
88# endif
89# if !defined(MAC_OS_X_VERSION_10_6)
90# define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1
91# endif
92# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6)
93# error "This version of Mac OS X is unsupported"
94# endif
95#elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__)
96#define _OS_MSDOS_
97#elif defined(OS2) || defined(_OS2) || defined(__OS2__)
98#if defined(__EMX__)
99#define _OS_OS2EMX_
100#else
101#define _OS_OS2_
102#endif
103#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
104#define _OS_WIN32_
105#elif defined(__MWERKS__) && defined(__INTEL__)
106#define _OS_WIN32_
107#elif defined(sun) || defined(__sun) || defined(__sun__)
108#if defined(__SVR4)
109#define _OS_SOLARIS_
110#else
111#define _OS_SUN_
112#endif
113#elif defined(hpux) || defined(__hpux) || defined(__hpux__)
114#define _OS_HPUX_
115#elif defined(ultrix) || defined(__ultrix) || defined(__ultrix__)
116#define _OS_ULTRIX_
117#elif defined(reliantunix)
118#define _OS_RELIANTUNIX_
119#elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
120#define _OS_LINUX_
121#elif defined(__FreeBSD__)
122#define _OS_FREEBSD_
123#elif defined(__NetBSD__)
124#define _OS_NETBSD_
125#elif defined(__OpenBSD__)
126#define _OS_OPENBSD_
127#elif defined(sgi) || defined(__sgi)
128#define _OS_IRIX_
129#elif defined(__osf__)
130#define _OS_OSF_
131#elif defined(bsdi) || defined(__bsdi__)
132#define _OS_BSDI_
133#elif defined(_AIX)
134#define _OS_AIX_
135#elif defined(__Lynx__)
136#define _OS_LYNXOS_
137#elif defined(_UNIXWARE)
138#define _OS_UNIXWARE_
139#elif defined(DGUX)
140#define _OS_DGUX_
141#elif defined(__QNX__)
142#define _OS_QNX_
143#elif defined(_SCO_DS) || defined(M_UNIX) || defined(M_XENIX)
144#define _OS_SCO_
145#elif defined(sco) || defined(_UNIXWARE7)
146#define _OS_UNIXWARE7_
147#elif !defined(_SCO_DS) && defined(__USLC__) && defined(__SCO_VERSION__)
148#define _OS_UNIXWARE7_
149#elif defined(__CYGWIN__)
150#define _OS_CYGWIN_
151#elif defined(__BEOS__)
152#define _OS_BEOS_
153#elif defined(__MINT__)
154#define _OS_MINT_
155#else
156#error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
157#endif
158
159#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_OS2_) || defined(_OS_WIN32_)
160#undef_OS_UNIX_
161#elif !defined(_OS_UNIX_)
162#define _OS_UNIX_
163// QT_CLEAN_NAMESPACE is not defined by default; it would break too
164// much code.
165#if !defined(QT_CLEAN_NAMESPACE) && !defined(UNIX)
166// ### remove 3.0
167#define UNIX
168#endif
169#endif
170
171
172//
173// The compiler, must be one of: (_CC_x_)
174//
175// SYM- Symantec C++ for both PC and Macintosh
176// MPW- MPW C++
177// MWERKS- Metrowerks CodeWarrior
178// MSVC- Microsoft Visual C/C++
179// BOR- Borland/Turbo C++
180// WAT- Watcom C++
181// GNU- GNU C++
182// COMEAU- Comeau C++
183// EDG- Edison Design Group C++
184// OC- CenterLine C++
185// SUN- Sun C++
186// DEC- DEC C++
187// HP- HPUX C++
188// USLC- SCO UnixWare7 C++
189// CDS- Reliant C++
190// KAI- KAI C++
191//
192
193
194// Should be sorted most-authorative to least-authorative
195
196#if defined(__SC__)
197#define _CC_SYM_
198#elif defined( __KCC )
199#define _CC_KAI_
200#define _CC_EDG_
201#define Q_HAS_BOOL_TYPE
202#elif defined(applec)
203#define _CC_MPW_
204#elif defined(__MWERKS__)
205#define _CC_MWERKS_
206#define Q_HAS_BOOL_TYPE
207#elif defined(_MSC_VER)
208#define _CC_MSVC_
209#elif defined(__BORLANDC__) || defined(__TURBOC__)
210#define _CC_BOR_
211#elif defined(__WATCOMC__)
212#define _CC_WAT_
213#define Q_HAS_BOOL_TYPE
214#elif defined(__GNUC__)
215#define _CC_GNU_
216#if __GNUC__ == 2 && __GNUC_MINOR__ <= 7
217#define Q_FULL_TEMPLATE_INSTANTIATION
218#define Q_TEMPLATE_NEEDS_CLASS_DECLARATION
219#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
220#define Q_SPURIOUS_NON_VOID_WARNING
221#endif
222#if __GNUC__ == 2 && __GNUC_MINOR__ >= 95
223#define Q_DELETING_VOID_UNDEFINED
224#endif
225#if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
226#define Q_PACKED __attribute__ ((packed))
227#endif
228#elif defined(__xlC__)
229#define _CC_XLC_
230#define Q_FULL_TEMPLATE_INSTANTIATION
231#if __xlC__ >= 0x400
232#define Q_HAS_BOOL_TYPE
233#endif
234#if __xlC__ <= 0x0306
235#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
236#endif
237#elif defined(como40)
238#define _CC_EDG_
239#define _CC_COMEAU_
240#define Q_HAS_BOOL_TYPE
241#define Q_C_CALLBACKS
242#elif defined(__USLC__)
243#define _CC_USLC_
244#ifdef __EDG__ // UnixWare7
245#define Q_HAS_BOOL_TYPE
246#endif
247#elif defined(__DECCXX)
248#define _CC_DEC_
249#if __DECCXX_VER >= 60060005
250#define Q_HAS_BOOL_TYPE
251#endif
252#elif defined(__EDG) || defined(__EDG__)
253// one observed on SGI DCC, the other documented
254#define _CC_EDG_
255#elif defined(OBJECTCENTER) || defined(CENTERLINE_CLPP)
256#define _CC_OC_
257#if defined(_BOOL)
258#define Q_HAS_BOOL_TYPE
259#endif
260#elif defined(__SUNPRO_CC)
261#define _CC_SUN_
262#if __SUNPRO_CC >= 0x500
263#define Q_HAS_BOOL_TYPE
264#define Q_C_CALLBACKS
265#endif
266#elif defined(__CDS__)
267#define _CC_CDS_
268#define Q_HAS_BOOL_TYPE
269#elif defined(_OS_HPUX_)
270// this test is from aCC online help
271#if defined(__HP_aCC) || __cplusplus >= 199707L
272// this is the aCC
273#define _CC_HP_ACC_
274#define Q_HAS_BOOL_TYPE
275#else
276// this is the CC
277#define _CC_HP_
278#define Q_FULL_TEMPLATE_INSTANTIATION
279#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
280#endif // __HP_aCC
281#else
282#error "Qt has not been tested with this compiler - talk to qt-bugs@trolltech.com"
283#endif
284
285// detect Microsoft compiler version
286#ifdef _CC_MSVC_
287#if _MSC_VER >= 1400
288#define _CC_V2005
289#elif _MSC_VER >= 1310
290#define _CC_V2003
291#elif _MSC_VER > 1300
292#define _CC_V2002
293#else
294#define _CC_V1998
295#endif
296#endif
297
298#ifndef Q_PACKED
299#define Q_PACKED
300#endif
301
302// Window system setting
303
304#if defined(_OS_MAC_)
305#define _WS_MAC_
306#elif defined(_OS_MSDOS_)
307#define _WS_WIN16_
308#error "Qt requires Win32 and does not work with Windows 3.x"
309#elif defined(_WIN32_X11_)
310#define _WS_X11_
311#elif defined(_OS_WIN32_)
312#define _WS_WIN32_
313#elif defined(_OS_OS2_)
314#error "Qt does not work with OS/2 Presentation Manager or Workplace Shell"
315#elif defined(_OS_UNIX_)
316#ifdef QWS
317#define _WS_QWS_
318#else
319#define _WS_X11_
320#endif
321#endif
322
323#if defined(_WS_WIN16_) || defined(_WS_WIN32_)
324#define _WS_WIN_
325#endif
326
327
328//
329// Some classes do not permit copies to be made of an object.
330// These classes contains a private copy constructor and operator=
331// to disable copying (the compiler gives an error message).
332// Undefine Q_DISABLE_COPY to turn off this checking.
333//
334
335#define Q_DISABLE_COPY
336
337
338//
339// Useful type definitions for Qt
340//
341
342#if defined(bool)
343#define Q_HAS_BOOL_TYPE
344#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)
345#define Q_HAS_BOOL_TYPE
346#elif _MSC_VER >= 1100 || __BORLANDC__ >= 0x500
347#define Q_HAS_BOOL_TYPE
348#elif defined(sgi) && defined(_BOOL)
349#define Q_HAS_BOOL_TYPE
350#endif
351
352#if (QT_VERSION >= 300)
353#error "Use an enum for bool"
354#endif
355
356#if !defined(Q_HAS_BOOL_TYPE)
357#if defined(_CC_MSVC_)
358#define _CC_BOOL_DEF_
359#define boolint
360#else
361typedef intbool;
362#endif
363#endif
364
365typedef unsigned charuchar;
366typedef unsigned shortushort;
367typedef unsigneduint;
368typedef unsigned longulong;
369typedef char *pchar;
370typedef uchar *puchar;
371typedef const char *pcchar;
372#if defined(_OS_WIN32_) && !defined(_CC_GNU_)
373typedef __int64 int64;
374typedef unsigned __int64 uint64;
375#else
376typedef long long int64;
377typedef unsigned long long uint64;
378#endif
379
380
381//
382// Constant bool values
383//
384
385#ifndef TRUE
386const bool FALSE = 0;
387const bool TRUE = !0;
388#endif
389
390
391#if defined(_CC_MSVC_)
392// Workaround for static const members.
393#define QT_STATIC_CONST static
394#define QT_STATIC_CONST_IMPL
395#else
396#define QT_STATIC_CONST static const
397#define QT_STATIC_CONST_IMPL const
398#endif
399
400
401
402//
403// Utility macros and inline functions
404//
405
406#define QMAX(a,b)((a) > (b) ? (a) : (b))
407#define QMIN(a,b)((a) < (b) ? (a) : (b))
408#define QABS(a)((a) >= 0 ? (a) : -(a))
409
410inline int qRound( double d )
411{
412 return d > 0.0 ? int(d+0.5) : int(d-0.5);
413}
414
415
416//
417// Size-dependent types (architechture-dependent byte order)
418//
419
420// QT_CLEAN_NAMESPACE is not defined by default; it would break too
421// much code.
422#if !defined(QT_CLEAN_NAMESPACE)
423typedef signed charINT8;// 8 bit signed
424typedef unsigned charUINT8;// 8 bit unsigned
425typedef shortINT16;// 16 bit signed
426typedef unsigned shortUINT16;// 16 bit unsigned
427typedef intINT32;// 32 bit signed
428typedef unsigned intUINT32;// 32 bit unsigned
429#endif
430
431typedef signed charQ_INT8;// 8 bit signed
432typedef unsigned charQ_UINT8;// 8 bit unsigned
433typedef shortQ_INT16;// 16 bit signed
434typedef unsigned shortQ_UINT16;// 16 bit unsigned
435typedef intQ_INT32;// 32 bit signed
436typedef unsigned intQ_UINT32;// 32 bit unsigned
437typedef longQ_INT64;// up to 64 bit signed
438typedef unsigned longQ_UINT64;// up to 64 bit unsigned
439
440//
441// Data stream functions is provided by many classes (defined in qdatastream.h)
442//
443
444class QDataStream;
445
446
447
448#ifdef _WS_WIN_
449extern bool qt_winunicode;
450#endif
451
452#ifndef QT_H
453#include <qfeatures.h>
454#endif // QT_H
455
456//
457// Create Qt DLL if QT_DLL is defined (Windows only)
458//
459
460#if defined(_OS_WIN32_)
461#if defined(QT_NODLL)
462#undef QT_MAKEDLL
463#undef QT_DLL
464#endif
465#ifdef QT_DLL
466#if defined(QT_MAKEDLL)/* create a Qt DLL library */
467#undef QT_DLL
468#define Q_EXPORT __declspec(dllexport)
469#define Q_TEMPLATEDLL
470#undef Q_DISABLE_COPY/* avoid unresolved externals */
471#endif
472#endif
473#if defined(QT_DLL)/* use a Qt DLL library */
474#define Q_EXPORT __declspec(dllimport)
475#define Q_TEMPLATEDLL
476#undef Q_DISABLE_COPY/* avoid unresolved externals */
477#endif
478#else // ! _OS_WIN32_
479#undef QT_MAKEDLL/* ignore these for other platforms */
480#undef QT_DLL
481#endif
482
483#ifndef Q_EXPORT
484#define Q_EXPORT
485#endif
486
487//
488// System information
489//
490
491Q_EXPORT const char *qVersion();
492Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian );
493
494
495//
496// Debugging and error handling
497//
498
499#if !defined(NO_CHECK)
500#define CHECK_STATE// check state of objects etc.
501#define CHECK_RANGE// check range of indexes etc.
502#define CHECK_NULL// check null pointers
503#define CHECK_MATH// check math functions
504#endif
505
506#if !defined(NO_DEBUG) && !defined(DEBUG)
507#define DEBUG// display debug messages
508#endif
509
510//
511// Avoid some particularly useless warnings from some stupid compilers.
512// To get ALL C++ compiler warnings, define CC_WARNINGS or comment out
513// the line "#define Q_NO_WARNINGS"
514//
515
516#if !defined(CC_WARNINGS)
517#define Q_NO_WARNINGS
518#endif
519#if defined(Q_NO_WARNINGS)
520#if defined(_CC_MSVC_)
521#pragma warning(disable: 4244)
522#pragma warning(disable: 4275)
523#pragma warning(disable: 4514)
524#pragma warning(disable: 4800)
525#pragma warning(disable: 4097)
526#pragma warning(disable: 4706)
527#elif defined(_CC_BOR_)
528#pragma option -w-inl
529#pragma option -w-aus
530#pragma warn -inl
531#pragma warn -pia
532#pragma warn -ccc
533#pragma warn -rch
534#pragma warn -sig
535#elif defined(_CC_MWERKS_)
536#pragma warn_possunwant off
537#endif
538#endif // Q_NO_WARNINGS
539
540//
541// Avoid dead code
542//
543
544#if defined(_CC_EDG_) || defined(_CC_WAT_)
545#define Q_NO_DEAD_CODE
546#endif
547
548//
549// Use to avoid "unused parameter" warnings
550//
551
552#define Q_UNUSED(x) x=x;
553#define Q_CONST_UNUSED(x) (void)x;
554
555Q_EXPORT void qDebug( const char *, ... )// print debug message
556#if defined(_CC_GNU_) && !defined(__INSURE__)
557 __attribute__ ((format (printf, 1, 2)))
558#endif
559;
560
561Q_EXPORT void qWarning( const char *, ... )// print warning message
562#if defined(_CC_GNU_) && !defined(__INSURE__)
563 __attribute__ ((format (printf, 1, 2)))
564#endif
565;
566
567Q_EXPORT void qFatal( const char *, ... )// print fatal message and exit
568#if defined(_CC_GNU_)
569 __attribute__ ((format (printf, 1, 2)))
570#endif
571;
572
573
574// QT_CLEAN_NAMESPACE is not defined by default; it would break too
575// much code.
576#if !defined(QT_CLEAN_NAMESPACE)
577// in that case, also define the old ones...
578
579Q_EXPORT void debug( const char *, ... )// print debug message
580#if defined(_CC_GNU_) && !defined(__INSURE__)
581 __attribute__ ((format (printf, 1, 2)))
582#endif
583;
584
585Q_EXPORT void warning( const char *, ... )// print warning message
586#if defined(_CC_GNU_) && !defined(__INSURE__)
587 __attribute__ ((format (printf, 1, 2)))
588#endif
589;
590
591Q_EXPORT void fatal( const char *, ... )// print fatal message and exit
592#if defined(_CC_GNU_) && !defined(__INSURE__)
593 __attribute__ ((format (printf, 1, 2)))
594#endif
595;
596
597// okay, that was debug()/warning()/fatal()
598#endif
599
600#if !defined(ASSERT)
601#if defined(CHECK_STATE)
602#if defined(QT_FATAL_ASSERT)
603#define ASSERT(x) if ( !(x) )\
604qFatal("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)
605#else
606#define ASSERT(x) if ( !(x) )\
607qWarning("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)
608#endif
609#else
610#define ASSERT(x)
611#endif
612#endif
613
614Q_EXPORT bool qt_check_pointer( bool c, const char *, int );
615
616#if defined(CHECK_NULL)
617#define CHECK_PTR(p) (qt_check_pointer((p)==0,__FILE__,__LINE__))
618#else
619#define CHECK_PTR(p)
620#endif
621
622enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
623
624typedef void (*msg_handler)(QtMsgType, const char *);
625Q_EXPORT msg_handler qInstallMsgHandler( msg_handler );
626
627
628Q_EXPORT void qSuppressObsoleteWarnings( bool = TRUE );
629
630#if !defined(QT_REJECT_OBSOLETE)
631#define QT_OBSOLETE
632Q_EXPORT void qObsolete( const char *obj, const char *oldfunc,
633 const char *newfunc );
634Q_EXPORT void qObsolete( const char *obj, const char *oldfunc );
635Q_EXPORT void qObsolete( const char *message );
636#endif
637
638// DvH: added to avoid warnings on recent gcc versions
639#define Q_DELETING_VOID_UNDEFINED
640
641#endif // QGLOBAL_H
642

Archive Download this file

Revision: 1406