dvrengine/CommonRecordingEngine/inc/MCRConnectionObserver.h
changeset 0 822a42b6c3f1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dvrengine/CommonRecordingEngine/inc/MCRConnectionObserver.h	Thu Dec 17 09:14:38 2009 +0200
@@ -0,0 +1,92 @@
+/*
+* 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:    Observer class for wrapping RConnection.*
+*/
+
+
+
+
+#ifndef MCRCONNECTIONOBSERVER_H
+#define MCRCONNECTIONOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CONSTANTS
+// None
+
+// MACROS
+// None
+
+// DATA TYPES
+// None
+
+// FORWARD DECLARATIONS
+// None
+
+// CLASS DECLARATION
+
+/**
+*  Observer for connection interface status.
+*
+*  @lib CommonRecordingEngine.lib
+*  @since Series 60 3.0
+*/
+class MCRConnectionObserver
+    {
+
+public: // Data types
+    
+    /**
+    * TCRConnectionStatus is set of indications to be sent to client
+    */
+    enum TCRConnectionStatus
+        {                        
+    	ECRBearerChanged,        /**< Indicates change in network bearer */
+		ECRIapDown,				 /**< Network connection lost */
+    	ECRConnectionError,      /**< Unable to open connection in RTP engine & CR engine */
+    	ECRConnecting,			 /**< Indicates "connection on progress" state to ui */
+    	ECRAuthenticationNeeded, /**< Used to request username/password from ui */
+        ECRNotEnoughBandwidth,	 /**< Stream has too high bitrate for our network */
+    	ECRNormalEndOfStream,    /**< Clip ends normally */
+    	ECRSwitchingToTcp,       /**< Indicates a udp->tcp switch, client may need to reset player */
+    	ECRStreamIsLiveStream,   /**< Indicates that we have stream that can't be paused */
+    	ECRAttachCompleted,      /**< Sent when attached to RConnection */
+    	ECRStreamIsRealMedia,    /**< Indicates that stream is (unsupported) realmedia format */
+        ECRTestSinkData,         /**< Data from TestSink (former NullSink) to test client observer */
+		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 method is called after connection status changes or there is an error
+    * @since Series 60 3.0
+    * @param aSessionId Id to session generating the status change or message. 0 points to no session.
+    * @param aConnection Reference to connection object being used.
+    * @param aInterfaceUp flags if interface has gone up (ETrue)
+    *        or down (EFalse).
+    * @param aError error value associated.
+    * @return none.
+    */
+    virtual void ConnectionStatusChange( TInt aSessionId,
+                                         const TCRConnectionStatus aStatus,
+                                         TInt aErr ) = 0;
+    };
+
+#endif // MCRCONNECTIONOBSERVER_H
+
+// End of file