Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __PlatformDefinesHPP__1735294829467
00033 #define __PlatformDefinesHPP__1735294829467
00034
00035
00036 #define ZEUS_CAT2_UNDERSCORE(a, b) #a "_" #b
00037 #define ZEUS_CAT3_UNDERSCORE(a, b, c) #a "_" #b "_" #c
00038 #define ZEUS_CAT2_PERIOD(a, b) #a "." #b
00039 #define ZEUS_CAT3_PERIOD(a, b, c) #a "." #b "." #c
00040 #define ZEUS_CAT2_RAW_UNDERSCORE(a, b) a ## _ ## b
00041 #define ZEUS_CAT3_RAW_UNDERSCORE(a, b, c) a ## _ ## b ## _ ## c
00042 #define ZEUS_INVK_CAT2_UNDERSCORE(a,b) ZEUS_CAT2_UNDERSCORE(a,b)
00043 #define ZEUS_INVK_CAT3_UNDERSCORE(a,b,c) ZEUS_CAT3_UNDERSCORE(a,b,c)
00044 #define ZEUS_INVK_CAT2_PERIOD(a,b) ZEUS_CAT2_PERIOD(a,b)
00045 #define ZEUS_INVK_CAT3_PERIOD(a,b,c) ZEUS_CAT3_PERIOD(a,b,c)
00046 #define ZEUS_INVK_CAT2_RAW_UNDERSCORE(a,b) ZEUS_CAT2_RAW_UNDERSCORE(a,b)
00047 #define ZEUS_INVK_CAT3_RAW_UNDERSCORE(a,b,c) ZEUS_CAT3_RAW_UNDERSCORE(a,b,c)
00048
00049
00050
00052 #define ZEUS_VERSION_MAJOR 2
00053 #define ZEUS_VERSION_MINOR 0
00054 #define ZEUS_VERSION_BUILD 0
00055
00056 #define ZEUS_PRODUCT Zeus
00057 #define ZEUS_VERSION ZEUS_INVK_CAT3_PERIOD(ZEUS_VERSION_MAJOR, ZEUS_VERSION_MINOR, ZEUS_VERSION_BUILD)
00058
00059
00060
00061
00062
00063
00064
00065
00066 #ifndef ZEUS_ERRORLEVEL
00067 #define ZEUS_ERRORLEVEL 1
00068 #endif
00069
00070
00071
00072
00073 #ifndef DISABLE_UNICODE
00074 #ifndef _UNICODE
00075 #define _UNICODE
00076 #endif
00077
00078 #ifndef UNICODE
00079 #define UNICODE
00080 #endif
00081 #endif
00082
00083
00084
00085
00086 #if defined(DEBUG) || defined(_DEBUG)
00087 #define ZEUS_DEBUG
00088 #endif
00089
00090
00091
00092
00093 #define NAMESPACE_Zeus ZEUS_INVK_CAT2_RAW_UNDERSCORE(ZEUS_PRODUCT, ZEUS_VERSION_MAJOR)
00094
00095 #define BEGIN_NAMESPACE_Zeus namespace NAMESPACE_Zeus {
00096 #define END_NAMESPACE_Zeus }
00097 #define USING_NAMESPACE_Zeus using namespace NAMESPACE_Zeus;
00098
00099
00100
00101
00102
00103 #if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER)
00104 #define ZEUS_BIG_ENDIAN
00105 #elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_ALPHA)
00106 #define ZEUS_LITTLE_ENDIAN
00107 #else
00108 #error "The file zeusbase/config/PlatformDefines.hpp needs to be set up for your CPU type."
00109 #endif
00110
00111
00112
00113
00114 #if defined(linux) || defined(__linux) || defined(__linux__)
00115
00116 #define ZEUS_PLATFORM_CONFIG "zeusbase/Config/Platforms/LinuxPlatform.hpp"
00117
00118 #elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
00119
00120 #define ZEUS_PLATFORM_CONFIG "zeusbase/Config/Platforms/Win32Platform.hpp"
00121 #else
00122 #error "The file zeusbase/config/PlatformDefines.hpp needs to be set for this platform."
00123 #endif
00124
00125 #include ZEUS_PLATFORM_CONFIG
00126
00127
00128
00129
00130 #if defined(__GNUC__)
00131
00132 #define ZEUS_COMPILER_CONFIG "zeusbase/Config/Compilers/GCC_Config.hpp"
00133
00134 #elif defined(__BCPLUSPLUS__)
00135
00136 #define ZEUS_COMPILER_CONFIG "zeusbase/Config/Compilers/BCB_Config.hpp"
00137
00138 #elif defined(_MSC_VER)
00139
00140 #define ZEUS_COMPILER_CONFIG "zeusbase/Config/Compilers/MSC_Config.hpp"
00141
00142 #else
00143 #error "The file zeusbase/config/PlatformDefines.hpp needs to be set for this compiler."
00144 #endif
00145
00146 #include ZEUS_COMPILER_CONFIG
00147
00148
00149
00150
00151 #if defined(ZEUSBASE_EXPORT)
00152 #define zeusbase_class class MODULE_EXPORT
00153
00154 #elif defined(ZEUSBASE_STATIC)
00155 #define zeusbase_class class
00156
00157 #else
00158 #define zeusbase_class class MODULE_IMPORT
00159 #endif
00160
00161 #define remote_interface class
00162
00163
00164 #define ASYNCH_MQUALIFIER MQUALIFIER
00165
00166 #include <float.h>
00167 #include <limits.h>
00168
00169 BEGIN_NAMESPACE_Zeus
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182 typedef char Int8;
00183 #define Int8Min SCHAR_MIN
00184 #define Int8Max SCHAR_MAX
00185
00186 typedef unsigned char Uint8;
00187 #define Uint8Max UCHAR_MAX
00188
00189 typedef short Int16;
00190 #define Int16Min SHRT_MIN
00191 #define Int16Max SHRT_MAX
00192
00193 typedef unsigned short Uint16;
00194 #define Uint16Max USHRT_MAX
00195
00196 typedef long Int32;
00197 #define Int32Min LONG_MIN
00198 #define Int32Max LONG_MAX
00199
00200 typedef unsigned long Uint32;
00201 #define Uint32Max ULONG_MAX
00202
00203 #ifdef _MSC_VER
00204 typedef __int64 Int64;
00205 typedef unsigned __int64 Uint64;
00206 #else
00207 typedef long long Int64;
00208 typedef unsigned long long Uint64;
00209 #endif
00210
00211 #if defined(ENABLE_LINUX_BINDING)
00212 #define Int64Min (-Int64Max - 1LL)
00213 #define Int64Max 9223372036854775807LL
00214 #define Uint64Max 0xFFFFFFFFFFFFFFFFULL
00215 #else
00216 #define Int64Min _I64_MIN
00217 #define Int64Max _I64_MAX
00218 #define Uint64Max _UI64_MAX
00219 #endif
00220
00221
00222 typedef float Float32;
00223 #define Float32Min FLT_MIN
00224 #define Float32Max FLT_MAX
00225
00226 typedef double Float64;
00227 #define Float64Min DBL_MIN
00228 #define Float64Max DBL_MAX
00229
00230 typedef bool Boolean;
00231
00232
00233
00234
00235 #if defined(__ZEUS32__)
00236 typedef Int32 Int;
00237 #define IntMin Int32Min
00238 #define IntMax Int32Max
00239
00240 typedef Uint32 Uint;
00241 #define UintMin Uint32Min
00242 #define UintMax Uint32Max
00243
00244 typedef Float64 Float;
00245 #define FloatMin Float64Min
00246 #define FloatMax Float64Max
00247
00248 typedef Uint Retval;
00249 typedef Int64 Timeval;
00250
00251 #elif defined(__ZEUS64__)
00252 typedef Int64 Int;
00253 #define IntMin Int64Min
00254 #define IntMax Int64Max
00255
00256 typedef Uint64 Uint;
00257 #define UintMin Uint64Min
00258 #define UintMax Uint64Max
00259
00260 typedef Float64 Float;
00261 #define FloatMin Float64Min
00262 #define FloatMax Float64Max
00263
00264 typedef Uint Retval;
00265 typedef Int64 Timeval;
00266
00267 #else
00268 #error "Unknown platform bit size"
00269 #endif
00270
00271
00272
00273
00276
00277 struct TypGUID
00278 {
00279 Uint32 ulData1;
00280 Uint16 usData2;
00281 Uint16 usData3;
00282 Uint8 aucData4[8];
00283 };
00284
00285 typedef TypGUID InterfaceID;
00286
00287
00288
00289
00290 #define CONST_UINT32(a) a##UL
00291 #define CONST_INT32(a) a##L
00292 #define CONST_UINT16(a) (Uint16) (a)
00293 #define CONST_INT16(a) (Int16) (CONST_UINT16(a))
00294 #define CONST_UINT8(a) (Uint8) (a)
00295 #define CONST_INT8(a) (Int8) (CONST_UINT8(a))
00296
00297 #ifdef _MSC_VER
00298 #define CONST_UINT64(a) a##ui64
00299 #define CONST_INT64(a) a##i64
00300
00301 #else
00302 #define CONST_UINT64(a) a##ULL
00303 #define CONST_INT64(a) a##LL
00304
00305 #endif
00306
00307
00308
00309
00311 #define INVALID_INDEX -1
00312
00313
00314
00315 #define AUTOMATED_TEST_MODE TString(L"-AutomatedTestMode")
00316
00317
00318
00319 #include <zeusbase/Config/CustomGlobalDefines.hpp>
00320
00321
00322 END_NAMESPACE_Zeus
00323
00324
00325 #endif
00326