diff -r 826cea16efd9 -r 13a33d82ad98 dvrengine/CommonRecordingEngine/inc/MCRConnectionObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dvrengine/CommonRecordingEngine/inc/MCRConnectionObserver.h Wed Sep 01 12:20:37 2010 +0100 @@ -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 + +// 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