blob: ac79baad6362edba361980a7405fec44e9ed9088 [file] [log] [blame]
<!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> &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>
<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-&gt;<a class="code" href="classCPVCmnInterfaceCmdMessage.html#a7">GetPriority</a>() &lt; b-&gt;<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-&gt;<a class="code" href="classCPVCmnInterfaceCmdMessage.html#a3">GetCommandId</a>() &gt; b-&gt;<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&lt;</a>(<span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>&amp; 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&lt;</a>(<span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classCPVCmnInterfaceCmdMessage.html">CPVCmnInterfaceCmdMessage</a>&amp; 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> &lt; 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> &gt; 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_20090310 </small>
</small></address>
</body>
</html>