mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mcefilesource.h
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
child 35 6c57ef9392d2
--- a/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mcefilesource.h	Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  
-*
-*/
-
-
-#ifndef MCEFILESOURCE_H
-#define MCEFILESOURCE_H
-
-// INCLUDES
-#include "mcemediasource.h"
-#include "mcemediastream.h"
-
-// CONSTANTS
-const TMceSourceType KMceFileSource = 4;
-
-//FORWARD DECLARATIONS
-class CMceManager;
-
-// CLASS DECLARATION
-
-/**
-* Class representing file source in MCE.
-*
-* CMceFileSource can be used for streaming file contents. The file may contain
-* both audio and video data. If the user wants to stream both media types,
-* the same file source should be attached to audio stream and video stream. 
-*
-* The file may contain also several elements of the same media type (e.g. 
-* 3 audio channels) and the user might want to use only some of those. 
-* This can be handled by defining index of the file's current media element:
-*
-* - Get number of audio media elements within the file (e.g. returns 3)
-* - Set current audio element index to be 0
-* - Attach the file source to the audioStreamOne (audio element 0 is attached)
-* - Set current audio element index to be 2
-* - Attach the file source to the audioStreamTwo (audio element 2 is attached)
-* - Consequently, file's audio channel 0 would be streamed over the audioStreamOne
-*   and channel 2 over the audioStreamTwo. Channel 1 would be ignored.
-*
-* Enable (continue) and Disable (pause) operations to it are considered
-* to be local, so they are not signalled to remote terminal.
-* 
-* @lib mceclient.lib
-*/
-class CMceFileSource : public CMceMediaSource
-	{
-
-	public: // Constructors and destructor
-
-	    /**
-	    * Two-phased constructor.
-	    * @param aManager associated MCE manager
-	    * @param aFileName name of the file including full path info
-	    */
-		IMPORT_C static CMceFileSource* NewL( CMceManager& aManager,
-		                                      const TFileName& aFileName );
-
-	    /**
-	    * Two-phased constructor.
-	    * @param aManager associated MCE manager
-	    * @param aFileName name of the file including full path info
-	    */
-		IMPORT_C static CMceFileSource* NewLC( CMceManager& aManager,
-		                                       const TFileName& aFileName );
-		
-	    /**
-	    * Destructor.
-	    */
-		IMPORT_C ~CMceFileSource();
-
-
-	public: // From CMceMediaSource
-
-	    /**
-	    * Enables the source explicitly.
-	    */
-		IMPORT_C void EnableL(); 
-
-	    /**
-	    * Disables the source explicitly.
-	    */
-		IMPORT_C void DisableL(); 
-
-
-	public: // Functions
-
-        /**
-        * Updates file for the source.
-        * @param aFileName name of the file including full path info
-        */
-        IMPORT_C void UpdateL ( const TFileName& aFileName );
-
-        /**
-        * Determines how many media elements of the spesified type the file
-        * source contains. E.g. audio file may contain N number of audio
-        * channels which has to be streamed over N number of audio streams.
-        * @param aType the type of media
-        * @return the number of media elements (of spesified type)
-        *         the file contains
-        */
-        IMPORT_C TInt MediaElementCountL( TMceMediaType aType ) const;
-        
-        /**
-        * Sets currently managed media element of the spesified media type. 
-        * The setting is effective when the file source is attached to
-        * media stream of the spesified type. Current media element can be
-        * defined for each media type the file contains. By default, media
-        * element 0 of each media type is used.
-        * @param aType the type of media
-        * @param aIndex new index of the current media element
-        * @leave KErrArgument if media element spesified by input parameters
-        *        does not exist
-        */
-        IMPORT_C void SetCurrentMediaElementL( TMceMediaType aType, TInt aIndex );
-
-        /**
-        * Gets currently managed media element of the spesified media type. 
-        * @param aType the type of media
-        * @return index of the current media element or KErrNotFound if no media
-        *         elements of the spesified type exists
-        */
-        IMPORT_C TInt CurrentMediaElement( TMceMediaType aType );
-        
-        /**
-        * Sets the position within the file from where to start playback.
-        * @pre IsEnabled() == EFalse and contains audio/video
-        * @param aPosition from start of the file in microseconds
-        */
-        IMPORT_C void SetPositionL( const TTimeIntervalMicroSeconds& aPosition );
-        
-        /**
-        * Gets the current playback position in microseconds from the start of the file.
-        * @pre contains audio/video
-        * @return current position from start of the file in microseconds
-        */
-        IMPORT_C TTimeIntervalMicroSeconds PositionL() const;
-        
-        /**
-        * Returns the duration of the file in microseconds.
-        * @pre contains audio/video
-        * @return duration of the file in microseconds.
-        */
-        IMPORT_C TTimeIntervalMicroSeconds DurationL() const;
-
-        /**
-        * Sets fast forward on/off.
-        * @pre contains video
-        * @param aUseFFWD ETrue if fast forward is enabled; otherwise EFalse
-        */
-        IMPORT_C void SetFastForwardL( TBool aUseFFWD );
-        
-        /**
-        * Sets fast rewind on/off.
-        * @pre contains video
-        * @param aUseFRWD ETrue if fast rewind is enabled; otherwise EFalse
-        */
-        IMPORT_C void SetFastRewindL( TBool aUseFRWD );
-
-        /**
-        * Starts transcoding of file. After the transcoding is complete,
-        * file of this source is changed into the transcoded file.
-        * @pre CMceMediaStream::State() == ETranscodingRequired
-        * @post CMceMediaStream::State() == ETranscoding
-        * @param aFileName Name of the transcoding output file.
-        */
-        IMPORT_C void TranscodeL( const TFileName& aFileName );
-
-        /**
-        * Cancels transcoding of file. 
-        * @pre CMceMediaStream::State() == ETranscoding
-        * @post CMceMediaStream::State() == ETranscodingRequired
-        */
-        IMPORT_C void CancelTranscodeL();
-
-        /**
-        * Gets the current transcoding progress in percentage.
-        * Value is updated with MMceStreamObserver::StreamStateChanged() event.
-        * @pre CMceMediaStream::State() == ETranscoding
-        * @return Transcoding progress in persentage (0-100).
-        */
-        IMPORT_C TInt TranscodingProgressL() const;
-        
-
-	public: // internal
-	
-	    /**
-	    * Initializes 
-	    * @param aManager the manager. Ownership is NOT transferred
-	    */
-	    void InitializeL( CMceManager* aManager );
-	    
-	public: 
-
-	    /**
-	    * Two-phased constructor.
-	    */
-	    static CMceFileSource* NewL();
-
-	    /**
-	    * Two-phased constructor.
-	    */
-		static CMceFileSource* NewLC();
-
-	private:
-
-	    /**
-	    * C++ default constructor.
-	    */
-		CMceFileSource();
-
-	    /**
-	    * Second-phase constructor.
-	    */
-		void ConstructL( CMceManager* aManager,
-		                 const TFileName& aFileName );	  
-
-
-    public: // Stub data
-
-        TBool iFastForward;
-        TBool iFastRewind;
-        TTimeIntervalMicroSeconds iPosition;
-
-        //TMceFileInfo iFileInfo;
-        //TBuf8<256> iFileName;
-        
-        TBool iInitialInfoRetrieved;    
-
-        TInt iCurrentAudioElement;
-        TInt iCurrentVideoElement;  
-        
-        
-        TFileName iFileName;
-        TTimeIntervalMicroSeconds iDuration;
-        TInt iAudioElementCount;
-        TInt iVideoElementCount;
-        
-        TInt iTranscodingPercentage;
-        
-        // If this code is != KErrNone, next operation that can fail will fail
-	    // (leave or return a value) with this code. Variable is reseted before 
-	    // failing. 
-	    // Obs! Check that wanted failing is really implemented in this stub
-	    mutable TInt iFailWithCode;
-	    
-	};
-
-
-#endif