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; ~PVErrorEventObserver()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; ~PVInformationalEventObserver()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; ~PVCommandStatusObserver()94 virtual ~PVCommandStatusObserver() {} 95 }; 96 97 #endif // PV_ENGINE_OBSERVER_H_INCLUDED 98 99 100 101