[7297] Fixed profession spells sorting in trainer spell list at client.
[getmangos.git] / dep / src / zthread / TimeStrategy.h
blob0b9ad1e22baee480fe33fc1cf205583ea3380309
1 /*
2 * Copyright (c) 2005, Eric Crahen
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is furnished
9 * to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
18 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 #ifndef __ZTTIMESELECT_H__
24 #define __ZTTIMESELECT_H__
26 #include "zthread/Config.h"
28 #ifdef HAVE_CONFIG_H
29 # include "config.h"
30 #endif
32 // Select the correct TimeOps implementation based on
33 // what the complilation environment has defined
35 #ifndef HAVE_FTIME
37 # if defined(ZT_WIN32) || defined(ZT_WIN9X)
39 # if !defined(__MWERKS__)
41 # ifndef HAVE_FTIME
42 # define HAVE_FTIME
43 # endif
45 # elif defined(__MWERKS__)
47 # ifndef HAVE_PERFORMANCECOUNTER
48 # define HAVE_PERFORMANCECOUNTER
49 # endif
51 # endif
53 # endif
55 #endif
57 // Some systems require this to complete the definition of timespec
58 // which is needed by pthreads.
59 #if defined(HAVE_SYS_TYPES_H)
60 # include <sys/types.h>
61 #endif
63 #if defined(ZT_MACOS)
65 # include "macos/UpTimeStrategy.h"
67 #elif defined(HAVE_PERFORMANCECOUNTER)
69 # include "win32/PerformanceCounterStrategy.h"
71 #elif defined(HAVE_FTIME)
73 # include "posix/FtimeStrategy.h"
75 #else
77 # include "posix/GetTimeOfDayStrategy.h"
79 #endif
82 #ifndef __ZTTIMESTRATEGY_H__
83 #error "No TimeStrategy implementation could be selected"
84 #endif
86 #endif // __ZTTIMESELECT_H__