diff -r 000000000000 -r 71ca22bcf22a mmserv/voipaudioservices/inc/VoIPAudioSession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/voipaudioservices/inc/VoIPAudioSession.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,607 @@ +/* + * Copyright (c) 2007-2008 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: Declares RVoIPAudioSession - client side interface to + * VoIP server. + * + */ + +#ifndef __VOIPAUDIOSESSION_H +#define __VOIPAUDIOSESSION_H + +// INCLUDES +#include +#include //for TFourCC +#include +#include +#include +#include +#include "VoIPAudioClientServer.h" + +// CONSTANTS + +// FORWARD DECLARATIONS +class CVoIPFormatIntfc; + +// CLASS DECLARATION + +/** + * RVoIPAudioSession API + */ +class RVoIPAudioSession : public RSessionBase + { +public: + /** + * Opens a connection to the server. + * @return KErrNone if successful connection created + */ + IMPORT_C TInt Connect(); + /** + * @return The server version this session can connct to + */ + IMPORT_C TVersion Version() const; + /** + * Close the session to the server + */ + IMPORT_C void Close(); + + // Downlink stream methods + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt OpenDownlink(TMMFPrioritySettings aPriority); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt GetMaxVolume(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt SetVolume(const TInt aVolume); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt GetVolume(); + + /** + * ?description + * + * @since S60 v5.0 + * @param const TMMFPrioritySettings + * @param RArray& + * @param TInt& + * @return TInt + */ + IMPORT_C TInt GetSupportedDecoders(const TMMFPrioritySettings aPriority, + RArray& aDecoders, TInt& aFrameSize); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt SetDecoder(const TUint32 aDecoder); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt SetAudioDevice( + const CVoIPAudioDownlinkStream::TVoIPOutputDevice aDevice); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt GetAudioDevice( + CVoIPAudioDownlinkStream::TVoIPOutputDevice& aDevice); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StartDownlink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StopDownlink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C void CloseDownlink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param TPtr8 + * @param const TInt64 + * @return TInt + */ + IMPORT_C TInt BufferFilled(TPtr8 aBuffer, const TUint aBufferSequence = 0); + + // Uplink stream methods + + /** + * ?description + * + * @since S60 v5.0 + * @param const TMMFPrioritySettings + * @return TInt + */ + IMPORT_C TInt OpenUplink(const TMMFPrioritySettings aPriority); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt GetMaxGain(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt SetGain(const TInt aGain); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt GetGain(); + + /** + * ?description + * + * @since S60 v5.0 + * @param const TMMFPrioritySettings + * @param RArray& + * @param TInt& + * @return TInt + */ + IMPORT_C TInt GetSupportedEncoders(const TMMFPrioritySettings aPriority, + RArray& aEncoders, TInt& aFrameSize); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt SetEncoder(const TUint32 aEncoder); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StartUplink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StopUplink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C void CloseUplink(); + + /** + * ?description + * + * @since S60 v5.0 + * @param TPtr8 + * @return TInt + */ + IMPORT_C TInt BufferEmptied(TPtr8 aBuffer); + + // Codec CI methods + + /** + * ?description + * + * @since S60 v5.0 + * @param TArray& + * @return void + */ + IMPORT_C void GetSupportedBitRatesL(RArray& aArray); + + /** + * ?description + * + * @since S60 v5.0 + * @param const TUint + * @return TInt + */ + IMPORT_C TInt SetBitRate(const TUint aBitrate); + + /** + * ?description + * + * @since S60 v5.0 + * @param TUint& + * @return TInt + */ + IMPORT_C TInt GetBitRate(TUint& aBitrate); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool + * @return TInt + */ + IMPORT_C TInt SetVAD(const TBool aVad); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool& + * @return TInt + */ + IMPORT_C TInt GetVAD(TBool& aVad); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool& + * @return TInt + */ + IMPORT_C TInt FrameModeRequiredForEC(TBool& aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool + * @return TInt + */ + IMPORT_C TInt SetFrameMode(const TBool aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool& + * @return TInt + */ + IMPORT_C TInt GetFrameMode(TBool& aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt ConcealErrorForNextBuffer(); + + /** + * ?description + * + * @since S60 v5.0 + * @param TG711CodecMode + * @return TInt + */ + IMPORT_C TInt SetMode(const CVoIPFormatIntfc::TG711CodecMode aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TG711CodecMode& + * @return TInt + */ + IMPORT_C TInt GetMode(CVoIPFormatIntfc::TG711CodecMode& aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TILBCCodecMode + * @return TInt + */ + IMPORT_C TInt SetMode(const CVoIPFormatIntfc::TILBCCodecMode aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TILBCCodecMode& + * @return TInt + */ + IMPORT_C TInt GetMode(CVoIPFormatIntfc::TILBCCodecMode& aMode); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool + * @return TInt + */ + IMPORT_C TInt SetCNG(const TBool aCng); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool& + * @return TInt + */ + IMPORT_C TInt GetCNG(TBool& aCng); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool + * @return TInt + */ + IMPORT_C TInt SetPLC(const TBool aPlc); + + /** + * ?description + * + * @since S60 v5.0 + * @param TBool& + * @return TInt + */ + IMPORT_C TInt GetPLC(TBool& aPlc); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt BadLsfNextBuffer(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt OpenDTMFTonePlayer(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt PlayDTMFTone(const TDesC& aTones); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StopDTMFTonePlay(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C void CloseDTMFTonePlayer(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt OpenRingTonePlayer(); + + /** + * ?description + * + * @since S60 v5.0 + * @param TDesC& + * @return TInt + */ + IMPORT_C TInt OpenRingTonePlayer(const TDesC& aFileName); + + /** + * ?description + * + * @since S60 v5.0 + * @param RFile& + * @return TInt + */ + IMPORT_C TInt OpenRingTonePlayer(const RFile& aFileHandle); + + /** + * ?description + * + * @since S60 v5.0 + * @param TDes& + * @param TDes& + * @return TInt + */ + IMPORT_C TInt OpenRingTonePlayer(const TDesC8& aDesData); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt PlayRingTone(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt PauseRingTone(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt ResumeRingTone(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt StopRingTone(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return void + */ + IMPORT_C void CloseRingTonePlayer(); + + /** + * ConfigureJitterBuffer + * + * @since S60 v5.0 + * @param const TVoIPJBConfig& + * @return TInt + */ + IMPORT_C TInt ConfigureJitterBuffer(const TVoIPJBConfig& aJbConfig); + + /** + * ResetJitterBuffer + * + * @since S60 v5.0 + * @param const TBool + * @return TInt + */ + IMPORT_C TInt ResetJitterBuffer(const TBool aPlayTone); + + /** + * DelayDown + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt DelayDown(); + + /** + * DelayUp + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + IMPORT_C TInt DelayUp(); + +private: + /** + * PopulateArrayL + * + * @since S60 v5.0 + * @param TVoIPAudioClientServerRequest + * @param RArray& + * @param TInt + * @return void + */ + void PopulateArrayL(TVoIPAudioClientServerRequest aRequest, + RArray& aDecoders, TInt aCount); + + TInt SendClientRequest(TVoIPAudioClientServerRequest aRequest, + const TIpcArgs& aArgs) const; + + }; + +#endif // __VOIPAUDIOSESSION_H + +// End of file