Home | History | Annotate | Download | only in include
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 
     19 #ifndef PV_ENGINE_OBSERVER_H_INCLUDED
     20 #define PV_ENGINE_OBSERVER_H_INCLUDED
     21 
     22 #ifndef PV_ENGINE_OBSERVER_MESSAGE_H_INCLUDED
     23 #include "pv_engine_observer_message.h"
     24 #endif
     25 
     26 /**
     27  * PVErrorEventObserver Class
     28  *
     29  * PVErrorEventObserver is the PV SDK event observer class. It is used
     30  * for communicating unsolicited error events back to the user of the SDK.
     31  *
     32  * Applications using the PV SDKs must have a class derived from
     33  * PVErrorEventObserver and implement the pure virtual function in
     34  * order to receive error notifications from a PV SDK.
     35  *
     36  **/
     37 class PVErrorEventObserver
     38 {
     39     public:
     40         /**
     41          * Handle an error event that has been generated.
     42          *
     43          * @param "aEvent" "The event to be handled."
     44          */
     45         virtual void HandleErrorEvent(const PVAsyncErrorEvent& aEvent) = 0;
     46         virtual ~PVErrorEventObserver() {}
     47 };
     48 
     49 /**
     50  * PVInformationalEventObserver Class
     51  *
     52  * PVInformationalEventObserver is the PV SDK event observer class. It is used
     53  * for communicating unsolicited informational events back to the user of the SDK.
     54  *
     55  * Applications using the PV SDKs must have a class derived from
     56  * PVInformationalEventObserver and implement the pure virtual function in
     57  * order to receive informational event notifications from a PV SDK.
     58  *
     59  **/
     60 class PVInformationalEventObserver
     61 {
     62     public:
     63         /**
     64          * Handle an informational event that has been generated.
     65          *
     66          * @param "aEvent" "The event to be handled."
     67          */
     68         virtual void HandleInformationalEvent(const PVAsyncInformationalEvent& aEvent) = 0;
     69         virtual ~PVInformationalEventObserver() {}
     70 };
     71 
     72 
     73 /**
     74  * PVCommandStatusObserver Class
     75  *
     76  * PVCommandStatusObserver is the PV SDK observer class for notifying the
     77  * status of issued command messages. The API provides a mechanism for
     78  * the status of each command to be passed back along with context specific
     79  * information where applicable.
     80  * Applications using the PV SDKs must have a class derived from
     81  * PVCommandStatusObserver and implement the pure virtual function in
     82  * order to receive event notifications from a PV SDK.  Additional
     83  * information is optionally provided via derived classes.
     84  **/
     85 class PVCommandStatusObserver
     86 {
     87     public:
     88         /**
     89         Handle an event that has been generated.
     90 
     91         @param "aResponse"  "The response to a previously issued command."
     92         */
     93         virtual void CommandCompleted(const PVCmdResponse& aResponse) = 0;
     94         virtual ~PVCommandStatusObserver() {}
     95 };
     96 
     97 #endif // PV_ENGINE_OBSERVER_H_INCLUDED
     98 
     99 
    100 
    101