diff -r 000000000000 -r 5f000ab63145 phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 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: Header file of the CPEParserVoipNumberHandler class. +* +*/ + + +#ifndef CPEPARSERVOIPNUMBERHANDLER_H +#define CPEPARSERVOIPNUMBERHANDLER_H + +// INCLUDES +#include +#include + +// CONSTANTS +// None. + +// MACROS +// None. + +// DATA TYPES +// None. + +// FUNCTION PROTOTYPES +// None. + +// FORWARD DECLARATIONS +class MPECallHandling; +class CPEMessageHandler; +class MPEDataStore; +class MPEServiceHandling; + +// CLASS DECLARATION + +/** +* Handles phone related messages from the CPEPhoneModel object. +* +* @lib PhoneEngineGsm.lib +* @since since S60 5.0 +*/ +NONSHARABLE_CLASS( CPEParserVoipNumberHandler ) : public CPhoneVoipNumberHandler + { + public: //Constructors and descructor + + static CPEParserVoipNumberHandler* NewL( CPEMessageHandler& aOwner, + MPECallHandling& aCallHandling, + MPEServiceHandling& aServiceHandling, + MPEDataStore& aDataStore ); + + static CPEParserVoipNumberHandler* NewLC( CPEMessageHandler& aOwner, + MPECallHandling& aCallHandling, + MPEServiceHandling& aServiceHandling, + MPEDataStore& aDataStore ); + + ~CPEParserVoipNumberHandler(); + + public: // Functions from base classes + /** + * Process dial to voip number + * @param aNumber main number part. + * @param aPostFix DTMF part of the number + */ + void ProcessDialToVoipNumberL( + const TDesC& aNumber, + const TDesC& aDtmfPostfix + ); + + /** + * Continue VoIP call after service is enabled. + * @return error code. + */ + TInt ContinueVoipDial() const; + + + private: + + /** + * Removes non-GSM standard postfix characters before dialling attempt. + * @since 5.0 + * @param aPostfix postfix to modify. + * @return modified postfix. + */ + TPtrC FilterPostfix( TPtrC aPostfix ); + + /** + * C++ default constructor. + */ + CPEParserVoipNumberHandler( + CPEMessageHandler& aOwner, + MPECallHandling& aCallHandling, + MPEServiceHandling& aServiceHandling, + MPEDataStore& aDataStore ); + + void ConstructL(); + + private: + // CPEMessageHandler object which owns this requester. + CPEMessageHandler& iOwner; + // CPEPhoneData is used to create request to the CallHandling subsystem. + MPECallHandling& iCallHandling; + // Reference to common data store + MPEDataStore& iDataStore; + // Reference to Service handling object + MPEServiceHandling& iServiceHandling; + // If phone number contains dtmf string it is saved here + TPEDtmfString iDtmfString; + }; + +#endif // CPEPARSERVOIPNUMBERHANDLER_H + +// End of File