Blame qtools/qglobal.h

Packit 1c1d7e
/****************************************************************************
Packit 1c1d7e
** 
Packit 1c1d7e
**
Packit 1c1d7e
** Global type declarations and definitions
Packit 1c1d7e
**
Packit 1c1d7e
** Created : 920529
Packit 1c1d7e
**
Packit 1c1d7e
** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
Packit 1c1d7e
**
Packit 1c1d7e
** This file is part of the tools module of the Qt GUI Toolkit.
Packit 1c1d7e
**
Packit 1c1d7e
** This file may be distributed under the terms of the Q Public License
Packit 1c1d7e
** as defined by Trolltech AS of Norway and appearing in the file
Packit 1c1d7e
** LICENSE.QPL included in the packaging of this file.
Packit 1c1d7e
**
Packit 1c1d7e
** This file may be distributed and/or modified under the terms of the
Packit 1c1d7e
** GNU General Public License version 2 as published by the Free Software
Packit 1c1d7e
** Foundation and appearing in the file LICENSE.GPL included in the
Packit 1c1d7e
** packaging of this file.
Packit 1c1d7e
**
Packit 1c1d7e
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
Packit 1c1d7e
** licenses may use this file in accordance with the Qt Commercial License
Packit 1c1d7e
** Agreement provided with the Software.
Packit 1c1d7e
**
Packit 1c1d7e
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
Packit 1c1d7e
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Packit 1c1d7e
**
Packit 1c1d7e
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
Packit 1c1d7e
**   information about Qt Commercial License Agreements.
Packit 1c1d7e
** See http://www.trolltech.com/qpl/ for QPL licensing information.
Packit 1c1d7e
** See http://www.trolltech.com/gpl/ for GPL licensing information.
Packit 1c1d7e
**
Packit 1c1d7e
** Contact info@trolltech.com if any conditions of this licensing are
Packit 1c1d7e
** not clear to you.
Packit 1c1d7e
**
Packit 1c1d7e
**********************************************************************/
Packit 1c1d7e
Packit 1c1d7e
#ifndef QGLOBAL_H
Packit 1c1d7e
#define QGLOBAL_H
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
#define QT_VERSION	223
Packit 1c1d7e
#define QT_VERSION_STR	"2.2.3"
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// The operating system, must be one of: (_OS_x_)
Packit 1c1d7e
//
Packit 1c1d7e
//   MAC	- Macintosh
Packit 1c1d7e
//   MSDOS	- MS-DOS and Windows
Packit 1c1d7e
//   OS2	- OS/2
Packit 1c1d7e
//   OS2EMX	- XFree86 on OS/2 (not PM)
Packit 1c1d7e
//   WIN32	- Win32 (Windows 95/98 and Windows NT)
Packit 1c1d7e
//   SUN	- SunOS
Packit 1c1d7e
//   SOLARIS	- Sun Solaris
Packit 1c1d7e
//   HPUX	- HP-UX
Packit 1c1d7e
//   ULTRIX	- DEC Ultrix
Packit 1c1d7e
//   LINUX	- Linux
Packit 1c1d7e
//   FREEBSD	- FreeBSD
Packit 1c1d7e
//   NETBSD	- NetBSD
Packit 1c1d7e
//   OPENBSD    - OpenBSD
Packit 1c1d7e
//   IRIX	- SGI Irix
Packit 1c1d7e
//   OSF	- OSF Unix
Packit 1c1d7e
//   BSDI	- BSDI Unix
Packit 1c1d7e
//   SCO	- SCO of some sort
Packit 1c1d7e
//   AIX	- AIX Unix
Packit 1c1d7e
//   UNIXWARE	- SCO UnixWare
Packit 1c1d7e
//   GNU	- GNU Hurd
Packit 1c1d7e
//   DGUX	- DG Unix
Packit 1c1d7e
//   UNIX	- Any UNIX bsd/sysv system
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if defined(__APPLE__) || defined(macintosh)
Packit 1c1d7e
#define _OS_MAC_
Packit 1c1d7e
#  ifdef MAC_OS_X_VERSION_MIN_REQUIRED
Packit 1c1d7e
#    undef MAC_OS_X_VERSION_MIN_REQUIRED
Packit 1c1d7e
#  endif
Packit 1c1d7e
#  define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_3
Packit 1c1d7e
#elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__)
Packit 1c1d7e
#define _OS_MSDOS_
Packit 1c1d7e
#elif defined(OS2) || defined(_OS2) || defined(__OS2__)
Packit 1c1d7e
#if defined(__EMX__)
Packit 1c1d7e
#define _OS_OS2EMX_
Packit 1c1d7e
#else
Packit 1c1d7e
#define _OS_OS2_
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
Packit 1c1d7e
#define _OS_WIN32_
Packit 1c1d7e
#elif defined(__MWERKS__) && defined(__INTEL__)
Packit 1c1d7e
#define _OS_WIN32_
Packit 1c1d7e
#elif defined(sun) || defined(__sun) || defined(__sun__)
Packit 1c1d7e
#if defined(__SVR4)
Packit 1c1d7e
#define _OS_SOLARIS_
Packit 1c1d7e
#else
Packit 1c1d7e
#define _OS_SUN_
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(hpux) || defined(__hpux) || defined(__hpux__)
Packit 1c1d7e
#define _OS_HPUX_
Packit 1c1d7e
#elif defined(ultrix) || defined(__ultrix) || defined(__ultrix__)
Packit 1c1d7e
#define _OS_ULTRIX_
Packit 1c1d7e
#elif defined(reliantunix)
Packit 1c1d7e
#define _OS_RELIANTUNIX_
Packit 1c1d7e
#elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
Packit 1c1d7e
#define _OS_LINUX_
Packit 1c1d7e
#elif defined(__FreeBSD__)
Packit 1c1d7e
#define _OS_FREEBSD_
Packit 1c1d7e
#elif defined(__NetBSD__)
Packit 1c1d7e
#define _OS_NETBSD_
Packit 1c1d7e
#elif defined(__OpenBSD__)
Packit 1c1d7e
#define _OS_OPENBSD_
Packit 1c1d7e
#elif defined(sgi) || defined(__sgi)
Packit 1c1d7e
#define _OS_IRIX_
Packit 1c1d7e
#elif defined(__osf__)
Packit 1c1d7e
#define _OS_OSF_
Packit 1c1d7e
#elif defined(bsdi) || defined(__bsdi__)
Packit 1c1d7e
#define _OS_BSDI_
Packit 1c1d7e
#elif defined(_AIX)
Packit 1c1d7e
#define _OS_AIX_
Packit 1c1d7e
#elif defined(__Lynx__)
Packit 1c1d7e
#define _OS_LYNXOS_
Packit 1c1d7e
#elif defined(_UNIXWARE)
Packit 1c1d7e
#define _OS_UNIXWARE_
Packit 1c1d7e
#elif defined(DGUX)
Packit 1c1d7e
#define _OS_DGUX_
Packit 1c1d7e
#elif defined(__QNX__)
Packit 1c1d7e
#define _OS_QNX_
Packit 1c1d7e
#elif defined(_SCO_DS) || defined(M_UNIX) || defined(M_XENIX)
Packit 1c1d7e
#define _OS_SCO_
Packit 1c1d7e
#elif defined(sco) || defined(_UNIXWARE7)
Packit 1c1d7e
#define _OS_UNIXWARE7_
Packit 1c1d7e
#elif !defined(_SCO_DS) && defined(__USLC__) && defined(__SCO_VERSION__)
Packit 1c1d7e
#define _OS_UNIXWARE7_
Packit 1c1d7e
#elif defined(__CYGWIN__)
Packit 1c1d7e
#define _OS_CYGWIN_
Packit 1c1d7e
#elif defined(__BEOS__)
Packit 1c1d7e
#define _OS_BEOS_
Packit 1c1d7e
#elif defined(__MINT__)
Packit 1c1d7e
#define _OS_MINT_
Packit 1c1d7e
#else
Packit 1c1d7e
#error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_OS2_) || defined(_OS_WIN32_)
Packit 1c1d7e
#undef	_OS_UNIX_
Packit 1c1d7e
#elif !defined(_OS_UNIX_)
Packit 1c1d7e
#define _OS_UNIX_
Packit 1c1d7e
// QT_CLEAN_NAMESPACE is not defined by default; it would break too
Packit 1c1d7e
// much code.
Packit 1c1d7e
#if !defined(QT_CLEAN_NAMESPACE) && !defined(UNIX)
Packit 1c1d7e
// ### remove 3.0
Packit 1c1d7e
#define UNIX
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// The compiler, must be one of: (_CC_x_)
Packit 1c1d7e
//
Packit 1c1d7e
//   SYM	- Symantec C++ for both PC and Macintosh
Packit 1c1d7e
//   MPW	- MPW C++
Packit 1c1d7e
//   MWERKS	- Metrowerks CodeWarrior
Packit 1c1d7e
//   MSVC	- Microsoft Visual C/C++
Packit 1c1d7e
//   BOR	- Borland/Turbo C++
Packit 1c1d7e
//   WAT	- Watcom C++
Packit 1c1d7e
//   GNU	- GNU C++
Packit 1c1d7e
//   COMEAU	- Comeau C++
Packit 1c1d7e
//   EDG	- Edison Design Group C++
Packit 1c1d7e
//   OC		- CenterLine C++
Packit 1c1d7e
//   SUN	- Sun C++
Packit 1c1d7e
//   DEC	- DEC C++
Packit 1c1d7e
//   HP		- HPUX C++
Packit 1c1d7e
//   USLC	- SCO UnixWare7 C++
Packit 1c1d7e
//   CDS	- Reliant C++
Packit 1c1d7e
//   KAI	- KAI C++
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
// Should be sorted most-authorative to least-authorative
Packit 1c1d7e
Packit 1c1d7e
#if defined(__SC__)
Packit 1c1d7e
#define _CC_SYM_
Packit 1c1d7e
#elif defined( __KCC )
Packit 1c1d7e
#define _CC_KAI_
Packit 1c1d7e
#define _CC_EDG_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif defined(applec)
Packit 1c1d7e
#define _CC_MPW_
Packit 1c1d7e
#elif defined(__MWERKS__)
Packit 1c1d7e
#define _CC_MWERKS_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif defined(_MSC_VER)
Packit 1c1d7e
#define _CC_MSVC_
Packit 1c1d7e
#elif defined(__BORLANDC__) || defined(__TURBOC__)
Packit 1c1d7e
#define _CC_BOR_
Packit 1c1d7e
#elif defined(__WATCOMC__)
Packit 1c1d7e
#define _CC_WAT_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif defined(__GNUC__)
Packit 1c1d7e
#define _CC_GNU_
Packit 1c1d7e
#if __GNUC__ == 2 && __GNUC_MINOR__ <= 7
Packit 1c1d7e
#define Q_FULL_TEMPLATE_INSTANTIATION
Packit 1c1d7e
#define Q_TEMPLATE_NEEDS_CLASS_DECLARATION
Packit 1c1d7e
#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
Packit 1c1d7e
#define Q_SPURIOUS_NON_VOID_WARNING
Packit 1c1d7e
#endif
Packit 1c1d7e
#if __GNUC__ == 2 && __GNUC_MINOR__ >= 95
Packit 1c1d7e
#define Q_DELETING_VOID_UNDEFINED
Packit 1c1d7e
#endif
Packit 1c1d7e
#if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
Packit 1c1d7e
#define Q_PACKED __attribute__ ((packed))
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(__xlC__)
Packit 1c1d7e
#define _CC_XLC_
Packit 1c1d7e
#define Q_FULL_TEMPLATE_INSTANTIATION
Packit 1c1d7e
#if __xlC__ >= 0x400
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#endif
Packit 1c1d7e
#if __xlC__ <= 0x0306
Packit 1c1d7e
#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(como40)
Packit 1c1d7e
#define _CC_EDG_
Packit 1c1d7e
#define _CC_COMEAU_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#define Q_C_CALLBACKS
Packit 1c1d7e
#elif defined(__USLC__)
Packit 1c1d7e
#define _CC_USLC_
Packit 1c1d7e
#ifdef __EDG__ // UnixWare7
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(__DECCXX)
Packit 1c1d7e
#define _CC_DEC_
Packit 1c1d7e
#if __DECCXX_VER >= 60060005
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(__EDG) || defined(__EDG__)
Packit 1c1d7e
// one observed on SGI DCC, the other documented
Packit 1c1d7e
#define _CC_EDG_
Packit 1c1d7e
#elif defined(OBJECTCENTER) || defined(CENTERLINE_CLPP)
Packit 1c1d7e
#define _CC_OC_
Packit 1c1d7e
#if defined(_BOOL)
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(__SUNPRO_CC)
Packit 1c1d7e
#define _CC_SUN_
Packit 1c1d7e
#if __SUNPRO_CC >= 0x500
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#define Q_C_CALLBACKS
Packit 1c1d7e
#endif
Packit 1c1d7e
#elif defined(__CDS__)
Packit 1c1d7e
#define _CC_CDS_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif defined(_OS_HPUX_)
Packit 1c1d7e
// this test is from aCC online help
Packit 1c1d7e
#if defined(__HP_aCC) || __cplusplus >= 199707L
Packit 1c1d7e
// this is the aCC
Packit 1c1d7e
#define _CC_HP_ACC_
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#else
Packit 1c1d7e
// this is the CC
Packit 1c1d7e
#define _CC_HP_
Packit 1c1d7e
#define Q_FULL_TEMPLATE_INSTANTIATION
Packit 1c1d7e
#define Q_TEMPLATE_NEEDS_EXPLICIT_CONVERSION
Packit 1c1d7e
#endif // __HP_aCC
Packit 1c1d7e
#else
Packit 1c1d7e
#error "Qt has not been tested with this compiler - talk to qt-bugs@trolltech.com"
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
// detect Microsoft compiler version
Packit 1c1d7e
#ifdef _CC_MSVC_
Packit 1c1d7e
#if _MSC_VER >= 1400
Packit 1c1d7e
#define _CC_V2005
Packit 1c1d7e
#elif _MSC_VER >= 1310
Packit 1c1d7e
#define _CC_V2003
Packit 1c1d7e
#elif _MSC_VER > 1300
Packit 1c1d7e
#define _CC_V2002
Packit 1c1d7e
#else
Packit 1c1d7e
#define _CC_V1998
Packit 1c1d7e
#endif 
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#ifndef Q_PACKED
Packit 1c1d7e
#define Q_PACKED
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
// Window system setting
Packit 1c1d7e
Packit 1c1d7e
#if defined(_OS_MAC_)
Packit 1c1d7e
#define _WS_MAC_
Packit 1c1d7e
#elif defined(_OS_MSDOS_)
Packit 1c1d7e
#define _WS_WIN16_
Packit 1c1d7e
#error "Qt requires Win32 and does not work with Windows 3.x"
Packit 1c1d7e
#elif defined(_WIN32_X11_)
Packit 1c1d7e
#define _WS_X11_
Packit 1c1d7e
#elif defined(_OS_WIN32_)
Packit 1c1d7e
#define _WS_WIN32_
Packit 1c1d7e
#elif defined(_OS_OS2_)
Packit 1c1d7e
#error "Qt does not work with OS/2 Presentation Manager or Workplace Shell"
Packit 1c1d7e
#elif defined(_OS_UNIX_)
Packit 1c1d7e
#ifdef QWS
Packit 1c1d7e
#define _WS_QWS_
Packit 1c1d7e
#else
Packit 1c1d7e
#define _WS_X11_
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if defined(_WS_WIN16_) || defined(_WS_WIN32_)
Packit 1c1d7e
#define _WS_WIN_
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Some classes do not permit copies to be made of an object.
Packit 1c1d7e
// These classes contains a private copy constructor and operator=
Packit 1c1d7e
// to disable copying (the compiler gives an error message).
Packit 1c1d7e
// Undefine Q_DISABLE_COPY to turn off this checking.
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#define Q_DISABLE_COPY
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Useful type definitions for Qt
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if defined(bool)
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif _MSC_VER >= 1100 || __BORLANDC__ >= 0x500
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#elif defined(sgi) && defined(_BOOL)
Packit 1c1d7e
#define Q_HAS_BOOL_TYPE
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if (QT_VERSION >= 300)
Packit 1c1d7e
#error "Use an enum for bool"
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if !defined(Q_HAS_BOOL_TYPE)
Packit 1c1d7e
#if defined(_CC_MSVC_)
Packit 1c1d7e
#define _CC_BOOL_DEF_
Packit 1c1d7e
#define bool		int
Packit 1c1d7e
#else
Packit 1c1d7e
typedef int		bool;
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
typedef unsigned char	uchar;
Packit 1c1d7e
typedef unsigned short	ushort;
Packit 1c1d7e
typedef unsigned	uint;
Packit 1c1d7e
typedef unsigned long	ulong;
Packit 1c1d7e
typedef char	       *pchar;
Packit 1c1d7e
typedef uchar	       *puchar;
Packit 1c1d7e
typedef const char     *pcchar;
Packit 1c1d7e
#if defined(_OS_WIN32_) && !defined(_CC_GNU_)
Packit 1c1d7e
typedef __int64            int64;
Packit 1c1d7e
typedef unsigned __int64   uint64;
Packit 1c1d7e
#else
Packit 1c1d7e
typedef long long          int64;
Packit 1c1d7e
typedef unsigned long long uint64;
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Constant bool values
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#ifndef TRUE
Packit 1c1d7e
const bool FALSE = 0;
Packit 1c1d7e
const bool TRUE = !0;
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
#if defined(_CC_MSVC_)
Packit 1c1d7e
// Workaround for static const members.
Packit 1c1d7e
#define QT_STATIC_CONST static
Packit 1c1d7e
#define QT_STATIC_CONST_IMPL
Packit 1c1d7e
#else
Packit 1c1d7e
#define QT_STATIC_CONST static const
Packit 1c1d7e
#define QT_STATIC_CONST_IMPL const
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Utility macros and inline functions
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#define QMAX(a,b)	((a) > (b) ? (a) : (b))
Packit 1c1d7e
#define QMIN(a,b)	((a) < (b) ? (a) : (b))
Packit 1c1d7e
#define QABS(a)		((a) >= 0  ? (a) : -(a))
Packit 1c1d7e
Packit 1c1d7e
inline int qRound( double d )
Packit 1c1d7e
{
Packit 1c1d7e
    return d > 0.0 ? int(d+0.5) : int(d-0.5);
Packit 1c1d7e
}
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Size-dependent types (architechture-dependent byte order)
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
// QT_CLEAN_NAMESPACE is not defined by default; it would break too
Packit 1c1d7e
// much code.
Packit 1c1d7e
#if !defined(QT_CLEAN_NAMESPACE)
Packit 1c1d7e
typedef signed char	INT8;			// 8 bit signed
Packit 1c1d7e
typedef unsigned char	UINT8;			// 8 bit unsigned
Packit 1c1d7e
typedef short		INT16;			// 16 bit signed
Packit 1c1d7e
typedef unsigned short	UINT16;			// 16 bit unsigned
Packit 1c1d7e
typedef int		INT32;			// 32 bit signed
Packit 1c1d7e
typedef unsigned int	UINT32;			// 32 bit unsigned
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
typedef signed char	Q_INT8;			// 8 bit signed
Packit 1c1d7e
typedef unsigned char	Q_UINT8;		// 8 bit unsigned
Packit 1c1d7e
typedef short		Q_INT16;		// 16 bit signed
Packit 1c1d7e
typedef unsigned short	Q_UINT16;		// 16 bit unsigned
Packit 1c1d7e
typedef int		Q_INT32;		// 32 bit signed
Packit 1c1d7e
typedef unsigned int	Q_UINT32;		// 32 bit unsigned
Packit 1c1d7e
typedef long		Q_INT64;		// up to 64 bit signed
Packit 1c1d7e
typedef unsigned long	Q_UINT64;		// up to 64 bit unsigned
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Data stream functions is provided by many classes (defined in qdatastream.h)
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
class QDataStream;
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
#ifdef _WS_WIN_
Packit 1c1d7e
extern bool qt_winunicode;
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#ifndef QT_H
Packit 1c1d7e
#include <qfeatures.h>
Packit 1c1d7e
#endif // QT_H
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Create Qt DLL if QT_DLL is defined (Windows only)
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if defined(_OS_WIN32_)
Packit 1c1d7e
#if defined(QT_NODLL)
Packit 1c1d7e
#undef QT_MAKEDLL
Packit 1c1d7e
#undef QT_DLL
Packit 1c1d7e
#endif
Packit 1c1d7e
#ifdef QT_DLL
Packit 1c1d7e
#if defined(QT_MAKEDLL)		/* create a Qt DLL library */
Packit 1c1d7e
#undef QT_DLL
Packit 1c1d7e
#define Q_EXPORT  __declspec(dllexport)
Packit 1c1d7e
#define Q_TEMPLATEDLL
Packit 1c1d7e
#undef  Q_DISABLE_COPY		/* avoid unresolved externals */
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif
Packit 1c1d7e
#if defined(QT_DLL)		/* use a Qt DLL library */
Packit 1c1d7e
#define Q_EXPORT  __declspec(dllimport)
Packit 1c1d7e
#define Q_TEMPLATEDLL
Packit 1c1d7e
#undef  Q_DISABLE_COPY		/* avoid unresolved externals */
Packit 1c1d7e
#endif
Packit 1c1d7e
#else // ! _OS_WIN32_
Packit 1c1d7e
#undef QT_MAKEDLL		/* ignore these for other platforms */
Packit 1c1d7e
#undef QT_DLL
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#ifndef Q_EXPORT
Packit 1c1d7e
#define Q_EXPORT
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// System information
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT const char *qVersion();
Packit 1c1d7e
Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian );
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Debugging and error handling
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if !defined(NO_CHECK)
Packit 1c1d7e
#define CHECK_STATE				// check state of objects etc.
Packit 1c1d7e
#define CHECK_RANGE				// check range of indexes etc.
Packit 1c1d7e
#define CHECK_NULL				// check null pointers
Packit 1c1d7e
#define CHECK_MATH				// check math functions
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if !defined(NO_DEBUG) && !defined(DEBUG)
Packit 1c1d7e
#define DEBUG					// display debug messages
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Avoid some particularly useless warnings from some stupid compilers.
Packit 1c1d7e
// To get ALL C++ compiler warnings, define CC_WARNINGS or comment out
Packit 1c1d7e
// the line "#define Q_NO_WARNINGS"
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if !defined(CC_WARNINGS)
Packit 1c1d7e
#define Q_NO_WARNINGS
Packit 1c1d7e
#endif
Packit 1c1d7e
#if defined(Q_NO_WARNINGS)
Packit 1c1d7e
#if defined(_CC_MSVC_)
Packit 1c1d7e
#pragma warning(disable: 4244)
Packit 1c1d7e
#pragma warning(disable: 4275)
Packit 1c1d7e
#pragma warning(disable: 4514)
Packit 1c1d7e
#pragma warning(disable: 4800)
Packit 1c1d7e
#pragma warning(disable: 4097)
Packit 1c1d7e
#pragma warning(disable: 4706)
Packit 1c1d7e
#elif defined(_CC_BOR_)
Packit 1c1d7e
#pragma option -w-inl
Packit 1c1d7e
#pragma option -w-aus
Packit 1c1d7e
#pragma warn -inl
Packit 1c1d7e
#pragma warn -pia
Packit 1c1d7e
#pragma warn -ccc
Packit 1c1d7e
#pragma warn -rch
Packit 1c1d7e
#pragma warn -sig
Packit 1c1d7e
#elif defined(_CC_MWERKS_)
Packit 1c1d7e
#pragma warn_possunwant off
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif // Q_NO_WARNINGS
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Avoid dead code
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#if defined(_CC_EDG_) || defined(_CC_WAT_)
Packit 1c1d7e
#define Q_NO_DEAD_CODE
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
//
Packit 1c1d7e
// Use to avoid "unused parameter" warnings
Packit 1c1d7e
//
Packit 1c1d7e
Packit 1c1d7e
#define Q_UNUSED(x) x=x;
Packit 1c1d7e
#define Q_CONST_UNUSED(x) (void)x;
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void qDebug( const char *, ... )	// print debug message
Packit 1c1d7e
#if defined(_CC_GNU_) && !defined(__INSURE__)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void qWarning( const char *, ... )	// print warning message
Packit 1c1d7e
#if defined(_CC_GNU_) && !defined(__INSURE__)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void qFatal( const char *, ... )	// print fatal message and exit
Packit 1c1d7e
#if defined(_CC_GNU_)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
// QT_CLEAN_NAMESPACE is not defined by default; it would break too
Packit 1c1d7e
// much code.
Packit 1c1d7e
#if !defined(QT_CLEAN_NAMESPACE)
Packit 1c1d7e
// in that case, also define the old ones...
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void debug( const char *, ... )	// print debug message
Packit 1c1d7e
#if defined(_CC_GNU_) && !defined(__INSURE__)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void warning( const char *, ... )	// print warning message
Packit 1c1d7e
#if defined(_CC_GNU_) && !defined(__INSURE__)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void fatal( const char *, ... )	// print fatal message and exit
Packit 1c1d7e
#if defined(_CC_GNU_) && !defined(__INSURE__)
Packit 1c1d7e
    __attribute__ ((format (printf, 1, 2)))
Packit 1c1d7e
#endif
Packit 1c1d7e
;
Packit 1c1d7e
Packit 1c1d7e
// okay, that was debug()/warning()/fatal()
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
#if !defined(ASSERT)
Packit 1c1d7e
#if defined(CHECK_STATE)
Packit 1c1d7e
#if defined(QT_FATAL_ASSERT)
Packit 1c1d7e
#define ASSERT(x)  if ( !(x) )\
Packit 1c1d7e
	qFatal("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)
Packit 1c1d7e
#else
Packit 1c1d7e
#define ASSERT(x)  if ( !(x) )\
Packit 1c1d7e
	qWarning("ASSERT: \"%s\" in %s (%d)",#x,__FILE__,__LINE__)
Packit 1c1d7e
#endif
Packit 1c1d7e
#else
Packit 1c1d7e
#define ASSERT(x)
Packit 1c1d7e
#endif
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT bool qt_check_pointer( bool c, const char *, int );
Packit 1c1d7e
Packit 1c1d7e
#if defined(CHECK_NULL)
Packit 1c1d7e
#define CHECK_PTR(p) (qt_check_pointer((p)==0,__FILE__,__LINE__))
Packit 1c1d7e
#else
Packit 1c1d7e
#define CHECK_PTR(p)
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
Packit 1c1d7e
Packit 1c1d7e
typedef void (*msg_handler)(QtMsgType, const char *);
Packit 1c1d7e
Q_EXPORT msg_handler qInstallMsgHandler( msg_handler );
Packit 1c1d7e
Packit 1c1d7e
Packit 1c1d7e
Q_EXPORT void qSuppressObsoleteWarnings( bool = TRUE );
Packit 1c1d7e
Packit 1c1d7e
#if !defined(QT_REJECT_OBSOLETE)
Packit 1c1d7e
#define QT_OBSOLETE
Packit 1c1d7e
Q_EXPORT void qObsolete( const char *obj, const char *oldfunc,
Packit 1c1d7e
			 const char *newfunc );
Packit 1c1d7e
Q_EXPORT void qObsolete( const char *obj, const char *oldfunc );
Packit 1c1d7e
Q_EXPORT void qObsolete( const char *message );
Packit 1c1d7e
#endif
Packit 1c1d7e
Packit 1c1d7e
// DvH: added to avoid warnings on recent gcc versions
Packit 1c1d7e
#define Q_DELETING_VOID_UNDEFINED
Packit 1c1d7e
Packit 1c1d7e
#endif // QGLOBAL_H