mmsharing/mmshindicator/inc/mussoundplayer.h
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshindicator/inc/mussoundplayer.h	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* 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 "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:  Provides means to play custom indication sound.
-*
-*/
-
-
-
-#ifndef C_MUSSOUNDPLAYER_H
-#define C_MUSSOUNDPLAYER_H
-
-
-#include "musunittesting.h"
-#include "mussoundplayerobserver.h"
-#include <mdaaudiosampleplayer.h>
-#include <e32base.h>
-
-
-/**
- *  CMusSoundPlayer provides means to play custom indication sounds.
- *
- *  @code
- *  void CMyClass::PlaySoundL()
- *      {
- *      if ( iPlayer )
- *          {
- *          User::Leave( KErrInUse );
- *          }
- *      iPlayer = CMusSoundPlayer::NewL( *this );
- *      TRAPD( error, iPlayer->PlayL( CMusSoundPlayer::EVsAvailableSound ) );
- *      if ( error )
- *          {
- *          delete iPlayer;
- *          iPlayer = NULL;
- *          User::Leave( error );
- *          }
- *      }
- *
- *  // from MMusSoundPlayerObserver
- *  void CMyClass::PlaySoundComplete( TInt aError )
- *      {
- *      delete iPlayer;
- *      iPlayer = NULL;
- *      }
- *
- *  void CMyClass::~CMyClass()
- *      {
- *      delete iPlayer;
- *      iPlayer = NULL;
- *      }
- *  @endcode
- *
- *  @lib musindicator.lib
- */
-class CMusSoundPlayer : public CBase, protected MMdaAudioPlayerCallback
-    {
-public:
-
-    MUS_UNITTEST( UT_CMusSoundPlayer )
-
-    /**  VS sound indications */
-    enum TVsSoundIndication
-        {
-        EVsAvailableSound   // Plays sound associated to VS becoming available.
-        };
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aObserver Reference to observer interface.
-     * @return Pointer to newly instantiated CMusSoundPlayer.
-     */
-    static CMusSoundPlayer* NewL( MMusSoundPlayerObserver& aObserver );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aObserver Reference to observer interface.
-     * @return Pointer to newly instantiated CMusSoundPlayer.
-     */
-    static CMusSoundPlayer* NewLC( MMusSoundPlayerObserver& aObserver );
-
-    /**
-     * Destructor.
-     */
-    ~CMusSoundPlayer();
-
-    /**
-     * Plays selected sound.
-     *
-     * @param aIndication Identifies the played sound.
-     */
-    void PlayL( TVsSoundIndication aIndication );
-
-    /**
-     * Stops playing sound.
-     */
-    void Stop();
-
-protected:
-
-// from base class MMdaAudioPlayerCallback.
-
-    /**
-     * From MMdaAudioPlayerCallback.
-     * Informs that initializing an audio sample has completed.
-     *
-     * @param aError Systemwide errorcode.
-     * @param aDuration Duration of the sample.
-     */
-    virtual void MapcInitComplete( TInt aError, const TTimeIntervalMicroSeconds& aDuration );
-
-    /**
-     * From MMdaAudioPlayerCallback.
-     * Informs that playing an audio sample has completed.
-     *
-     * @param aError Systemwide errorcode.
-     */
-    virtual void MapcPlayComplete( TInt aError );
-
-private:
-
-    CMusSoundPlayer( MMusSoundPlayerObserver& aObserver );
-
-    void ConstructL();
-
-    /**
-     * Returns sound file name associated with event.
-     *
-     * @param aIndication Identifies sound to return filename for.
-     * @return Buffer containing filename of sound. Ownership is transferred.
-     */
-    HBufC* SoundFileNameLC( TVsSoundIndication aIndication );
-
-    /**  Internal state. */
-    enum TMusSoundPlayerState
-        {
-        ESoundPlayerReady,
-        ESoundPlayerPlaying
-        };
-
-private: // data
-
-    /**
-     * Reference to observer interface.
-     */
-    MMusSoundPlayerObserver& iObserver;
-
-    /**
-     * Internal state.
-     */
-    TMusSoundPlayerState iState;
-
-    /**
-     * Instance of MDA audio player.
-     * Own.
-     */
-    CMdaAudioPlayerUtility* iMdaPlayer;
-    };
-
-#endif // C_MUSSOUNDPLAYER_H