videoutils_plat/dvrengine_api/inc/ipvideo/MCREngineObserver.h
branchRCL_3
changeset 23 13a33d82ad98
parent 0 822a42b6c3f1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoutils_plat/dvrengine_api/inc/ipvideo/MCREngineObserver.h	Wed Sep 01 12:20:37 2010 +0100
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:    Engine observer to get event notifications.*
+*/
+
+
+#ifndef MCRENGINEOBSERVER_H
+#define MCRENGINEOBSERVER_H
+
+// INCLUDES
+#include <e32def.h>
+
+// CONSTANTS
+// None
+
+// MACROS
+// None.
+
+// DATA TYPES
+/**
+* Different messages that DVR engine may send via client lib callback
+*/
+enum TCRObserverInfo
+    {
+    ECRAuthenticationNeeded, /**< CR needs new username and password for authentication */
+    ECRAttachCompleted,      /**< Connection attach is completed and is ready to be used */
+    ECRConnectionError,      /**< Unable to open connection in RTP engine & CR engine */
+    ECRNotEnoughBandwidth,   /**< Stream bitrate higher than (estimated) available connection bandwidth */
+    ECRNormalEndOfStream,    /**< Used to communicate end of streaming */
+    ECRSwitchingToTcp,       /**< Switch to tcp, client needs to initiate possible player */   
+    ECRStreamIsLiveStream,   /**< We have a stream that cannot be paused */
+    ECRRealNetworksStream,   /**< RealMedia stream format, cannot support */
+    ECRTestSinkData,         /**< Placeholder for TestSink (NullSink) feedback information to test client */
+    ECRSdpAvailable,         /**< Used to communicate availability of SDP */            
+    ECRReadyToSeek,          /**< Used to communicate seeking posibility */
+    ECRRecordingStarted,     /**< Used to communicate recording state */
+    ECRRecordingPaused,      /**< Used to communicate recording state */
+    ECRRecordingEnded        /**< Used to communicate recording state */
+    };
+
+/**
+* This structure is sent over message queue where
+* api sits listening
+*/
+struct SCRObserverMsg
+    {
+    TCRObserverInfo iMsg;    /**< Identifies the message */
+    TInt            iErr;    /**< Can be used to pass error value related to message */
+    };
+
+// FORWARD DECLARATIONS
+// None
+
+// CLASS DECLARATION
+
+/**
+*  Engine observer to get event notifications.
+*
+*  @lib CommonRecordingEngineClient.lib
+*  @since Series 60 3.0
+*/
+class MCREngineObserver 
+    {
+
+public: // New methods
+
+    /**
+    * Notify call back for statuses.
+    * @since Series 60 3.0
+    * @param aInfo a notify info.
+    * @return none.
+    */
+    virtual void NotifyL( const SCRObserverMsg& aInfo ) = 0;
+    
+    };
+    
+#endif MCRENGINEOBSERVER_H
+
+// End of file.