mmserv/tms/tmsserver/inc/tmsrtaudiohdlr.h
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
child 21 999b2818a0eb
--- a/mmserv/tms/tmsserver/inc/tmsrtaudiohdlr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
- * Copyright (c) 2010 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:  Ring Tone Audio playback handler.
- *
- */
-
-#ifndef TMSRTAUDIOHDLR_H
-#define TMSRTAUDIOHDLR_H
-
-// INCLUDES
-
-#include <AudioOutput.h>
-//#include <c3dringingtoneinterface.h>
-#include <mdaaudiosampleplayer.h>
-#include <mdaaudiotoneplayer.h>
-
-namespace TMS {
-
-// CLASS DECLARATION
-class TMSRtAudioHdlrObsrv;
-class TMSRtContainer;
-
-/**
- *  RingTone audio handler.
- *  Handles audio for tone sequence and digital sample playback.
- */
-class TMSRtAudioHdlr : public CBase,
-                       public MMdaAudioPlayerCallback,
-                       public MMdaAudioToneObserver
-    {
-public:
-
-    enum TAudioPlayerStatus
-        {
-        EToneLoading,
-        EToneReady,
-        ETonePlaying
-        };
-
-    enum TRingingType
-        {
-        ETypeRinging,
-        ETypeRingingOnce,
-        ETypeAscending
-        };
-
-public:
-    /**
-     * Two-phased constructor.
-     * @param aRingingTone The ringing tone
-     * @param aPriority The priority for the playing
-     * @param aPreference The preference value
-     * @param aObserver Audio player observer
-     * @param aType The id of this audio player
-     * @param aExtSecNeeded ETrue if DRM extend security is needed
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewL(const TMSRtContainer& aRingingTone,
-            TUint aPriority, TUint aPreference,
-            TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0,
-            TBool aExtSecNeeded = EFalse);
-
-    /**
-     * Two-phased constructor.
-     * @param aFileName The ringing tone file name.
-     * @param aPriority The priority for the playing
-     * @param aPreference The preference value
-     * @param aObserver Audio player observer
-     * @param aType The id of this audio player
-     * @param aExtSecNeeded ETrue if DRM extend security is needed
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewL(const TDesC& aFileName, TUint aPriority,
-            TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-            TInt aType = 0, TBool aExtSecNeeded = EFalse);
-
-    /**
-     * Two-phased constructor, take audio from descriptor.
-     *
-     * @param aSequence sequence to be played.
-     * @param aPriority priority of tone.
-     * @param aPreference preference of tone.
-     * @param aObserver observer.
-     * @param aType identifier, used in observer interface calls.
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewSeqL(const TDesC8& aSequence,
-            TUint aPriority, TUint aPreference,
-            TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0);
-
-    /**
-     * Two-phased constructor, takes Text-To-Speech text to be played.
-     * @param aText Text to be pronounced.
-     * @param aPriority priority of tone.
-     * @param aPreference preference of tone.
-     * @param aObserver observer.
-     * @param aType identifier, used in observer interface calls.
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewTtsL(const TDesC& aText, TUint aPriority,
-            TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0);
-
-    /**
-     * Destructor.
-     */
-    ~TMSRtAudioHdlr();
-
-public:
-    // new function
-
-    /**
-     * Play the audio file or tone
-     * @param aRingingType
-     * @param aVolume take value from 1 to 10
-     * @param aTTsToBePlayed
-     */
-    void Play(TRingingType aRingType, TInt aVolume, TBool aTTsToBePlayed);
-
-    /**
-     * Stop current file playing
-     */
-    void StopPlaying();
-
-    /**
-     * Sets new volumes and ramptimes.
-     * @param aVolume -volume to be set
-     * @param aRamptime -ramptime to be set.
-     */
-    void SetNewVolumeAndRamptime(TInt aVolume, TInt aRamptime);
-
-    /**
-     * Re starts playing.
-     */
-    void ReStartPlaying();
-    /**
-     * Enable or disable TTs playing.
-     * @param aTTsToBePlayed
-     */
-    void SetTTsToBePlayed(const TBool aTTsToBePlayed);
-
-    /**
-     * Sets volume level to zero.
-     */
-    void MutePlaying();
-
-public:
-    /**
-     * from MMdaAudioPlayerCallback
-     */
-    virtual void MapcInitComplete(TInt aError,
-            const TTimeIntervalMicroSeconds& aDuration);
-
-    /**
-     * from MMdaAudioPlayerCallback
-     */
-    virtual void MapcPlayComplete(TInt aError);
-
-    /**
-     * from MMdaAudioToneObserver
-     */
-    virtual void MatoPrepareComplete(TInt aError);
-
-    /**
-     * from MMdaAudioToneObserver
-     */
-    virtual void MatoPlayComplete(TInt aError);
-
-private:
-
-    enum TAudioDataFormat
-        {
-        EFormatTone,
-        EFormatSample,
-        EFormatTts
-        };
-
-    /**
-     * C++ constructor.
-     */
-    TMSRtAudioHdlr(TAudioDataFormat aDataFormat,
-            TMSRtAudioHdlrObsrv& aObserver, TUint aPriority,
-            TUint aPreference, TInt aType);
-
-    /**
-     * Symbian OS constructor.
-     */
-    void ConstructL(const TDesC& aFileName);
-
-    /**
-     * Symbian OS constructor.
-     */
-    void ConstructSeqL(const TDesC8& aSequence);
-
-    /**
-     * Symbian OS constructor for the Text-To-Speech option
-     */
-    void ConstructTtsL(const TDesC& aTtsText, TUint aPriority,
-            TUint aPreference);
-
-    /**
-     * Do the playing stuff
-     */
-    void DoPlay();
-
-    /**
-     * Set ringing type properties
-     */
-    void SetRingingTypeProperties();
-
-    /**
-     * Call back function for timer
-     */
-    static TInt TimerCallBack(TAny* aAny);
-
-    /**
-     * Handle timer events
-     */
-    void HandleTimerEvent();
-
-    /*
-     * Convert volume to the scale used by hardware
-     * @param aVolume volume to be altered
-     * @return TInt   new volume
-     */
-    TInt ConvertVolume(TInt aVolume);
-
-private:
-    // Data
-
-    // The format of audio data, audio sample file or tone file
-    TAudioDataFormat iFormat;
-
-    // Observer for error handling
-    TMSRtAudioHdlrObsrv& iObserver;
-
-    // Priority. It's only used in playing tone file
-    const TInt iPriority;
-
-    // Preference. Only used for tone file
-    const TUint iPreference;
-
-    // Identifier number
-    TInt iRtType;
-
-    // Player for tone file.
-    CMdaAudioToneUtility* iTonePlayer;
-
-    // Player for audio file.
-    CMdaAudioPlayerUtility* iSamplePlayer;
-
-    // Player for the Text-To-Speech texts
-    CMdaAudioPlayerUtility* iTtsPlayer;
-
-    // The status of the player
-    TAudioPlayerStatus iPlayerStatus;
-
-    // How does the file played. It's only used if the player
-    // is playing the file
-    TRingingType iRingType;
-
-    // Volume
-    TInt iVolume;
-
-    // For ascending and descending used for set current volume
-    TInt iCurrentVolume;
-
-    // Used by sample player
-    TBool iToBePlaying;
-
-    // Store for sequence.
-    HBufC8* iSequence;
-
-    // Store for the TTS source string
-    HBufC8* iTtsText;
-
-    // 3D Audio ringing tone plugin
-    //C3DRingingToneInterface* i3DPlugin;
-
-    // Ringingtone output
-    //CAudioOutput* iAudioOutput;
-
-    // Flag to  indicate whether we need to play TTs or not
-    TBool iTTsToBePlayed;
-    };
-
-} //namespace TMS
-
-#endif //TMSRTAUDIOHDLR_H
-
-// End of File