<!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_engine_observer_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_engine_observer_message.h</h1><a href="pv__engine__observer__message_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 
00002 <span class="preprocessor">#ifndef PV_ENGINE_OBSERVER_MESSAGE_H_INCLUDED</span>
00003 <span class="preprocessor"></span><span class="preprocessor">#define PV_ENGINE_OBSERVER_MESSAGE_H_INCLUDED</span>
00004 <span class="preprocessor"></span>
00005 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span>
00006 <span class="preprocessor"></span><span class="preprocessor">#include "oscl_base.h"</span>
00007 <span class="preprocessor">#endif</span>
00008 <span class="preprocessor"></span><span class="preprocessor">#ifndef OSCL_MEM_H_INCLUDED</span>
00009 <span class="preprocessor"></span><span class="preprocessor">#include "oscl_mem.h"</span>
00010 <span class="preprocessor">#endif</span>
00011 <span class="preprocessor"></span><span class="preprocessor">#ifndef PVMF_RETURN_CODES_H_INCLUDED</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#include "pvmf_return_codes.h"</span>
00013 <span class="preprocessor">#endif</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#ifndef PVMF_EVENT_HANDLING_H_INCLUDED</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#include "pvmf_event_handling.h"</span>
00016 <span class="preprocessor">#endif</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#ifndef PV_ENGINE_TYPES_H_INCLUDED</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="pv__engine__types_8h.html">pv_engine_types.h</a>"</span>
00019 <span class="preprocessor">#endif</span>
00020 <span class="preprocessor"></span>
00021 
00022 <span class="comment">// CLASS DECLARATION</span>
<a name="l00028"></a><a class="code" href="classPVCmdResponse.html">00028</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classPVCmdResponse.html">PVCmdResponse</a> : <span class="keyword">public</span> PVMFCmdResp
00029 {
00030     <span class="keyword">public</span>:
<a name="l00034"></a><a class="code" href="classPVCmdResponse.html#a0">00034</a>         <a class="code" href="classPVCmdResponse.html#a0">PVCmdResponse</a>(<a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> aId,
00035                       OsclAny* aContext,
00036                       PVMFStatus aStatus,
00037                       <span class="comment">// Event data will be deprecated</span>
00038                       OsclAny* aEventData = NULL, int32 aEventDataSize = 0):
00039                 PVMFCmdResp(aId, aContext, aStatus, NULL, aEventData),
00040                 iEventDataSize(aEventDataSize)
00041         {
00042         }
00043 
<a name="l00047"></a><a class="code" href="classPVCmdResponse.html#a1">00047</a>         <a class="code" href="classPVCmdResponse.html#a0">PVCmdResponse</a>(<a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> aId,
00048                       OsclAny* aContext,
00049                       PVMFStatus aStatus,
00050                       PVInterface* aEventExtInterface = NULL,
00051                       <span class="comment">// Event data will be deprecated</span>
00052                       OsclAny* aEventData = NULL, int32 aEventDataSize = 0):
00053                 PVMFCmdResp(aId, aContext, aStatus, aEventExtInterface, aEventData),
00054                 iEventDataSize(aEventDataSize)
00055         {
00056         }
00057 
<a name="l00062"></a><a class="code" href="classPVCmdResponse.html#a2">00062</a>         <a class="code" href="pv__engine__types_8h.html#a3">PVResponseType</a> <a class="code" href="classPVCmdResponse.html#a2">GetResponseType</a>()<span class="keyword">const</span>
00063         {
00064             <span class="keywordflow">return</span> 0;
00065         }
00066 
<a name="l00070"></a><a class="code" href="classPVCmdResponse.html#a3">00070</a>         <a class="code" href="pv__engine__types_8h.html#a0">PVCommandId</a> <a class="code" href="classPVCmdResponse.html#a3">GetCmdId</a>()<span class="keyword">const</span>
00071         {
00072             <span class="keywordflow">return</span> (PVCommandId)(PVMFCmdResp::GetCmdId());
00073         }
00074 
<a name="l00078"></a><a class="code" href="classPVCmdResponse.html#a4">00078</a>         OsclAny* <a class="code" href="classPVCmdResponse.html#a4">GetContext</a>()<span class="keyword">const</span>
00079         {
00080             <span class="keywordflow">return</span> (OsclAny*)(PVMFCmdResp::GetContext());
00081         }
00082 
<a name="l00086"></a><a class="code" href="classPVCmdResponse.html#a5">00086</a>         PVMFStatus <a class="code" href="classPVCmdResponse.html#a5">GetCmdStatus</a>()<span class="keyword">const</span>
00087         {
00088             <span class="keywordflow">return</span> PVMFCmdResp::GetCmdStatus();
00089         }
00090 
<a name="l00096"></a><a class="code" href="classPVCmdResponse.html#a6">00096</a>         OsclAny* <a class="code" href="classPVCmdResponse.html#a6">GetResponseData</a>()<span class="keyword">const</span>
00097         {
00098             <span class="keywordflow">return</span> PVMFCmdResp::GetEventData();
00099         }
00100 
<a name="l00101"></a><a class="code" href="classPVCmdResponse.html#a7">00101</a>         int32 <a class="code" href="classPVCmdResponse.html#a7">GetResponseDataSize</a>()<span class="keyword">const</span>
00102         {
00103             <span class="keywordflow">return</span> iEventDataSize;
00104         }
00105 
00106     <span class="keyword">private</span>:
00107         int32 iEventDataSize;
00108 };
00109 
00110 
<a name="l00117"></a><a class="code" href="classPVAsyncInformationalEvent.html">00117</a> <span class="keyword">class </span><a class="code" href="classPVAsyncInformationalEvent.html">PVAsyncInformationalEvent</a> : <span class="keyword">public</span> PVMFAsyncEvent
00118 {
00119     <span class="keyword">public</span>:
<a name="l00123"></a><a class="code" href="classPVAsyncInformationalEvent.html#a0">00123</a>         <a class="code" href="classPVAsyncInformationalEvent.html#a0">PVAsyncInformationalEvent</a>(<a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> aEventType,
00124                                   <a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a> aEventData = NULL,
00125                                   uint8* aLocalBuffer = NULL,
00126                                   int32 aLocalBufferSize = 0):
00127                 PVMFAsyncEvent(PVMFInfoEvent, aEventType, NULL, NULL, aEventData, aLocalBuffer, aLocalBufferSize)
00128         {
00129         }
00130 
<a name="l00134"></a><a class="code" href="classPVAsyncInformationalEvent.html#a1">00134</a>         <a class="code" href="classPVAsyncInformationalEvent.html#a0">PVAsyncInformationalEvent</a>(<a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> aEventType,
00135                                   OsclAny* aContext,
00136                                   PVInterface* aEventExtInterface,
00137                                   <a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a> aEventData = NULL,
00138                                   uint8* aLocalBuffer = NULL,
00139                                   int32 aLocalBufferSize = 0):
00140                 PVMFAsyncEvent(PVMFInfoEvent, aEventType, aContext, aEventExtInterface, aEventData, aLocalBuffer, aLocalBufferSize)
00141         {
00142         }
00143 
<a name="l00147"></a><a class="code" href="classPVAsyncInformationalEvent.html#a2">00147</a>         <a class="code" href="classPVAsyncInformationalEvent.html#a2">~PVAsyncInformationalEvent</a>() {}
00148 
<a name="l00153"></a><a class="code" href="classPVAsyncInformationalEvent.html#a3">00153</a>         <a class="code" href="pv__engine__types_8h.html#a3">PVResponseType</a> <a class="code" href="classPVAsyncInformationalEvent.html#a3">GetResponseType</a>()<span class="keyword">const</span>
00154         {
00155             <span class="keywordflow">return</span> 0;
00156         }
00157 
<a name="l00161"></a><a class="code" href="classPVAsyncInformationalEvent.html#a4">00161</a>         <a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> <a class="code" href="classPVAsyncInformationalEvent.html#a4">GetEventType</a>()<span class="keyword">const</span>
00162         {
00163             <span class="keywordflow">return</span> PVMFAsyncEvent::GetEventType();
00164         }
00165 
<a name="l00169"></a><a class="code" href="classPVAsyncInformationalEvent.html#a5">00169</a>         <span class="keywordtype">void</span> <a class="code" href="classPVAsyncInformationalEvent.html#a5">GetEventData</a>(<a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a>&amp; aPtr)<span class="keyword">const</span>
00170         {
00171             aPtr = PVMFAsyncEvent::GetEventData();
00172         }
00173 };
00174 
<a name="l00181"></a><a class="code" href="classPVAsyncErrorEvent.html">00181</a> <span class="keyword">class </span><a class="code" href="classPVAsyncErrorEvent.html">PVAsyncErrorEvent</a> : <span class="keyword">public</span> PVMFAsyncEvent
00182 {
00183     <span class="keyword">public</span>:
<a name="l00187"></a><a class="code" href="classPVAsyncErrorEvent.html#a0">00187</a>         <a class="code" href="classPVAsyncErrorEvent.html#a0">PVAsyncErrorEvent</a>(<a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> aEventType,
00188                           <a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a> aEventData = NULL,
00189                           uint8* aLocalBuffer = NULL,
00190                           int32 aLocalBufferSize = 0):
00191                 PVMFAsyncEvent(PVMFErrorEvent, aEventType, NULL, NULL, aEventData, aLocalBuffer, aLocalBufferSize)
00192         {
00193         }
00194 
<a name="l00198"></a><a class="code" href="classPVAsyncErrorEvent.html#a1">00198</a>         <a class="code" href="classPVAsyncErrorEvent.html#a0">PVAsyncErrorEvent</a>(<a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> aEventType,
00199                           OsclAny* aContext,
00200                           PVInterface* aEventExtInterface,
00201                           <a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a> aEventData = NULL,
00202                           uint8* aLocalBuffer = NULL,
00203                           int32 aLocalBufferSize = 0):
00204                 PVMFAsyncEvent(PVMFErrorEvent, aEventType, aContext, aEventExtInterface, aEventData, aLocalBuffer, aLocalBufferSize)
00205         {
00206         }
00207 
<a name="l00211"></a><a class="code" href="classPVAsyncErrorEvent.html#a2">00211</a>         <a class="code" href="classPVAsyncErrorEvent.html#a2">~PVAsyncErrorEvent</a>() {}
00212 
<a name="l00217"></a><a class="code" href="classPVAsyncErrorEvent.html#a3">00217</a>         <a class="code" href="pv__engine__types_8h.html#a3">PVResponseType</a> <a class="code" href="classPVAsyncErrorEvent.html#a3">GetResponseType</a>()<span class="keyword">const</span>
00218         {
00219             <span class="keywordflow">return</span> 0;
00220         }
00221 
<a name="l00225"></a><a class="code" href="classPVAsyncErrorEvent.html#a4">00225</a>         <a class="code" href="pv__engine__types_8h.html#a1">PVEventType</a> <a class="code" href="classPVAsyncErrorEvent.html#a4">GetEventType</a>()<span class="keyword">const</span>
00226         {
00227             <span class="keywordflow">return</span> PVMFAsyncEvent::GetEventType();
00228         }
00229 
<a name="l00233"></a><a class="code" href="classPVAsyncErrorEvent.html#a5">00233</a>         <span class="keywordtype">void</span> <a class="code" href="classPVAsyncErrorEvent.html#a5">GetEventData</a>(<a class="code" href="pv__engine__types_8h.html#a2">PVExclusivePtr</a>&amp; aPtr)<span class="keyword">const</span>
00234         {
00235             aPtr = PVMFAsyncEvent::GetEventData();
00236         }
00237 };
00238 
00239 
00240 <span class="preprocessor">#endif // PV_ENGINE_OBSERVER_MESSAGE_H_INCLUDED</span>
</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>
