diff -r 826cea16efd9 -r 13a33d82ad98 videoutils_plat/dvrengine_api/inc/ipvideo/MCREngineObserver.h --- /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 + +// 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.