diff -r 000000000000 -r bf1d17376201 voiceui/vcommand/inc/vctonereader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/voiceui/vcommand/inc/vctonereader.h Thu Dec 17 08:46:30 2009 +0200 @@ -0,0 +1,156 @@ +/* +* 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: Definition of class which handles the playing of tones +* +*/ + + +#ifndef VCTONEREADER_H +#define VCTONEREADER_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include "vctoneplayer.h" + +// CONSTANTS + +// CLASS DECLARATION + +/** +* Class that reads the tone sequence for the Voice commands UI +*/ +class CAknSoundInfo; + +class CVCToneReader : public CBase, + public MMdaAudioToneObserver + { + public: // Constructors and destructor + + /** + * Symbian Two-phased constructor. + */ + static CVCToneReader* NewL(); + + /** + * Destructor. + */ + virtual ~CVCToneReader(); + + public: // New functions + + /** + * Sets the tone priority + * @param aSid The sound ID + * @return TInt + */ + TInt TonePriority(TInt aSid); + + /** + * Sets the appropriate priority preference + * @param aSid The sound ID + * @return TMdaPriorityPreference + */ + TMdaPriorityPreference TonePriorityPreference(TInt aSid); + + /** + * Sets the appropriate tone sequence + * @param aSid The sound ID + * @return HBufC8* + */ + HBufC8* ToneSequence(TInt aSid); + + /** + * Sets the appropriate tone volume + * @param aSid The sound ID + * @return TInt + */ + TInt ToneVolume(TInt aSid); + + /** + * Plays tone + * @param aTonePlayer The class requesting the tone callbacks + * @param aSid The sound ID + */ + void PlayTone(MVCTonePlayer* aTonePlayer,TInt aSid); + + public: // Functions from base classes + + /** + * From MMdaAudioToneObserver Called when the tone preparation is complete + */ + void MatoPrepareComplete(TInt aError); + + /** + * From MMdaAudioToneObserver Called when the tone playing is complete + */ + void MatoPlayComplete(TInt aError); + + protected: // New functions + + /** + * Reads the tone sequence from the avkon resource file + * @param aSid The sound ID + * @param aTonePriority The tone priority + * @param aTonePreference The tone priority preference + * @param aToneVolume The tone volume + * @return HBufC8* + */ + HBufC8* ReadToneSequenceL( CAknSoundInfo* aInfo, TInt aSid, TInt* aTonePriority, + TMdaPriorityPreference* aTonePreference, TInt* aToneVolume ); + + private: // New functions + + /** + * C++ default constructor. + */ + CVCToneReader(); + + /** + * Default Symbian constructor + */ + void ConstructL(); + + private: // Data + + TInt iTonePriority; + TMdaPriorityPreference iTonePreference; + HBufC8* iToneSequence; + TInt iToneVolume; + + TInt iAbortTonePriority; + TMdaPriorityPreference iAbortTonePreference; + HBufC8* iAbortToneSequence; + TInt iAbortToneVolume; + + TInt iErrorTonePriority; + TMdaPriorityPreference iErrorTonePreference; + HBufC8* iErrorToneSequence; + TInt iErrorToneVolume; + + TBool iPrepareCallback; + MVCTonePlayer* iTonePlayer; + CMdaAudioToneUtility* iToneUtility; + + CAknSoundInfo* iAbortInfo; + CAknSoundInfo* iErrorInfo; + }; + +#endif // VCTONEREADER_H + +// End of File