• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>OsclMutex class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.2.18 -->
7<center>
8<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>OsclMutex Class Reference</h1><code>#include &lt;<a class="el" href="oscl__mutex_8h-source.html">oscl_mutex.h</a>&gt;</code>
10<p>
11<p>Inheritance diagram for OsclMutex:
12<p><center><img src="classOsclMutex.png" usemap="#OsclMutex_map" border="0" alt=""></center>
13<map name="OsclMutex_map">
14<area href="classOsclLockBase.html" alt="OsclLockBase" shape="rect" coords="0,0,93,24">
15</map>
16<table border=0 cellpadding=0 cellspacing=0>
17<tr><td></td></tr>
18<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
19<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a0">OsclMutex</a> ()</td></tr>
20<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a1">~OsclMutex</a> ()</td></tr>
21<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a2">Create</a> (void)</td></tr>
22<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a3">Lock</a> ()</td></tr>
23<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a4">TryLock</a> ()</td></tr>
24<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a5">Unlock</a> ()</td></tr>
25<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclMutex.html#a6">Close</a> (void)</td></tr>
26</table>
27<hr><a name="_details"></a><h2>Detailed Description</h2>
28Class OsclMutex
29<p>
30<hr><h2>Constructor &amp; Destructor Documentation</h2>
31<a name="a0" doxytag="OsclMutex::OsclMutex"></a><p>
32<table width="100%" cellpadding="2" cellspacing="0" border="0">
33  <tr>
34    <td class="md">
35      <table cellpadding="0" cellspacing="0" border="0">
36        <tr>
37          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclMutex::OsclMutex </td>
38          <td class="md" valign="top">(&nbsp;</td>
39          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
40          <td class="md" valign="top">)&nbsp;</td>
41          <td class="md" nowrap></td>
42        </tr>
43
44      </table>
45    </td>
46  </tr>
47</table>
48<table cellspacing=5 cellpadding=0 border=0>
49  <tr>
50    <td>
51      &nbsp;
52    </td>
53    <td>
54
55<p>
56Class constructor     </td>
57  </tr>
58</table>
59<a name="a1" doxytag="OsclMutex::~OsclMutex"></a><p>
60<table width="100%" cellpadding="2" cellspacing="0" border="0">
61  <tr>
62    <td class="md">
63      <table cellpadding="0" cellspacing="0" border="0">
64        <tr>
65          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF OsclMutex::~OsclMutex </td>
66          <td class="md" valign="top">(&nbsp;</td>
67          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
68          <td class="md" valign="top">)&nbsp;</td>
69          <td class="md" nowrap><code> [virtual]</code></td>
70        </tr>
71
72      </table>
73    </td>
74  </tr>
75</table>
76<table cellspacing=5 cellpadding=0 border=0>
77  <tr>
78    <td>
79      &nbsp;
80    </td>
81    <td>
82
83<p>
84Class destructor     </td>
85  </tr>
86</table>
87<hr><h2>Member Function Documentation</h2>
88<a name="a6" doxytag="OsclMutex::Close"></a><p>
89<table width="100%" cellpadding="2" cellspacing="0" border="0">
90  <tr>
91    <td class="md">
92      <table cellpadding="0" cellspacing="0" border="0">
93        <tr>
94          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclMutex::Close </td>
95          <td class="md" valign="top">(&nbsp;</td>
96          <td class="md" nowrap valign="top">void&nbsp;</td>
97          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
98          <td class="md" valign="top">)&nbsp;</td>
99          <td class="md" nowrap></td>
100        </tr>
101
102      </table>
103    </td>
104  </tr>
105</table>
106<table cellspacing=5 cellpadding=0 border=0>
107  <tr>
108    <td>
109      &nbsp;
110    </td>
111    <td>
112
113<p>
114Closes the Mutex<dl compact><dt><b>Parameters: </b></dt><dd>
115<table border=0 cellspacing=2 cellpadding=0>
116<tr><td valign=top><em>It</em>&nbsp;</td><td>
117wont take any prameters</td></tr>
118</table>
119</dl><dl compact><dt><b>Returns: </b></dt><dd>
120Returns the Error whether it is success or failure. Incase of failure it will return what is the specific error </dl>    </td>
121  </tr>
122</table>
123<a name="a2" doxytag="OsclMutex::Create"></a><p>
124<table width="100%" cellpadding="2" cellspacing="0" border="0">
125  <tr>
126    <td class="md">
127      <table cellpadding="0" cellspacing="0" border="0">
128        <tr>
129          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclMutex::Create </td>
130          <td class="md" valign="top">(&nbsp;</td>
131          <td class="md" nowrap valign="top">void&nbsp;</td>
132          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
133          <td class="md" valign="top">)&nbsp;</td>
134          <td class="md" nowrap></td>
135        </tr>
136
137      </table>
138    </td>
139  </tr>
140</table>
141<table cellspacing=5 cellpadding=0 border=0>
142  <tr>
143    <td>
144      &nbsp;
145    </td>
146    <td>
147
148<p>
149Creates the Mutex<dl compact><dt><b>Parameters: </b></dt><dd>
150<table border=0 cellspacing=2 cellpadding=0>
151<tr><td valign=top><em>No</em>&nbsp;</td><td>
152input arguments</td></tr>
153</table>
154</dl><dl compact><dt><b>Returns: </b></dt><dd>
155Returns the Error whether it is success or failure. Incase of failure it will return what is the specific error </dl>    </td>
156  </tr>
157</table>
158<a name="a3" doxytag="OsclMutex::Lock"></a><p>
159<table width="100%" cellpadding="2" cellspacing="0" border="0">
160  <tr>
161    <td class="md">
162      <table cellpadding="0" cellspacing="0" border="0">
163        <tr>
164          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMutex::Lock </td>
165          <td class="md" valign="top">(&nbsp;</td>
166          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
167          <td class="md" valign="top">)&nbsp;</td>
168          <td class="md" nowrap><code> [virtual]</code></td>
169        </tr>
170
171      </table>
172    </td>
173  </tr>
174</table>
175<table cellspacing=5 cellpadding=0 border=0>
176  <tr>
177    <td>
178      &nbsp;
179    </td>
180    <td>
181
182<p>
183Locks the Mutex<dl compact><dt><b>Parameters: </b></dt><dd>
184<table border=0 cellspacing=2 cellpadding=0>
185<tr><td valign=top><em>It</em>&nbsp;</td><td>
186wont take any parameters</td></tr>
187</table>
188</dl><dl compact><dt><b>Returns: </b></dt><dd>
189Returns nothing </dl>
190<p>
191Implements <a class="el" href="classOsclLockBase.html#a0">OsclLockBase</a>.    </td>
192  </tr>
193</table>
194<a name="a4" doxytag="OsclMutex::TryLock"></a><p>
195<table width="100%" cellpadding="2" cellspacing="0" border="0">
196  <tr>
197    <td class="md">
198      <table cellpadding="0" cellspacing="0" border="0">
199        <tr>
200          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclMutex::TryLock </td>
201          <td class="md" valign="top">(&nbsp;</td>
202          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
203          <td class="md" valign="top">)&nbsp;</td>
204          <td class="md" nowrap></td>
205        </tr>
206
207      </table>
208    </td>
209  </tr>
210</table>
211<table cellspacing=5 cellpadding=0 border=0>
212  <tr>
213    <td>
214      &nbsp;
215    </td>
216    <td>
217
218<p>
219Try to lock the mutex,if the Mutex is already locked calling thread immediately returns with out blocking <dl compact><dt><b>Parameters: </b></dt><dd>
220<table border=0 cellspacing=2 cellpadding=0>
221<tr><td valign=top><em>It</em>&nbsp;</td><td>
222wont take any parameters</td></tr>
223</table>
224</dl><dl compact><dt><b>Returns: </b></dt><dd>
225Returns SUCCESS_ERROR if the mutex was acquired, MUTEX_LOCKED_ERROR if the mutex cannot be acquired without waiting, or an error code if the operation failed. Note: this function may not be supported on all platforms, and may return NOT_IMPLEMENTED. </dl>    </td>
226  </tr>
227</table>
228<a name="a5" doxytag="OsclMutex::Unlock"></a><p>
229<table width="100%" cellpadding="2" cellspacing="0" border="0">
230  <tr>
231    <td class="md">
232      <table cellpadding="0" cellspacing="0" border="0">
233        <tr>
234          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMutex::Unlock </td>
235          <td class="md" valign="top">(&nbsp;</td>
236          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
237          <td class="md" valign="top">)&nbsp;</td>
238          <td class="md" nowrap><code> [virtual]</code></td>
239        </tr>
240
241      </table>
242    </td>
243  </tr>
244</table>
245<table cellspacing=5 cellpadding=0 border=0>
246  <tr>
247    <td>
248      &nbsp;
249    </td>
250    <td>
251
252<p>
253Releases the Mutex<dl compact><dt><b>Parameters: </b></dt><dd>
254<table border=0 cellspacing=2 cellpadding=0>
255<tr><td valign=top><em>It</em>&nbsp;</td><td>
256wont take any parameters</td></tr>
257</table>
258</dl><dl compact><dt><b>Returns: </b></dt><dd>
259Returns nothing </dl>
260<p>
261Implements <a class="el" href="classOsclLockBase.html#a1">OsclLockBase</a>.    </td>
262  </tr>
263</table>
264<hr>The documentation for this class was generated from the following file:<ul>
265<li><a class="el" href="oscl__mutex_8h-source.html">oscl_mutex.h</a></ul>
266<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
267<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
268</small></address>
269</body>
270</html>
271