diff -r 000000000000 -r 71ca22bcf22a mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2004 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: Progressive Download Utility +* +*/ + + +#ifndef __CAUDIOPDPLAYUTILITY_H__ +#define __CAUDIOPDPLAYUTILITY_H__ + +#include +#include +#include +#include "MAudioPdPlayUtility.h" + + + +class CAudioPdProperties; + +/** +Concrete implementation of the CAudioPdPlayUtility API. +@see CAudioPdPlayUtility +*/ + +class CAudioPdPlayUtility: public CBase, + public MAudioPdPlayUtility + //public MAudioPdPlayUtilityCallback + { + +public: + + + + static CAudioPdPlayUtility* NewL(MAudioPdPlayUtilityCallback& aCallback); + + ~CAudioPdPlayUtility(); + + //For Download Status + void HandleDownloadEventL(TUint aTransactionID, + TBrCtlDownloadEvent aEvent, + TUint aValue); + + //For Audio control + void Play(); + void Stop(); + TInt Pause(); + void SetVolume(TInt aVolume); + void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence); + void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration); + const TTimeIntervalMicroSeconds& Duration(); + TInt MaxVolume(); + void Close(); + TInt GetPosition(TTimeIntervalMicroSeconds& aPosition); + void SetPosition(const TTimeIntervalMicroSeconds& aPosition); + + TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref); + TInt GetVolume(TInt& aVolume); + TInt GetNumberOfMetaDataEntries(TInt& aNumEntries); + CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex); + TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart, + const TTimeIntervalMicroSeconds& aEnd); + TInt ClearPlayWindow(); + TInt SetBalance(TInt aBalance = KMMFBalanceCenter); + TInt GetBalance(TInt& aBalance); + TInt GetBitRate(TUint& aBitRate); + + void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback); + void GetAudioLoadingProgressL(TInt& aPercentageProgress); + const CMMFControllerImplementationInformation& ControllerImplementationInformationL(); + + TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom); + TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2); + void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus); + void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus); + + + + MMMFDRMCustomCommand* GetDRMCustomCommand(); + + + void OpenFileL(const TDesC& aFileName); + + + void OpenFileL(const RFile& aFile); + + void OpenFileL(const TMMSource& aSource); + + + void DlCompleteOpenFileL(const TDesC& aFileName); + + //Source CustomCommands + TInt GetFilePosition(TInt& aFilePosition); + TInt SetFileSize(TInt aFileSize); + TInt SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete); + + TInt CheckAudioPlayerState(); + + +protected: + +private: + + + CAudioPdPlayUtility(); + void ConstructL(); + + + + + CAudioPdProperties* iProperties; + + + }; + +#endif