| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> |
| <title>pv_interface_cmd_message.h Source File</title> |
| <link href="doxygen.css" rel="stylesheet" type="text/css"> |
| </head><body> |
| <!-- Generated by Doxygen 1.2.18 --> |
| <center> |
| <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> |
| <hr><h1>pv_interface_cmd_message.h</h1><a href="pv__interface__cmd__message_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef PV_INTERFACE_CMD_MESSAGE_H_INCLUDED</span> |
| 00002 <span class="preprocessor"></span><span class="preprocessor">#define PV_INTERFACE_CMD_MESSAGE_H_INCLUDED</span> |
| 00003 <span class="preprocessor"></span> |
| 00004 <span class="preprocessor">#ifndef PV_COMMON_TYPES_H_INCLUDED</span> |
| 00005 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="pv__common__types_8h.html">pv_common_types.h</a>"</span> |
| 00006 <span class="preprocessor">#endif</span> |
| 00007 <span class="preprocessor"></span> |
| 00008 <span class="preprocessor">#ifndef PV_ENGINE_TYPES_H_INCLUDED</span> |
| 00009 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="pv__engine__types_8h.html">pv_engine_types.h</a>"</span> |
| 00010 <span class="preprocessor">#endif</span> |
| 00011 <span class="preprocessor"></span> |
| <a name="l00022"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html">00022</a> <span class="keyword">class </span><a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a> |
| 00023 { |
| 00024 <span class="keyword">public</span>: |
| <a name="l00025"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a0">00025</a> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a1">CPVCmnInterfaceCmdMessage</a>(<span class="keywordtype">int</span> aType, |
| 00026 OsclAny* aContextData) : <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a>(0), |
| 00027 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n1">iType</a>(aType), |
| 00028 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a>(0), |
| 00029 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n3">iContextData</a>(aContextData) {}; |
| 00030 |
| <a name="l00031"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a1">00031</a> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a1">CPVCmnInterfaceCmdMessage</a>() {}; |
| 00032 |
| <a name="l00033"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a2">00033</a> <span class="keyword">virtual</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a2">~CPVCmnInterfaceCmdMessage</a>() {}; |
| 00034 |
| <a name="l00035"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a3">00035</a> <a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a3">GetCommandId</a>() |
| 00036 { |
| 00037 <span class="keywordflow">return</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a>; |
| 00038 } |
| <a name="l00039"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a4">00039</a> <span class="keywordtype">int</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a4">GetType</a>() |
| 00040 { |
| 00041 <span class="keywordflow">return</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n1">iType</a>; |
| 00042 } |
| <a name="l00043"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a5">00043</a> OsclAny *<a class="code" href="classCPVCmnInterfaceCmdMessage.html#a5">GetContextData</a>() |
| 00044 { |
| 00045 <span class="keywordflow">return</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n3">iContextData</a>; |
| 00046 } |
| 00047 |
| <a name="l00053"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a6">00053</a> <span class="keywordtype">int</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a6">compare</a>(<a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>* a, <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>* b)<span class="keyword"> const</span> |
| 00054 <span class="keyword"> </span>{ |
| 00055 <span class="keywordflow">if</span> (a-><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a7">GetPriority</a>() < b-><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a7">GetPriority</a>()) |
| 00056 <span class="keywordflow">return</span> 1; |
| 00057 <span class="keywordflow">else</span> <span class="comment">//if no priority, use fifo order.</span> |
| 00058 <span class="keywordflow">return</span> (a-><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a3">GetCommandId</a>() > b-><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a3">GetCommandId</a>()); |
| 00059 } |
| 00060 |
| <a name="l00061"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a7">00061</a> int32 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a7">GetPriority</a>()<span class="keyword">const</span> |
| 00062 { |
| 00063 <span class="keywordflow">return</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a>; |
| 00064 } |
| 00065 |
| 00066 <span class="keyword">friend</span> int32 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a0">operator<</a>(<span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>& a, <span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>& b); |
| 00067 |
| <a name="l00068"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#a8">00068</a> <span class="keywordtype">void</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#a8">SetId</a>(<a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> aId) |
| 00069 { |
| 00070 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a> = aId; |
| 00071 } |
| 00072 |
| 00073 <span class="keyword">protected</span>: |
| <a name="l00074"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">00074</a> <a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a>; |
| <a name="l00075"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#n1">00075</a> <span class="keywordtype">int</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n1">iType</a>; |
| <a name="l00076"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">00076</a> int32 <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a>; |
| <a name="l00077"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#n3">00077</a> OsclAny* <a class="code" href="classCPVCmnInterfaceCmdMessage.html#n3">iContextData</a>; |
| 00078 |
| <a name="l00079"></a><a class="code" href="classCPVCmnInterfaceCmdMessage.html#l0">00079</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classCPVCmnInterfaceCmdMessage.html#l0">PVInterfaceProxy</a>; |
| 00080 }; |
| 00081 |
| <a name="l00082"></a><a class="code" href="pv__interface__cmd__message_8h.html#a0">00082</a> <span class="keyword">inline</span> int32 <a class="code" href="pv__interface__cmd__message_8h.html#a0">operator<</a>(<span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>& a, <span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>& b) |
| 00083 { |
| 00084 <span class="comment">//Use priority</span> |
| 00085 <span class="keywordflow">if</span> (a.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a> < b.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a>) |
| 00086 { |
| 00087 <span class="keywordflow">return</span> <span class="keyword">true</span>; |
| 00088 } |
| 00089 <span class="comment">//If priority is the same, use id.</span> |
| 00090 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (a.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a> == b.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n2">iPriority</a>) |
| 00091 { |
| 00092 <span class="comment">//Smaller id means an older message so process older message first.</span> |
| 00093 <span class="keywordflow">return</span> (a.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a> > b.<a class="code" href="classCPVCmnInterfaceCmdMessage.html#n0">iId</a>); |
| 00094 } |
| 00095 <span class="keywordflow">else</span> |
| 00096 { |
| 00097 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00098 } |
| 00099 } |
| 00100 <span class="preprocessor">#endif</span> |
| 00101 <span class="preprocessor"></span> |
| 00102 |
| </pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>PV Author Engine</small> |
| <address style="align: left;"><small>Posting Version: OPENCORE_20090120 </small> |
| </small></address> |
| </body> |
| </html> |