[7297] Fixed profession spells sorting in trainer spell list at client.
[getmangos.git] / dep / ACE_wrappers / ace / Date_Time.inl
blobd34807d83a4097ecdd04ca07f54dbf23c7a64c42
1 // -*- C++ -*-
2 //
3 // $Id: Date_Time.inl 80826 2008-03-04 14:51:23Z wotte $
5 #include "ace/Global_Macros.h"
6 #include "ace/Time_Value.h"
7 #include "ace/OS_NS_sys_time.h"
8 #include "ace/OS_NS_time.h"
10 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
12 ACE_INLINE void
13 ACE_Date_Time::update (const ACE_Time_Value& timevalue)
15 #if defined (ACE_HAS_WINCE)
16   // CE doesn't do localtime().
17   FILETIME file_time = timevalue;
18   FILETIME local_file_time;
19   SYSTEMTIME sys_time;
20   ::FileTimeToLocalFileTime (&file_time, &local_file_time);
21   ::FileTimeToSystemTime (&local_file_time, &sys_time);
22   this->day_ = sys_time.wDay;
23   this->month_ = sys_time.wMonth;
24   this->year_ = sys_time.wYear;
25   this->hour_ = sys_time.wHour;
26   this->minute_ = sys_time.wMinute;
27   this->second_ = sys_time.wSecond;
28   this->microsec_ = sys_time.wMilliseconds * 1000;
29   this->wday_ = sys_time.wDayOfWeek;
30 #else
31   time_t time = timevalue.sec ();
32   struct tm tm_time;
33   ACE_OS::localtime_r (&time, &tm_time);
34   this->day_ = tm_time.tm_mday;
35   this->month_ = tm_time.tm_mon + 1;    // localtime's months are 0-11
36   this->year_ = tm_time.tm_year + 1900; // localtime reports years since 1900
37   this->hour_ = tm_time.tm_hour;
38   this->minute_ = tm_time.tm_min;
39   this->second_ = tm_time.tm_sec;
40   this->microsec_ = timevalue.usec ();
41   this->wday_ = tm_time.tm_wday;
42 #endif /* ACE_HAS_WINCE */
45 ACE_INLINE void
46 ACE_Date_Time::update (void)
48   ACE_TRACE ("ACE_Date_Time::update");
50   update(ACE_OS::gettimeofday ());
53 ACE_INLINE
54 ACE_Date_Time::ACE_Date_Time (void)
56   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
57   this->update ();
60 ACE_INLINE
61 ACE_Date_Time::ACE_Date_Time (const ACE_Time_Value& timevalue)
63   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time: timevalue");
64   this->update (timevalue);
67 // Constructor with init values, no check for validy
68 ACE_INLINE
69 ACE_Date_Time::ACE_Date_Time (long day,
70                               long month,
71                               long year,
72                               long hour,
73                               long minute,
74                               long second,
75                               long microsec,
76                               long wday)
77   : day_ (day),
78     month_ (month),
79     year_ (year),
80     hour_ (hour),
81     minute_ (minute),
82     second_ (second),
83     microsec_ (microsec),
84     wday_ (wday)
86   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
89 // set/get portions of ACE_Date_Time, no check for validy
91 // get day
92 ACE_INLINE long
93 ACE_Date_Time::day (void) const
95   ACE_TRACE ("ACE_Date_Time::day");
96   return day_;
99 // set day
100 ACE_INLINE void
101 ACE_Date_Time::day (long day)
103   ACE_TRACE ("ACE_Date_Time::day");
104   day_ = day;
107 // get month
108 ACE_INLINE long
109 ACE_Date_Time::month (void) const
111   ACE_TRACE ("ACE_Date_Time::month");
112   return month_;
115 // set month
116 ACE_INLINE void
117 ACE_Date_Time::month (long month)
119   ACE_TRACE ("ACE_Date_Time::month");
120   month_ = month;
123 // get year
124 ACE_INLINE long
125 ACE_Date_Time::year (void) const
127   ACE_TRACE ("ACE_Date_Time::year");
128   return year_;
131 // set year
132 ACE_INLINE void
133 ACE_Date_Time::year (long year)
135   ACE_TRACE ("ACE_Date_Time::year");
136   year_ = year;
139 // get hour
140 ACE_INLINE long
141 ACE_Date_Time::hour (void) const
143   ACE_TRACE ("ACE_Date_Time::hour");
144   return hour_;
147 // set hour
148 ACE_INLINE void
149 ACE_Date_Time::hour (long hour)
151   ACE_TRACE ("ACE_Date_Time::hour");
152   hour_ = hour;
155 // get minute
156 ACE_INLINE long
157 ACE_Date_Time::minute (void) const
159   ACE_TRACE ("ACE_Date_Time::minute");
160   return minute_;
163 // set minute
164 ACE_INLINE void
165 ACE_Date_Time::minute (long minute)
167   ACE_TRACE ("ACE_Date_Time::minute");
168   minute_ = minute;
171 // get second
172 ACE_INLINE long
173 ACE_Date_Time::second (void) const
175   ACE_TRACE ("ACE_Date_Time::second");
176   return second_;
179 // set second
180 ACE_INLINE void
181 ACE_Date_Time::second (long second)
183   ACE_TRACE ("ACE_Date_Time::second");
184   second_ = second;
187 // get microsec
188 ACE_INLINE long
189 ACE_Date_Time::microsec (void) const
191   ACE_TRACE ("ACE_Date_Time::microsec");
192   return microsec_;
195 // set microsec
196 ACE_INLINE void
197 ACE_Date_Time::microsec (long microsec)
199   ACE_TRACE ("ACE_Date_Time::microsec");
200   microsec_ = microsec;
203 // get wday
204 ACE_INLINE long
205 ACE_Date_Time::weekday (void) const
207   ACE_TRACE ("ACE_Date_Time::weekday");
208   return wday_;
211 // set wday
212 ACE_INLINE void
213 ACE_Date_Time::weekday (long wday)
215   ACE_TRACE ("ACE_Date_Time::weekday");
216   wday_ = wday;
219 ACE_END_VERSIONED_NAMESPACE_DECL