diff -r 24062c24fe38 -r 2a26698d78ba phoneapp/phoneuiview/inc/phoneringingtonesrv.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiview/inc/phoneringingtonesrv.h Mon Mar 15 12:40:24 2010 +0200 @@ -0,0 +1,190 @@ +/* +* Copyright (c) 2002-2005 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: Phone ringing tone server definitions. +* +*/ + + +#ifndef __PHONERINGINGTONESRV_H +#define __PHONERINGINGTONESRV_H + +// INCLUDES +#include +#include +#include "mphoneringingtonesrv.h" + +// CONSTANTS +_LIT( KRingingToneServerName, "PhoneRingingToneSrv" ); +const TInt KRingingToneSrvVersionMajor = 1; +const TInt KRingingToneSrvVersionMinor = 0; +const TInt KRingingToneSrvVersionBuild = 0; + +// FORWARD DECLARATIONS +class CPhoneRingingToneSrvPlayerAO; + +// CLASS DECLARATION +class CPhoneRingingToneServer : public CServer2, + public MPhoneRingingToneServer + { +public: + + /** + * Two-phased constructor. + * @return new instance. + */ + static CPhoneRingingToneServer* NewLC(); + + /** + * Destructor. + */ + ~CPhoneRingingToneServer(); + + /** + * Increments sessions. + */ + void IncrementSessions(); + + /** + * Decrements sessions. + */ + void DecrementSessions(); + + /** + * Thread entry function. + */ + static TInt ThreadEntryFunc( TAny* aPtr ); + + /** + * From CServer, create a new session. + * @param aVersion It is the version of the client api. + * @param aMessage Connect message from Client. + * @return Returns a new session. + */ + CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& aMessage ) const; + +private: + /** + * C++ default constructor. + */ + CPhoneRingingToneServer(); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + +public: + // Ringing tone settings + + /** + * Sets extended security required flag. + * @param aNeeded Extended security required. + */ + void SetExtendedSecurityNeeded( TBool aNeeded ); + + /** + * Sets extended security required flag. + * @param aLimit Extended security required. + */ + void SetToneFileSizeLimit( TInt aLimit ); + + /** + * Sets ringing tone. + */ + void SetRingingToneL( const RMessage2& aMessage ); + + /** + * Sets default ringing tone. + * @param aMessage Message from Client. + */ + void SetDefaultRingingToneL( const RMessage2& aMessage ); + + // Playback control + + /** + * Play audio ring tone. + * @return True if the client message should not be completed. + * @param aMessage Message from Client. + */ + TBool PlayAudioRingTone( const RMessage2& aMessage ); + + /** + * Play TTS tone simultaneously with Personal or Default tones. + * This method does not command phone to play TTS immediately. Instead + * it registers a request to play TTS, when Personal or default tones + * are played. + * @param aMessage Message from Client. + */ + void PlayTtsTone( const RMessage2& aMessage ); + + /** + * Play default tone. + * @param aMessage Message from Client. + */ + void PlayDefaultTone( const RMessage2& aMessage ); + + /** + * Play backup tone. + * @param aMessage Message from Client. + */ + void PlayBackupTone( const RMessage2& aMessage ); + + /** + * Play silent tone. No_sound.wav will be played. If vibration alert + * is ON, it will vibrate. + */ + void PlaySilentTone(); + + /** + * Playing the Beep once. + * @param aMessage Message from Client. + */ + void BeepOnce( const RMessage2& aMessage ); + + /** + * Play unsecure VoIP tone. + * Play tone if secure call fails and call is changed to unsecure call. + */ + void PlayUnsecureVoIPTone(); + + /** + * Mutes ringing tone. + */ + void MuteRingingTone(); + + /** + * Stops playing the ringing tone. + * Method does not do anything if ringing tone is not playing. + */ + void StopPlaying(); + +private: + + /** + * Runs server. + */ + static void RunServerL(); + +private: + // File server connection + RFs iFs; + + // Number of active sessions + TInt iSessionCount; + + // Player active object + CPhoneRingingToneSrvPlayerAO* iPlayer; + }; + +#endif