Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / ace / Date_Time.inl
blob25bb2e2e0db7f1ca83b18575e4d2fee4e00f7a2c
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   time_t time = timevalue.sec ();
13   struct tm tm_time;
14   ACE_OS::localtime_r (&time, &tm_time);
15   this->day_ = tm_time.tm_mday;
16   this->month_ = tm_time.tm_mon + 1;    // localtime's months are 0-11
17   this->year_ = tm_time.tm_year + 1900; // localtime reports years since 1900
18   this->hour_ = tm_time.tm_hour;
19   this->minute_ = tm_time.tm_min;
20   this->second_ = tm_time.tm_sec;
21   this->microsec_ = timevalue.usec ();
22   this->wday_ = tm_time.tm_wday;
25 ACE_INLINE void
26 ACE_Date_Time::update ()
28   ACE_TRACE ("ACE_Date_Time::update");
30   update(ACE_OS::gettimeofday ());
33 ACE_INLINE
34 ACE_Date_Time::ACE_Date_Time ()
36   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
37   this->update ();
40 ACE_INLINE
41 ACE_Date_Time::ACE_Date_Time (const ACE_Time_Value& timevalue)
43   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time: timevalue");
44   this->update (timevalue);
47 // Constructor with init values, no check for validy
48 ACE_INLINE
49 ACE_Date_Time::ACE_Date_Time (long day,
50                               long month,
51                               long year,
52                               long hour,
53                               long minute,
54                               long second,
55                               long microsec,
56                               long wday)
57   : day_ (day),
58     month_ (month),
59     year_ (year),
60     hour_ (hour),
61     minute_ (minute),
62     second_ (second),
63     microsec_ (microsec),
64     wday_ (wday)
66   ACE_TRACE ("ACE_Date_Time::ACE_Date_Time");
69 // set/get portions of ACE_Date_Time, no check for validy
71 // get day
72 ACE_INLINE long
73 ACE_Date_Time::day () const
75   ACE_TRACE ("ACE_Date_Time::day");
76   return day_;
79 // set day
80 ACE_INLINE void
81 ACE_Date_Time::day (long day)
83   ACE_TRACE ("ACE_Date_Time::day");
84   day_ = day;
87 // get month
88 ACE_INLINE long
89 ACE_Date_Time::month () const
91   ACE_TRACE ("ACE_Date_Time::month");
92   return month_;
95 // set month
96 ACE_INLINE void
97 ACE_Date_Time::month (long month)
99   ACE_TRACE ("ACE_Date_Time::month");
100   month_ = month;
103 // get year
104 ACE_INLINE long
105 ACE_Date_Time::year () const
107   ACE_TRACE ("ACE_Date_Time::year");
108   return year_;
111 // set year
112 ACE_INLINE void
113 ACE_Date_Time::year (long year)
115   ACE_TRACE ("ACE_Date_Time::year");
116   year_ = year;
119 // get hour
120 ACE_INLINE long
121 ACE_Date_Time::hour () const
123   ACE_TRACE ("ACE_Date_Time::hour");
124   return hour_;
127 // set hour
128 ACE_INLINE void
129 ACE_Date_Time::hour (long hour)
131   ACE_TRACE ("ACE_Date_Time::hour");
132   hour_ = hour;
135 // get minute
136 ACE_INLINE long
137 ACE_Date_Time::minute () const
139   ACE_TRACE ("ACE_Date_Time::minute");
140   return minute_;
143 // set minute
144 ACE_INLINE void
145 ACE_Date_Time::minute (long minute)
147   ACE_TRACE ("ACE_Date_Time::minute");
148   minute_ = minute;
151 // get second
152 ACE_INLINE long
153 ACE_Date_Time::second () const
155   ACE_TRACE ("ACE_Date_Time::second");
156   return second_;
159 // set second
160 ACE_INLINE void
161 ACE_Date_Time::second (long second)
163   ACE_TRACE ("ACE_Date_Time::second");
164   second_ = second;
167 // get microsec
168 ACE_INLINE long
169 ACE_Date_Time::microsec () const
171   ACE_TRACE ("ACE_Date_Time::microsec");
172   return microsec_;
175 // set microsec
176 ACE_INLINE void
177 ACE_Date_Time::microsec (long microsec)
179   ACE_TRACE ("ACE_Date_Time::microsec");
180   microsec_ = microsec;
183 // get wday
184 ACE_INLINE long
185 ACE_Date_Time::weekday () const
187   ACE_TRACE ("ACE_Date_Time::weekday");
188   return wday_;
191 // set wday
192 ACE_INLINE void
193 ACE_Date_Time::weekday (long wday)
195   ACE_TRACE ("ACE_Date_Time::weekday");
196   wday_ = wday;
199 ACE_END_VERSIONED_NAMESPACE_DECL