phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h
changeset 0 5f000ab63145
child 21 92ab7f8d0eab
equal deleted inserted replaced
-1:000000000000 0:5f000ab63145
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Header file of the CPEParserVoipNumberHandler class.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CPEPARSERVOIPNUMBERHANDLER_H
       
    20 #define CPEPARSERVOIPNUMBERHANDLER_H
       
    21 
       
    22 //  INCLUDES
       
    23 #include <CPhoneVoipNumberHandler.h>
       
    24 #include <pevirtualengine.h>
       
    25 
       
    26 // CONSTANTS
       
    27 // None.
       
    28 
       
    29 // MACROS
       
    30 // None.
       
    31 
       
    32 // DATA TYPES
       
    33 // None.
       
    34 
       
    35 // FUNCTION PROTOTYPES
       
    36 // None.
       
    37 
       
    38 // FORWARD DECLARATIONS
       
    39 class MPECallHandling;
       
    40 class CPEMessageHandler;
       
    41 class MPEDataStore;
       
    42 class MPEServiceHandling;
       
    43 
       
    44 // CLASS DECLARATION
       
    45 
       
    46 /**
       
    47 *  Handles phone related messages from the CPEPhoneModel object.
       
    48 *
       
    49 *  @lib PhoneEngineGsm.lib
       
    50 *  @since since S60 5.0
       
    51 */
       
    52 NONSHARABLE_CLASS( CPEParserVoipNumberHandler ) : public CPhoneVoipNumberHandler
       
    53     {
       
    54     public:  //Constructors and descructor
       
    55     
       
    56         static CPEParserVoipNumberHandler* NewL( CPEMessageHandler& aOwner, 
       
    57                                              MPECallHandling& aCallHandling,
       
    58                                              MPEServiceHandling& aServiceHandling,
       
    59                                              MPEDataStore& aDataStore );
       
    60 
       
    61         static CPEParserVoipNumberHandler* NewLC( CPEMessageHandler& aOwner, 
       
    62                                               MPECallHandling& aCallHandling,
       
    63                                               MPEServiceHandling& aServiceHandling,
       
    64                                               MPEDataStore& aDataStore );
       
    65 
       
    66         ~CPEParserVoipNumberHandler();
       
    67         
       
    68     public: // Functions from base classes
       
    69         /**
       
    70         * Process dial to voip number
       
    71         * @param aNumber main number part.
       
    72         * @param aPostFix DTMF part of the number
       
    73         */
       
    74         void ProcessDialToVoipNumberL( 
       
    75             const TDesC& aNumber,
       
    76             const TDesC& aDtmfPostfix
       
    77             );
       
    78 
       
    79         /**
       
    80         * Continue VoIP call after service is enabled.
       
    81         * @return error code.
       
    82         */ 
       
    83         TInt ContinueVoipDial() const;
       
    84         
       
    85 
       
    86     private:
       
    87     
       
    88         /**
       
    89         * Removes non-GSM standard postfix characters before dialling attempt.
       
    90         * @since 5.0
       
    91         * @param aPostfix postfix to modify.
       
    92         * @return modified postfix.
       
    93         */
       
    94        TPtrC FilterPostfix( TPtrC aPostfix );
       
    95 		
       
    96         /**
       
    97         * C++ default constructor.
       
    98         */
       
    99         CPEParserVoipNumberHandler( 
       
   100             CPEMessageHandler& aOwner, 
       
   101             MPECallHandling& aCallHandling,
       
   102             MPEServiceHandling& aServiceHandling,
       
   103             MPEDataStore& aDataStore );
       
   104 
       
   105         void ConstructL();
       
   106             
       
   107     private:    
       
   108         // CPEMessageHandler object which owns this requester.
       
   109         CPEMessageHandler& iOwner;
       
   110         // CPEPhoneData is used to create request to the CallHandling subsystem.
       
   111         MPECallHandling& iCallHandling;
       
   112         // Reference to common data store
       
   113         MPEDataStore& iDataStore;
       
   114         // Reference to Service handling object
       
   115         MPEServiceHandling& iServiceHandling;
       
   116         // If phone number contains dtmf string it is saved here 
       
   117         TPEDtmfString iDtmfString; 
       
   118     };
       
   119 
       
   120 #endif      // CPEPARSERVOIPNUMBERHANDLER_H
       
   121             
       
   122 // End of File