aboutsummaryrefslogtreecommitdiff
path: root/doc/oscl_html/oscl__time_8h_source.html
blob: 52c688981f402ac223c5b11c5368b3a8a3683c9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>oscl: oscl_time.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>oscl_time.h</h1><a href="oscl__time_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// -*- c++ -*-</span>
<a name="l00002"></a>00002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
<a name="l00003"></a>00003 
<a name="l00004"></a>00004 <span class="comment">//               O S C L _ T I M E   ( T I M E   F U N C T I O N S )</span>
<a name="l00005"></a>00005 
<a name="l00006"></a>00006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
<a name="l00007"></a>00007 
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef OSCL_TIME_H_INCLUDED</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_TIME_H_INCLUDED</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="comment">// - - Inclusion - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="oscl__base_8h.html" title="The file oscl_base.h is the public header that should be included to pick up the...">oscl_base.h</a>&quot;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#endif</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef OSCLCONFIG_TIME_H_INCLUDED</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="osclconfig__time_8h.html">osclconfig_time.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="preprocessor">#ifndef OSCL_INT64_UTILS_INCLUDED</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="oscl__int64__utils_8h.html">oscl_int64_utils.h</a>&quot;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a><a class="code" href="group__osclbase.html#ga0cc83fd35f446400713d1d9f3b2dd4c6">00039</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__osclbase.html#ga0cc83fd35f446400713d1d9f3b2dd4c6">CTIME_BUFFER_SIZE</a> = 26;
<a name="l00040"></a>00040 
<a name="l00041"></a><a class="code" href="group__osclbase.html#ga141a5fd80c38f29950e7b7d67d4867b1">00041</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__osclbase.html#ga141a5fd80c38f29950e7b7d67d4867b1">PV8601TIME_BUFFER_SIZE</a> = 21;
<a name="l00042"></a><a class="code" href="group__osclbase.html#ga4469595fff8ac9560ee57d6d9d841063">00042</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="group__osclbase.html#ga4469595fff8ac9560ee57d6d9d841063">ISO8601TIME_BUFFER_SIZE</a> = 21;
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">00044</a> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">CtimeStrBuf</a>[<a class="code" href="group__osclbase.html#ga0cc83fd35f446400713d1d9f3b2dd4c6">CTIME_BUFFER_SIZE</a>];
<a name="l00045"></a><a class="code" href="group__osclbase.html#gad13c32c10063619e00563a850f87b86a">00045</a> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__osclbase.html#gad13c32c10063619e00563a850f87b86a">PV8601timeStrBuf</a>[<a class="code" href="group__osclbase.html#ga141a5fd80c38f29950e7b7d67d4867b1">PV8601TIME_BUFFER_SIZE</a>];
<a name="l00046"></a><a class="code" href="group__osclbase.html#ga83f7b514c3cbe5977e2916ca10e11869">00046</a> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__osclbase.html#ga83f7b514c3cbe5977e2916ca10e11869">ISO8601timeStrBuf</a>[<a class="code" href="group__osclbase.html#ga4469595fff8ac9560ee57d6d9d841063">ISO8601TIME_BUFFER_SIZE</a>];
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="keyword">class </span><a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>;  <span class="comment">// Forward definition</span>
<a name="l00049"></a>00049 
<a name="l00050"></a>00050 <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="group__osclbase.html#gaf8168ec6b9c21c8e865b2aa298755545">PV8601ToRFC822</a>(<a class="code" href="group__osclbase.html#gad13c32c10063619e00563a850f87b86a">PV8601timeStrBuf</a> pv8601_buffer, <a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">CtimeStrBuf</a> ctime_buffer);
<a name="l00051"></a>00051 <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="group__osclbase.html#ga1534c1d2b6f0d1a47339d6f83b7bbaff">ISO8601ToRFC822</a>(<a class="code" href="group__osclbase.html#ga83f7b514c3cbe5977e2916ca10e11869">ISO8601timeStrBuf</a> iso8601_buffer, <a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">CtimeStrBuf</a> ctime_buffer);
<a name="l00052"></a>00052 <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="group__osclbase.html#gab50d565fcef75fe4b35a2794a287c69b">RFC822ToPV8601</a>(<a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">CtimeStrBuf</a> ctime_buffer, <a class="code" href="group__osclbase.html#gad13c32c10063619e00563a850f87b86a">PV8601timeStrBuf</a>);
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 <span class="comment">// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span>
<a name="l00056"></a><a class="code" href="group__osclbase.html#ga0423d00e0eb199de523a92031b5a1107">00056</a> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> { <a class="code" href="group__osclbase.html#gga0423d00e0eb199de523a92031b5a1107a70367ff8e866216e6a822a2c952abfc1">SECONDS</a> = 0, <a class="code" href="group__osclbase.html#gga0423d00e0eb199de523a92031b5a1107a1043c5211bc8c40b382a93bd238c9131">MILLISECONDS</a> = 1, <a class="code" href="group__osclbase.html#gga0423d00e0eb199de523a92031b5a1107ac9db1eab6da2865d20c916504baedc90">MICROSECONDS</a> = 2 } <a class="code" href="group__osclbase.html#ga0423d00e0eb199de523a92031b5a1107" title="The TimeUnits enum can be used when constructing a TimeValue class.">TimeUnits</a>;
<a name="l00057"></a>00057 
<a name="l00058"></a><a class="code" href="group__osclbase.html#ga47b0da9361952507ef28f0600d787aa4">00058</a> <span class="keyword">const</span> <span class="keywordtype">long</span> <a class="code" href="group__osclbase.html#ga47b0da9361952507ef28f0600d787aa4">USEC_PER_SEC</a> = 1000000;
<a name="l00059"></a><a class="code" href="group__osclbase.html#ga35f59c57e0e2b9e1b5eb78a8bed8160d">00059</a> <span class="keyword">const</span> <span class="keywordtype">long</span> <a class="code" href="group__osclbase.html#ga35f59c57e0e2b9e1b5eb78a8bed8160d">MSEC_PER_SEC</a> = 1000;
<a name="l00060"></a>00060 
<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">long</span> MapToSeconds[] = {1, 1000, 1000000};
<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">long</span> MapToUSeconds[] = {1000000, 1000, 1};
<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">long</span> MapTo100NanoSeconds[] = {10000000, 10000, 10};
<a name="l00065"></a><a class="code" href="group__osclbase.html#ga5ddea7a32bba8fc995966bc1dcc7a768">00065</a> <span class="keyword">const</span> uint32 <a class="code" href="group__osclbase.html#ga5ddea7a32bba8fc995966bc1dcc7a768">unix_ntp_offset</a> = 2208988800U;
<a name="l00066"></a>00066 
<a name="l00067"></a>00067 <span class="comment">// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span>
<a name="l00068"></a>00068 
<a name="l00070"></a>00070 
<a name="l00079"></a><a class="code" href="classNTPTime.html">00079</a> <span class="keyword">class </span><a class="code" href="classNTPTime.html" title="The NTPTime class represents a time value as the number of seconds since 0h (UTC)...">NTPTime</a>
<a name="l00080"></a>00080 {
<a name="l00081"></a>00081 
<a name="l00082"></a>00082     <span class="keyword">private</span>:
<a name="l00083"></a>00083         <a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> timevalue;
<a name="l00084"></a>00084 
<a name="l00085"></a>00085     <span class="keyword">public</span>:
<a name="l00087"></a>00087         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>();
<a name="l00088"></a>00088 
<a name="l00090"></a>00090         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>(<span class="keyword">const</span> NTPTime&amp; src);
<a name="l00091"></a>00091 
<a name="l00093"></a>00093 
<a name="l00094"></a>00094         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>(<span class="keyword">const</span> uint32 seconds);
<a name="l00095"></a>00095 
<a name="l00097"></a>00097 
<a name="l00098"></a>00098         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>(<span class="keyword">const</span> int32 seconds);
<a name="l00099"></a>00099 
<a name="l00101"></a>00101 
<a name="l00105"></a>00105         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>(<span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; t);
<a name="l00106"></a>00106 
<a name="l00108"></a>00108 
<a name="l00109"></a>00109         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classNTPTime.html#ac2206e5d0d4b8437927a34a402c9dcd9" title="The default constructor creates an NTPTime instance representing the current system...">NTPTime</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> value);
<a name="l00110"></a>00110 
<a name="l00111"></a>00111 
<a name="l00113"></a>00113 
<a name="l00114"></a>00114         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> NTPTime&amp; <a class="code" href="classNTPTime.html#a153ed1e46aa9df669c9e70cdbd02bc79" title="The assignment operator for a 32 bit integer.">operator=</a>(uint32 newval);
<a name="l00115"></a>00115 
<a name="l00117"></a>00117 
<a name="l00118"></a>00118         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> NTPTime&amp; <a class="code" href="classNTPTime.html#a153ed1e46aa9df669c9e70cdbd02bc79" title="The assignment operator for a 32 bit integer.">operator=</a>(<a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> newval);
<a name="l00119"></a>00119 
<a name="l00121"></a>00121 
<a name="l00122"></a>00122         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> NTPTime&amp; <a class="code" href="classNTPTime.html#a493c5d8d1aa6c7e3defaf2edd800755e" title="The += operator is used to add a 64 bit 32.32 value to an existing NTPTime value...">operator+=</a>(<a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> val);
<a name="l00123"></a>00123 
<a name="l00125"></a>00125 
<a name="l00126"></a>00126         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> NTPTime <a class="code" href="classNTPTime.html#af049db14fcdbcd3f4725f0d533a27e3a" title="The - operator allows subtraction of one NTPTime value from another. This is useful...">operator-</a>(<span class="keyword">const</span> NTPTime &amp;ntpt) <span class="keyword">const</span>;
<a name="l00127"></a>00127 
<a name="l00129"></a>00129 
<a name="l00135"></a>00135         <span class="keywordtype">void</span> <a class="code" href="classNTPTime.html#a0b1341989092b4fe016013f77abc5769" title="This method converts a 32-bit system time to NTP time.">set_from_system_time</a>(<span class="keyword">const</span> uint32 systemtime);
<a name="l00136"></a>00136 
<a name="l00138"></a>00138         <span class="comment">/* \return This method returns the middle 32 bits of the 32.32 representation. */</span>
<a name="l00139"></a>00139         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> uint32 <a class="code" href="classNTPTime.html#a3765acf50e6ac18766314f1d34019533" title="Grab the middle 32 bits of the 64 bit 32.32 representation.">get_middle32</a>() <span class="keyword">const</span>;
<a name="l00140"></a>00140 
<a name="l00142"></a>00142         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> uint32 <a class="code" href="classNTPTime.html#a797bddc83fc4eddea410dbc9aa58bad2" title="This method returns the upper 32 bits of the 32.32 representation.">get_upper32</a>() <span class="keyword">const</span>;
<a name="l00143"></a>00143 
<a name="l00145"></a>00145         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> uint32 <a class="code" href="classNTPTime.html#a1891c1c537f39ba827ca2052b4194d08" title="This method returns the lower 32 bits of the 32.32 representation.">get_lower32</a>() <span class="keyword">const</span>;
<a name="l00146"></a>00146 
<a name="l00148"></a>00148 
<a name="l00152"></a>00152         int32 <a class="code" href="classNTPTime.html#ae504bc724ab796f308a4c79f5b1a2b34" title="This method converts the ntp time value to system time.">to_system_time</a>() <span class="keyword">const</span>;
<a name="l00153"></a>00153 
<a name="l00155"></a>00155         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> <a class="code" href="classNTPTime.html#a61b734a583082af44f2211a852d43d89" title="This method returns the 32.32 ntp representation.">get_value</a>() <span class="keyword">const</span>;
<a name="l00156"></a>00156 
<a name="l00158"></a>00158         <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">int</span> <a class="code" href="classNTPTime.html#af5aa35c19c56546e5ae7bd50568d07d7" title="This method sets the 32.32 representation to the current system time value.">set_to_current_time</a>();
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 };
<a name="l00161"></a>00161 
<a name="l00162"></a>00162 <span class="comment">// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span>
<a name="l00164"></a>00164 <span class="comment"></span>
<a name="l00177"></a><a class="code" href="classTimeValue.html">00177</a> <span class="keyword">class </span><a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>
<a name="l00178"></a>00178 {
<a name="l00179"></a>00179 
<a name="l00180"></a>00180     <span class="keyword">public</span>:
<a name="l00182"></a>00182         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>();
<a name="l00183"></a>00183 
<a name="l00185"></a>00185         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(<span class="keyword">const</span> TimeValue&amp; Tv);
<a name="l00186"></a>00186 
<a name="l00188"></a>00188 
<a name="l00192"></a>00192         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(<span class="keywordtype">long</span> tv, <a class="code" href="group__osclbase.html#ga0423d00e0eb199de523a92031b5a1107" title="The TimeUnits enum can be used when constructing a TimeValue class.">TimeUnits</a> units);
<a name="l00193"></a>00193 
<a name="l00195"></a>00195 
<a name="l00197"></a>00197         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(<span class="keyword">const</span> <a class="code" href="osclconfig__time_8h.html#ab01bd23ee2289f15064787af4d7987c2">OsclBasicTimeStruct</a>&amp; in_tv);
<a name="l00198"></a>00198 
<a name="l00199"></a>00199         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#ga83f7b514c3cbe5977e2916ca10e11869">ISO8601timeStrBuf</a> time_strbuf);
<a name="l00202"></a>00202 
<a name="l00214"></a>00214         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(uint16 aYear, uint16 aMonth, uint16 aDay, uint16 aHour,
<a name="l00215"></a>00215                                        uint16 aMinute, uint16 aSecond,  uint16 aMilliseconds);
<a name="l00216"></a>00216 
<a name="l00218"></a>00218 
<a name="l00222"></a>00222         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html#ae6e6e4de3f6c3f15d4b85cb8e326ec7c" title="Create a TimeValue representing the current time.">TimeValue</a>(<a class="code" href="osclconfig__time_8h.html#a4a97a869b4acfd18542e2595b8d7c4e7">OsclBasicDateTimeStruct</a> in_ts);
<a name="l00223"></a>00223 
<a name="l00225"></a>00225 
<a name="l00228"></a>00228         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> int32 <a class="code" href="classTimeValue.html#a7ecbe2227cb1991662f16abd8d19ff6e" title="Get the local time after having adjusted for daylight saving.">get_local_time</a>();
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 
<a name="l00231"></a><a class="code" href="classTimeValue.html#a9eac0a25e89423e01a05e1f6bbc14037">00231</a>         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classNTPTime.html" title="The NTPTime class represents a time value as the number of seconds since 0h (UTC)...">NTPTime</a>;
<a name="l00232"></a>00232 
<a name="l00234"></a>00234         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="classTimeValue.html#a95359a56b779c3a88cf7fdff3fa27c30" title="Set the time value to zero (represents a zero interval).">set_to_zero</a>();
<a name="l00235"></a>00235 
<a name="l00237"></a>00237         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="classTimeValue.html#ad89aee9120c19eeef8e05b945fc2db16" title="Set the time value to the current system time.">set_to_current_time</a>();
<a name="l00238"></a>00238 
<a name="l00240"></a>00240 
<a name="l00244"></a>00244         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="classTimeValue.html#a4ca4ecff2883b66ac1ed275505c0b94f" title="This method coverts a 32-bit NTP offset to system time.">set_from_ntp_time</a>(<span class="keyword">const</span> uint32 ntp_offset);
<a name="l00245"></a>00245 
<a name="l00247"></a>00247 
<a name="l00254"></a>00254         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> uint32 <a class="code" href="classTimeValue.html#a71fcfd133e6605c2a30e6d6a8960e3a9" title="Get a 32 bit value representing the seconds since the (system dependent) epoch.">get_sec</a>() <span class="keyword">const</span> ;
<a name="l00255"></a>00255 
<a name="l00256"></a>00256         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> int32 <a class="code" href="classTimeValue.html#a18fee4fabbc8dce260a1e41862c44668">to_msec</a>() <span class="keyword">const</span>;
<a name="l00257"></a>00257 
<a name="l00259"></a>00259 
<a name="l00262"></a>00262         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> uint32 <a class="code" href="classTimeValue.html#a9d680f31f913704d5198926faeb79428" title="Get a 32 bit value representing the number of microseconds in the time value.">get_usec</a>() <span class="keyword">const</span> ;
<a name="l00264"></a>00264 
<a name="l00270"></a>00270         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="group__osclbase.html#gaeee93fd1c6230965ea7adc3e63fac06e">uint64</a> <a class="code" href="classTimeValue.html#a50d961266e2da540d1623cae93ce0675" title="Get a 64 bit value representing the time value converted to microseconds.">get_timevalue_in_usec</a>() <span class="keyword">const</span> ;
<a name="l00271"></a>00271 
<a name="l00273"></a>00273 
<a name="l00278"></a>00278         <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">char</span> *<a class="code" href="classTimeValue.html#ad47f997045f2ed9170d970a996087e02" title="Get a string containing a text representation of this TimeValue object.">get_str_ctime</a>(<a class="code" href="group__osclbase.html#ga84d4ef38e5682881eb75ff4a64bc38b3">CtimeStrBuf</a> ctime_strbuf);
<a name="l00279"></a>00279 
<a name="l00281"></a>00281 
<a name="l00285"></a>00285         <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">int</span> <a class="code" href="classTimeValue.html#a51adea59c45f4e2a2e36ba7bef2cee82" title="Get a PV extended text representation of the Time based on the PV 8601 format.">get_pv8601_str_time</a>(<a class="code" href="group__osclbase.html#gad13c32c10063619e00563a850f87b86a">PV8601timeStrBuf</a> time_strbuf);
<a name="l00286"></a>00286 
<a name="l00288"></a>00288 
<a name="l00292"></a>00292         <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">int</span> <a class="code" href="classTimeValue.html#a13869dceb034bb8f6eb15862ed8c2571" title="Get a PV extended text representation of the Time based on the ISO 8601 format.">get_ISO8601_str_time</a>(<a class="code" href="group__osclbase.html#ga83f7b514c3cbe5977e2916ca10e11869">ISO8601timeStrBuf</a> time_strbuf);
<a name="l00293"></a>00293 
<a name="l00295"></a>00295 
<a name="l00301"></a>00301         <a class="code" href="osclconfig_8h.html#a6de0f53c5c11f8f53ce72c70d74d9abc">OSCL_IMPORT_REF</a> <span class="keywordtype">char</span> *<a class="code" href="classTimeValue.html#ab0a4ae24c295f5d4af53bffa018bdb1d" title="Get a text representation of the time in the GMT timezone based on the RFC 822 /...">get_rfc822_gmtime_str</a>(<span class="keywordtype">int</span> max_time_strlen,
<a name="l00302"></a>00302                 <span class="keywordtype">char</span> *time_str);
<a name="l00303"></a>00303 
<a name="l00305"></a>00305         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#abf7e1154e1fdf8d766bfc5a1584953ef" title="Determine if the time value is zero.">is_zero</a>();
<a name="l00306"></a>00306 
<a name="l00308"></a>00308 
<a name="l00309"></a>00309         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a4d37d99e956feeed68a26f7717db922b" title="Manipulate internal flags to mark the time value as being in &amp;quot;zulu&amp;quot; (GMT)...">is_zulu</a>() <span class="keyword">const</span>;
<a name="l00310"></a>00310         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keywordtype">void</span> <a class="code" href="classTimeValue.html#a99e53d116eeb672f88077892e041bb03">set_zulu</a>(<span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a4d37d99e956feeed68a26f7717db922b" title="Manipulate internal flags to mark the time value as being in &amp;quot;zulu&amp;quot; (GMT)...">is_zulu</a>);
<a name="l00311"></a>00311 
<a name="l00312"></a>00312         <span class="comment">// comparison operators</span>
<a name="l00313"></a>00313         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a6a5c2ea2d94bb0fdb5d5af8e1ed50b5c">operator ==</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00314"></a>00314         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a18a32f0b410927cafb789a3b9cb7efe6">operator !=</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00315"></a>00315         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a07570cbacf3f35e631fc9d93fd78c380">operator &lt;=</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00316"></a>00316         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#ae40ba42833ace5f25b4ab1f9e3b11038">operator &gt;=</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00317"></a>00317         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#af7cea094fff4b84111a3f17644fa8774">operator &lt;</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00318"></a>00318         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classTimeValue.html#a6347cf35df9ecabf309857fe829ddeb6">operator &gt;</a>(<span class="keyword">const</span> TimeValue&amp; a, <span class="keyword">const</span> TimeValue&amp; b);
<a name="l00319"></a>00319 
<a name="l00321"></a>00321         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a00f26f7cca5b333afed89cfc4e5ee744" title="Assignment operator.">operator =</a>(<span class="keyword">const</span> TimeValue&amp; a);
<a name="l00322"></a>00322 
<a name="l00323"></a>00323         <span class="comment">// arithmetic operators</span>
<a name="l00325"></a>00325 <span class="comment"></span>        <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a4d1f0bc4e19da07d94e142aeb94dd4df" title="+= operator">operator +=</a>(<span class="keyword">const</span> TimeValue&amp; a);
<a name="l00327"></a>00327         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a8e9250ee5c1df4944140c239cb532de5" title="-= operator">operator -=</a>(<span class="keyword">const</span> TimeValue&amp; a);
<a name="l00329"></a>00329         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a0a0fb2c8d8c7741baa98a86a589f4417" title="This operator scales the time value by a constant.">operator *=</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> scale);
<a name="l00330"></a>00330 
<a name="l00331"></a>00331         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="osclconfig__time_8h.html#ab01bd23ee2289f15064787af4d7987c2">OsclBasicTimeStruct</a> * <a class="code" href="classTimeValue.html#a6491a112e68e573fd55cd6966d03e205">get_timeval_ptr</a>();
<a name="l00332"></a>00332 
<a name="l00333"></a>00333         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a4d1f0bc4e19da07d94e142aeb94dd4df" title="+= operator">operator+=</a>(<span class="keyword">const</span> int32 aSeconds);
<a name="l00334"></a>00334         <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> TimeValue&amp; <a class="code" href="classTimeValue.html#a8e9250ee5c1df4944140c239cb532de5" title="-= operator">operator-=</a>(<span class="keyword">const</span> int32 aSeconds);
<a name="l00335"></a>00335     <span class="keyword">private</span>:
<a name="l00336"></a>00336 
<a name="l00337"></a>00337         <span class="keywordtype">bool</span> zulu;
<a name="l00338"></a>00338         <a class="code" href="osclconfig__time_8h.html#ab01bd23ee2289f15064787af4d7987c2">OsclBasicTimeStruct</a> ts;
<a name="l00339"></a>00339         <span class="keyword">const</span> <a class="code" href="osclconfig__time_8h.html#ab01bd23ee2289f15064787af4d7987c2">OsclBasicTimeStruct</a> *getBasicTimeStruct()<span class="keyword"> const</span>
<a name="l00340"></a>00340 <span class="keyword">        </span>{
<a name="l00341"></a>00341             <span class="keywordflow">return</span> &amp;ts;
<a name="l00342"></a>00342         };
<a name="l00343"></a>00343 
<a name="l00344"></a>00344 };
<a name="l00345"></a>00345 
<a name="l00346"></a>00346 <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a> <a class="code" href="group__osclbase.html#ga0160b519c243a5c4014441960c1a6513">operator -</a>(<span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; b);
<a name="l00347"></a>00347 <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a> <a class="code" href="group__osclbase.html#gac9801d8727210aa7b54eecb075928ddb">operator+</a>(<span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; a, <span class="keyword">const</span> int32 bSeconds);
<a name="l00348"></a>00348 <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a> <a class="code" href="group__osclbase.html#gac9801d8727210aa7b54eecb075928ddb">operator+</a>(<span class="keyword">const</span> int32 aSeconds, <span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; b);
<a name="l00349"></a>00349 <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a> <a class="code" href="group__osclbase.html#ga0160b519c243a5c4014441960c1a6513">operator-</a>(<span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; a, <span class="keyword">const</span> int32 bSeconds);
<a name="l00350"></a>00350 <a class="code" href="group__osclbase.html#gaead960804cd6ebf1d776c7d58159ce91">OSCL_COND_IMPORT_REF</a> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a> <a class="code" href="group__osclbase.html#ga0160b519c243a5c4014441960c1a6513">operator-</a>(<span class="keyword">const</span> int32 aSeconds, <span class="keyword">const</span> <a class="code" href="classTimeValue.html" title="The TimeValue class represents a time value in a format native to the system.">TimeValue</a>&amp; b);
<a name="l00351"></a>00351 
<a name="l00352"></a>00352 <span class="preprocessor">#if (!OSCL_DISABLE_INLINES)</span>
<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor">#include &quot;oscl_time.inl&quot;</span>
<a name="l00354"></a>00354 <span class="preprocessor">#endif</span>
<a name="l00355"></a>00355 <span class="preprocessor"></span>
<a name="l00356"></a>00356 
<a name="l00357"></a>00357 <span class="comment">// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span>
<a name="l00358"></a>00358 
<a name="l00362"></a>00362 <span class="preprocessor">#endif // OSCL_TIME_H_INCLUDED</span>
</pre></div></div>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: CORE_9.005.1.1 </small>
</small></address>
</body>
</html>