--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/satui/satapp/inc/satappplaytoneprovider.h Mon May 03 13:01:45 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* 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:
+*
+*/
+#ifndef SATAPPPLAYTONEPROVIDER_H
+#define SATAPPPLAYTONEPROVIDER_H
+
+#include <QObject>
+#include <MdaAudioTonePlayer.h>//PlayStandardTone
+#include <MdaAudioSamplePlayer.h>//PlayUserSelectedTone
+#include <QEventLoop>
+#include <msatuiobserver.h>
+
+
+class CMdaAudioToneUtility;
+class CMdaAudioPlayerUtility;
+class QTimer;
+class HbMessageBox;
+
+class SatAppPlayToneProvider: public QObject,
+ public MMdaAudioToneObserver,//PlayStandardTone
+ public MMdaAudioPlayerCallback//PlayUserSelectedTone
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * Constructor
+ */
+ SatAppPlayToneProvider(QObject *parent = 0);
+
+ /**
+ * Distructor
+ */
+ virtual ~SatAppPlayToneProvider();
+
+public: // from MSatUiActionImplementer and impletment by Symbian
+
+ /**
+ * Handles Standard Tone playing.
+ * @param aText The text to be displayed.
+ * @param aFileName The name of the file corresponding to the tone.
+ * @param aDuration The duration of the tone to be played.
+ * @param aIconBitmap The tone playing note icon
+ * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
+ * @return Information of the operation result.
+ */
+ virtual TSatUiResponse PlayStandardToneL(
+ const TDesC &aText,
+ const TDesC8 &aSequence,
+ TTimeIntervalMicroSeconds aDuration,
+ const CFbsBitmap *aIconBitmap,
+ const TBool aSelfExplanatory );
+
+ /**
+ * Plays user selected tone.
+ * @param aText The text to be displayed.
+ * @param aDuration Play duration.
+ * @param aTone Tone to be played.
+ * @param aIconBitmap The tone playing note icon
+ * @param aSelfExplanatory Flag indicating if icon is self-explanatory.
+ * @return Information on the operation result.
+ */
+ virtual TSatUiResponse PlayUserSelectedToneL(
+ const TDesC &aText,
+ TTimeIntervalMicroSeconds aDuration,
+ TSatTone aTone,
+ const CFbsBitmap *aIconBitmap,
+ const TBool aSelfExplanatory );
+
+ /**
+ * ClearScreen
+ */
+ void clearScreen();
+
+ /**
+ * CloseSatUI
+ */
+ void closeSatUI();
+
+public:// from MMdaAudioToneObserver
+
+ /**
+ * From MMdaAudioToneObserver Called by the player object when
+ * it has been initialised.
+ * @param aError Error type.
+ */
+ void MatoPrepareComplete( TInt aError );
+
+ /**
+ * From MMdaAudioToneObserver Called by the player object when
+ * the playback has been terminated.
+ * @param aError Error type.
+ */
+ void MatoPlayComplete( TInt aError );
+
+public://from MMdaAudioPlayerCallback
+ /**
+ * Initialisation of an audio sample has completed.
+ * @param aError The status of the audio sample after initialisation.
+ * @param aDuration The duration of the audio sample.
+ */
+ void MapcInitComplete(
+ TInt aError,
+ const TTimeIntervalMicroSeconds& /*aDuration*/ );
+
+ /**
+ * Play of an audio sample has completed.
+ * @param aError The status of playback.
+ */
+ void MapcPlayComplete( TInt aError );
+
+private:// for playTone
+
+ /**
+ * Get settings from current profile like volume, warning tones on/off etc.
+ * @param aTone, optional specifies the type of needed tone if necessary
+ * @param aToneName, optional buffer to get a soundfile name from
+ * the active profile if necessary
+ */
+ void GetProfileParamsL( TSatTone aTone = ESatToneNotSet,
+ TDes *aToneName = NULL );
+
+ /**
+ * showWaitNote
+ */
+ void showWaitNote();
+
+private slots:
+
+ void stopPlayTone();
+
+private: // Data
+
+ /**
+ * Warning And Play Tones
+ */
+ bool mWarningAndPlayTones;
+
+ /**
+ * Play tone volume
+ */
+ int mVolume;
+
+ /**
+ * Own, Media server interface to play rtf file
+ */
+ CMdaAudioToneUtility *mPlayer;
+
+ /**
+ * Response of Play tone
+ */
+ TSatUiResponse mPlayToneError;
+
+ /*
+ * Own. PlayTone
+ */
+ QTimer *mTimer;
+
+ /*
+ * Own. PlayTone
+ */
+ QEventLoop *mLoop;
+
+ /*
+ * Own. PlayTone note
+ */
+ HbMessageBox *mPermanentNote;
+
+ /*
+ * Own. Player for user selected tones.
+ */
+ CMdaAudioPlayerUtility *mAudioPlayer;
+
+};
+
+#endif //SATAPPPLAYTONEPROVIDER_H