diff -r 000000000000 -r 71ca22bcf22a mmserv/voipaudioservices/VoIPIntfc/inc/VoIPDtmfTonePlayerImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/voipaudioservices/VoIPIntfc/inc/VoIPDtmfTonePlayerImpl.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,226 @@ +/* +* 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: VOIP Audio Services +* +*/ + + +#ifndef __VOIPDTMFTONEPLAYERIMPL_H +#define __VOIPDTMFTONEPLAYERIMPL_H + +// INCLUDES +#include +#include "VoIPQueueHandler.h" + +// CONSTANTS + +// FORWARD DECLARATIONS +class CVoIPAudioUplinkStream; +class CVoIPAudioDownlinkStream; +class CVoIPDataBuffer; +class RVoIPAudioSession; + + +/** + * CDTMFTonePlayerImpl class + * + * DTMF Tone Player class + * + * @lib VoIPAudioIntfc.dll + * @since S60 v5.0 + */ +NONSHARABLE_CLASS(CDTMFTonePlayerImpl) : public CBase, + public CDTMFTonePlayer, + public MQueueHandlerObserver + { + enum TStreamType + { + EDownlink, + EUplink + }; + +public: + + /** + * 2-phase constructor + * + * @since S60 v5.0 + * @param none + * @return CDTMFTonePlayerImpl* - + */ + static CDTMFTonePlayerImpl* NewL(); + + /** + * Destructor + * + * @since S60 v5.0 + * @param none + * @return none + */ + virtual ~CDTMFTonePlayerImpl(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + TInt Open(MDTMFToneObserver& aObserver); + + /** + * ?description + * + * @since S60 v5.0 + * @param TPtr - + * @return TInt - + */ + TInt Play(const TPtr aTones); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return TInt + */ + TInt Stop(); + + /** + * ?description + * + * @since S60 v5.0 + * @param none + * @return void + */ + void Close(); + + /** + * ?description + * + * @since S60 v5.0 + * @param CVoIPAudioUplinkStream& - + * @return TInt + */ + TInt AddVoIPAudioUplinkStream(CVoIPAudioUplinkStream& aStream, + RVoIPAudioSession* aSession); + + /** + * ?description + * + * @since S60 v5.0 + * @param CVoIPAudioUplinkStream& + * @return TInt + */ + TInt RemoveVoIPAudioUplinkStream(CVoIPAudioUplinkStream& aStream); + + /** + * ?description + * + * @since S60 v5.0 + * @param CVoIPAudioDownlinkStream& - + * @return TInt + */ + TInt AddVoIPAudioDownlinkStream(CVoIPAudioDownlinkStream& aStream, + RVoIPAudioSession* aSession); + + /** + * ?description + * + * @since S60 v5.0 + * @param CVoIPAudioDownlinkStream& - + * @return TInt + */ + TInt RemoveVoIPAudioDownlinkStream(CVoIPAudioDownlinkStream& aStream); + +// From MQueueHandlerObserver + + /** + * ?description + * + * @since S60 v5.0 + * @param TPtr8 + * @return void + */ + virtual void FillBuffer(CVoIPDataBuffer* /*aBuffer*/) {} + + /** + * ?description + * + * @since S60 v5.0 + * @param TPtr8 + * @return void + */ + virtual void EmptyBuffer(CVoIPDataBuffer* /*aBuffer*/) {} + + /** + * ?description + * + * @since S60 v5.0 + * @param TInt + * @param TInt + * @return void + */ + virtual void Event(TInt aEventType, TInt aError); + +private: + + /** + * Constructor + * + * @since S60 v5.0 + * @param none + * @return none + */ + CDTMFTonePlayerImpl(); + + /** + * Symbian constructor + * + * @since S60 v5.0 + * @param none + * @return void + */ + void ConstructL(); + + /** + * @since S60 v5.0 + * @param none + * @return void + */ + void StartMsgQueueL(); + + /** + * @since S60 v5.0 + * @param none + * @return void + */ + void ReceiveMsgQComHandlerEventsL(); + +private: +// Communication queue + RMsgQueue iMsgComQueue; + CQueueHandler* iMsgQComHandler; + + MDTMFToneObserver* iObserver; + RVoIPAudioSession* iVoIPAudioSession; + + TStreamType iStreamType; + + }; + +#endif //__VOIPDTMFTONEPLAYERIMPL_H + + +// End of file