Also use Objects as part of an operation but as a result don't generate Any operation...
[ACE_TAO.git] / ACE / ace / Date_Time.inl
blob196f572befd446c57811e1fd8ada418d48542e22
1 // -*- C++ -*-
2 #include "ace/Global_Macros.h"
3 #include "ace/Time_Value.h"
4 #include "ace/OS_NS_sys_time.h"
5 #include "ace/OS_NS_time.h"
7 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
9 ACE_INLINE void
10 ACE_Date_Time::update (const ACE_Time_Value& timevalue)
12 #if defined (ACE_HAS_WINCE)
13   // CE doesn't do localtime().
14   FILETIME file_time = timevalue;
15   FILETIME local_file_time;
16   SYSTEMTIME sys_time;
17   ::FileTimeToLocalFileTime (&file_time, &local_file_time);
18   ::FileTimeToSystemTime (&local_file_time, &sys_time);
19   this->day_ = sys_time.wDay;
20   this->month_ = sys_time.wMonth;
21   this->year_ = sys_time.wYear;
22   this->hour_ = sys_time.wHour;
23   this->minute_ = sys_time.wMinute;
24   this->second_ = sys_time.wSecond;
25   this->microsec_ = sys_time.wMilliseconds * 1000;
26   this->wday_ = sys_time.wDayOfWeek;
27 #else
28   time_t time = timevalue.sec ();
29   struct tm tm_time;
30   ACE_OS::localtime_r (&time, &tm_time);
31   this->day_ = tm_time.tm_mday;
32   this->month_ = tm_time.tm_mon + 1;    // localtime's months are 0-11
33   this->year_ = tm_time.tm_year + 1900; // localtime reports years since 1900
34   this->hour_ = tm_time.tm_hour;
35   this->minute_ = tm_time.tm_min;
36   this->second_ = tm_time.tm_sec;
37   this->microsec_ = timevalue.usec ();
38   this->wday_ = tm_time.tm_wday;
39 #endif /* ACE_HAS_WINCE */
42 ACE_INLINE void
43 ACE_Date_Time::update (void)
45   ACE_TRACE ("ACE_Date_Time::update");
47   update(ACE_OS::gettimeofday ());
50 ACE_INLINE
51 ACE_Date_Time::ACE_Date_Time (void)
53   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
54   this->update ();
57 ACE_INLINE
58 ACE_Date_Time::ACE_Date_Time (const ACE_Time_Value& timevalue)
60   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time: timevalue");
61   this->update (timevalue);
64 // Constructor with init values, no check for validy
65 ACE_INLINE
66 ACE_Date_Time::ACE_Date_Time (long day,
67                               long month,
68                               long year,
69                               long hour,
70                               long minute,
71                               long second,
72                               long microsec,
73                               long wday)
74   : day_ (day),
75     month_ (month),
76     year_ (year),
77     hour_ (hour),
78     minute_ (minute),
79     second_ (second),
80     microsec_ (microsec),
81     wday_ (wday)
83   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
86 // set/get portions of ACE_Date_Time, no check for validy
88 // get day
89 ACE_INLINE long
90 ACE_Date_Time::day (void) const
92   ACE_TRACE ("ACE_Date_Time::day");
93   return day_;
96 // set day
97 ACE_INLINE void
98 ACE_Date_Time::day (long day)
100   ACE_TRACE ("ACE_Date_Time::day");
101   day_ = day;
104 // get month
105 ACE_INLINE long
106 ACE_Date_Time::month (void) const
108   ACE_TRACE ("ACE_Date_Time::month");
109   return month_;
112 // set month
113 ACE_INLINE void
114 ACE_Date_Time::month (long month)
116   ACE_TRACE ("ACE_Date_Time::month");
117   month_ = month;
120 // get year
121 ACE_INLINE long
122 ACE_Date_Time::year (void) const
124   ACE_TRACE ("ACE_Date_Time::year");
125   return year_;
128 // set year
129 ACE_INLINE void
130 ACE_Date_Time::year (long year)
132   ACE_TRACE ("ACE_Date_Time::year");
133   year_ = year;
136 // get hour
137 ACE_INLINE long
138 ACE_Date_Time::hour (void) const
140   ACE_TRACE ("ACE_Date_Time::hour");
141   return hour_;
144 // set hour
145 ACE_INLINE void
146 ACE_Date_Time::hour (long hour)
148   ACE_TRACE ("ACE_Date_Time::hour");
149   hour_ = hour;
152 // get minute
153 ACE_INLINE long
154 ACE_Date_Time::minute (void) const
156   ACE_TRACE ("ACE_Date_Time::minute");
157   return minute_;
160 // set minute
161 ACE_INLINE void
162 ACE_Date_Time::minute (long minute)
164   ACE_TRACE ("ACE_Date_Time::minute");
165   minute_ = minute;
168 // get second
169 ACE_INLINE long
170 ACE_Date_Time::second (void) const
172   ACE_TRACE ("ACE_Date_Time::second");
173   return second_;
176 // set second
177 ACE_INLINE void
178 ACE_Date_Time::second (long second)
180   ACE_TRACE ("ACE_Date_Time::second");
181   second_ = second;
184 // get microsec
185 ACE_INLINE long
186 ACE_Date_Time::microsec (void) const
188   ACE_TRACE ("ACE_Date_Time::microsec");
189   return microsec_;
192 // set microsec
193 ACE_INLINE void
194 ACE_Date_Time::microsec (long microsec)
196   ACE_TRACE ("ACE_Date_Time::microsec");
197   microsec_ = microsec;
200 // get wday
201 ACE_INLINE long
202 ACE_Date_Time::weekday (void) const
204   ACE_TRACE ("ACE_Date_Time::weekday");
205   return wday_;
208 // set wday
209 ACE_INLINE void
210 ACE_Date_Time::weekday (long wday)
212   ACE_TRACE ("ACE_Date_Time::weekday");
213   wday_ = wday;
216 ACE_END_VERSIONED_NAMESPACE_DECL