phoneengine/phonemodel/inc/pevirtualengine.h
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- a/phoneengine/phonemodel/inc/pevirtualengine.h	Fri May 14 15:51:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,941 +0,0 @@
-/*
-* Copyright (c) 2005-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:  This file defines the protocol independent interface of the Phone Engine.
-*
-*/
-
-#ifndef PEVIRTUALENGINE_H
-#define PEVIRTUALENGINE_H
-
-// INCLUDES
-#include <badesca.h>
-#include <bldvariant.hrh>   //protocol definition, component configuration definitions
-#include <cphcntcontactid.h>
-#include <ctsydomainpskeys.h>
-#include <etelmm.h>
-#include <exterror.h>
-#include <fbs.h>
-#include <mccecall.h>
-#include <mmtsy_names.h>
-#include <networkhandlingdomainpskeys.h>
-#include <phclttypes.h>
-#include <Profile.hrh>
-#include <rmmcustomapi.h>
-#include <rsssettings.h>
-#include <sysutil.h>
-
-
-// CONSTANTS
-
-//Call origin types
-enum TPECallOrigin
-    {
-    EPECallOriginPhone,
-    EPECallOriginClient,
-    EPECallOriginSAT
-    };
-
-//Output types
-enum TPEAudioOutput
-    {
-    EPENotActive,
-    EPEHandset,
-    EPELoudspeaker,
-    EPEWiredAudioAccessory,
-    EPEBTAudioAccessory,
-    EPETTY
-    };
-
-//Error types
-enum TPEErrorType
-    {
-    EPECcp = 0,
-    EPECch
-    };
-
-// PhoneEngine Errors
-const TInt KErrPhoneEngineErrorBase = -30000;
-const TInt KErrPhoneEngineNoWcdmaNetwork = KErrPhoneEngineErrorBase - 1;
-const TInt KErrPhoneEngineVideoCallNotAllowedDuringRestore = KErrPhoneEngineErrorBase - 2;
-const TInt KErrPhoneEngineVideoCallSetupFailed = KErrPhoneEngineErrorBase - 3;
-
-// Phone Engine dll uid
-const TUid KUidPhoneEngine = { 0x1000A86C };
-
-// Maximum length of phone number 
-const TInt KPEPhoneNumberMaxLength = 100;
-//Phone number type defined using the custom maximum length
-typedef TBuf<KPEPhoneNumberMaxLength> TPEPhoneNumber;
-//Maximum length of dtmf string        
-const TInt KPEDtmfMaxLength = KPEPhoneNumberMaxLength;
-
-//Maximum number of the SS service groups
-const TInt KPEMaxServiceGroup = 53; // Maximum value taken from etelmm.h(TMobileService)    
-
-const TInt KPEAutomaticAnswerTimeout = 5000000; // 5 seconds;
-
-// Enumerations for variant messages
-// For enumeration TPEMessagesToPhoneEngine
-const TInt KPEMessagesToPhoneEngineGsmFirst = 11000;
-const TInt KPEMessagesToPhoneEngineGsmLast = 12999;
-const TInt KPEMessagesToPhoneEngineVariantFirst = KPEMessagesToPhoneEngineGsmFirst;
-
-// For enumeration TPEMessagesFromPhoneEngine
-const TInt KPEMessagesFromPhoneEngineGsmFirst = 11000;
-const TInt KPEMessagesFromPhoneEngineGsmLast = 12999;
-const TInt KPEMessagesFromPhoneEngineVariantFirst = KPEMessagesFromPhoneEngineGsmFirst;
-
-// Lifetimer data in hours and minutes
-NONSHARABLE_STRUCT( TPELifeTimeData )                      
-    {
-    TUint32 iHours;                         //range 0-999999 
-    TUint8 iMinutes;                        //range 0-59
-    };
-
-// Used when initializing number variables with non negative value range.
-const TInt KPENumberInitValue = -1; 
-//CallId not used in SendErrorMessageL
-const TInt KPECallIdNotUsed = -1;            
-//ErrorCode not used in SendErrorMessageL
-const TInt KPEErrorCodeNotUsed = -1;        
-// Informs to phone engine that dont send message to the phone application
-const TInt KPEDontSendMessage = 1;
- 
-// Maximum lenght of timer
-const TInt KPESsTimerMaxLength = 2;
-
-// Audio player repeats tone forever
-const TInt KPEAudioPlayerRepeatForever = -2;
-// Default Audio volume value
-const TInt KPEDefaultAudioVolume = 7;
-// Default volume value for accessory
-const TInt KPEDefaultAccessoryVolume = 5;
-// Default keypad volume
-const TProfileKeypadVolume KPEDefaultKeypadVolume = EProfileKeypadVolumeLevel2;
-
-// Dtmf stop character, PE handles internally DTMF characters as lowercase.
-const TUint KPEDtmfStopCharLowercase = 'w';
-const TUint KPEDtmfStopCharUppercase = 'W';
-const TUint KPEDtmfPauseCharLowercase = 'p';
-const TUint KPEDtmfPauseCharUppercase = 'P';
-const TUint KPEDtmfPlusChar = '+';
-
-enum TPELoggingIndicator
-    {
-    EPENormalLogging = 0,
-    EPEContinuousLogging 
-    };
-
-// Maximum Length of profile name
-const TInt KPEProfileNameLength = 64;
-// Profile is alerting all incoming calls.
-_LIT( KPEAlertForAllCalls, "1");
-// Informs how many profiles there are
-const TInt KPEProfileGroups = 3;
-// Informs how much time it take's to change ringing tone volume from minimum to maximum(Ascending)
-const TInt KPERingingToneRampDuration = 5000000;
-// Informs how many ringing tone volume levels there are in the profile db
-const TInt KPEProfileRingingToneLevels = 10;
-// Includes default tone volume
-const TInt KPEDefaultToneVolume = 30000;
-// Contact group id string length
-const TInt KPEContactGroupString = 100;
-
-//The length of a pause created during dialling by the comma character (',') measured in seconds.  
-const TUint KPEDefaultInterval = 2;
-
-// CommDB constants for Data calls
-// Internet Access Point service type
-_LIT( KPEIAPServiceTypeName, "IAP\\IAPServiceType" );
-// Dial Out Internet Serivce Provider Table name
-_LIT( KPEIAPDialOutISPTableName, "DialOutISP" );
-// Dial In Internet Service Provider Table name
-_LIT( KPEIAPDialInISPTableName, "DialInISP" );
-// Access Point Name column on IAP table
-_LIT( KPEIAPAccessPointName, "IAP\\NAME" );
-
-const TInt KPEMaxAudioOutputs = EPETTY + 1; // enum count
-
-// DATA TYPES
-
-// Contact name definition
-typedef TBuf<KCntMaxTextFieldLength> TPEContactName;
-// Contact company definition
-typedef TBuf<KCntMaxTextFieldLength> TPEContactCompany;
-// Contact group definition
-typedef TBuf<KCntMaxTextFieldLength> TPEContactGroup;
-// Contact filename definition
-typedef TBuf<KMaxFileName>         TPEContactFileName;
-// Contact group ids sting
-typedef TBuf<KPEContactGroupString> TPEContactGroupId;
-//Dtmf-string definition
-typedef TBuf<KPEDtmfMaxLength> TPEDtmfString;
-//Profile name definition
-typedef TBuf<KPEProfileNameLength> TPEProfileName;
-//Call control caps
-typedef TUint32 TPECallControlCaps;
-//User to user info
-typedef TBuf<KPhCltUUILength> TPEUserToUserInfo;
-
-// Phone identity parameters type.
-typedef TBuf<RMobilePhone::KPhoneManufacturerIdSize> TPEManufacturer;
-typedef TBuf<RMobilePhone::KPhoneModelIdSize> TPEModel;
-typedef TBuf<KSysUtilVersionTextLength> TPERevision;
-typedef TBuf<RMobilePhone::KPhoneSerialNumberSize> TPESerialNumber;
-
-//Call States
-typedef TUint TPEState;
-
-enum
-    {
-    // Call states                        0 - 499
-    EPEStateUnknown                     = 0,
-    EPEStateIdle,
-    EPEStateDialing,
-    EPEStateEmergencyDialing,
-    EPEStateRinging,
-    EPEStateConnecting,
-    EPEStateConnected,
-    EPEStateHangingUp,
-    EPEStateHeld,
-    EPEStateAnswering,
-    EPEStateRejecting,
-    EPEStateDisconnecting,
-    // conference call states
-    EPEStateConferenceIdle,
-    EPEStateConnectedConference,
-    EPEStateHeldConference,
-    EPEStateCreatingConference,
-    EPEStateHangingUpConference,
-    EPEStateSwappingConference,
-    EPEStateResumeHoldConference,        
-    EPEStateGoingOneToOne,
-    EPEStateAddingConferenceMember,
-    EPEStateAddedConferenceMember,
-    EPEStateDroppingConferenceMember,
-    EPEStateDroppedConferenceMember,
-    // maximum value for boundary checks
-    EPEStateMaximumState                = 1000
-    };
-
-NONSHARABLE_STRUCT( TPEErrorInfo )
-    {
-    //Symbian OS error code
-    TInt iErrorCode;
-    //Call Id number, equals KPECallIdNotUsed if call id is not available or is
-    //invalid for this error condition
-    TInt iCallId;
-    // Error type( Cch or Ccp )
-    TPEErrorType iErrorType;
-    };
-    
-enum TPECallType
-    { // maintain compatibility with P&S type enum
-    // Used to initialize call type information
-    EPECallTypeUninitialized    = EPSCTsyCallTypeUninitialized,
-    // Circuit switched voice call
-    EPECallTypeCSVoice          = EPSCTsyCallTypeCSVoice,
-    // Circuit switched multimedia call
-    EPECallTypeVideo            = EPSCTsyCallTypeH324Multimedia,
-    // Packet switched voice call
-    EPECallTypeVoIP             = EPSCTsyCallTypeVoIP
-    };
-
-enum TPEPinCode 
-    {
-    EPEPinCode,
-    EPEPin2Code
-    };
-
-enum TPEPhoneCommandType
-    {
-    EPESendingFlash
-    };
-
-// Enumeration which defines the search keys with which
-// contact information is searched
-enum TPEFindContactKey
-    {
-    //Search keys
-    EPEFindWithPhoneNumber = 0,
-    EPEFindWithContactId,
-    EPEFindKeyNotDefined
-    };
-
-enum TPESecurityCommand 
-    {
-    EPESecurityCommandUnknown,
-    EPESecurityCommandChangePinCode,
-    EPESecurityCommandUnblockPinCode,
-    EPESecurityCommandChangeBarringPassword,
-    EPESecurityCommandChangeSimLock
-    };
-
-enum TPEPhoneNumberIdType
-    {
-    EPEUnknownNumber,
-    EPEMobileNumber,
-    EPEPager,
-    EPETelephoneNumber,
-    EPEVmbxNumberLine1,
-    EPEVmbxNumberLine2,
-    EPEPrivateNumber,
-    EPEEmergencyNumber,
-    EPEFaxNumber,
-    EPEVoipNumber,
-    EPEVideoNumber,
-    EPEAssistantNumber,
-    EPECarNumber,
-    EPEHomeNumber,
-    EPEWorkNumber
-    };
-
-enum TPERxTimeSlots
-    {
-    EPERxSlots1 = 1,
-    EPERxSlots2 = 2,
-    EPERxSlots3 = 3
-    };
-
-//VoiceMailBoxNumbers
-NONSHARABLE_STRUCT( TPEVoiceMailBoxNumberInfo )
-    {
-    TPEPhoneNumber iVMBXL1; // Line 1 VoiceMailBoxNumber
-    TPEPhoneNumber iVMBXL2; // Line 2 VoiceMailBoxNumber
-    TPEPhoneNumber iDTMFVMBXL1; // Line 1 DTMFVoiceMailBoxNumber
-    TPEPhoneNumber iDTMFVMBXL2; // Line 2 DTMFVoiceMailBoxNumber
-    };
-
-
-// Contains information of PhoneIdentity paramteres
-NONSHARABLE_STRUCT( TPEPhoneIdentityParameters )
-    {
-    TPEManufacturer iManufacturer;
-    TPEModel iModel;
-    TPERevision iRevision;
-    TPESerialNumber iSerialNumber;
-    };
-
-// Contains information of call audio route parameters
-NONSHARABLE_STRUCT( TPEPhoneAudioRouteParameters )
-    {
-    TPEAudioOutput iAudioOutput;
-    TPEAudioOutput iPreviousOutput;
-    TBool iShowNote;
-    };
-
-// Enumerate definitions for MMI Service Codes from MMETel API:
-
-// FUNCTION PROTOTYPES
-// None.
-
-// FORWARD DECLARATIONS
-
-class MPEEngineInfo;
-
-// CLASS DECLARATION
-
-/**
-*  Offers message interface from phone engine to phone application.
-*  
-*  @lib phonenegine.lib
-*  @since S60 v.4.0
-*/
-NONSHARABLE_CLASS( MEngineMonitor )
-    {
-
-    public:
-
-        enum TPEMessagesFromPhoneEngine
-        {
-        // Audio messages                     1000 - 1999
-        EPEMessageAudioDtmfEvent            = 1000,
-        EPEMessageAudioDTMFPlayComplete,
-        EPEMessageAudioMuteChanged,
-        EPEMessageAudioOutputChanged,
-        EPEMessageAudioOutputPreferenceChanged,
-        EPEMessageAudioPlayStopped,
-        EPEMessageAudioVolumeChanged,
-        EPEMessageAvailableAudioOutputsChanged,
-
-        // Call messages                      2000 - 2999
-        EPEMessageAnswer                    = 2000,
-        EPEMessageAnswering,
-        EPEMessageCallAdded,
-        EPEMessageCallControlCapsChanged,
-        EPEMessageCallWaiting,
-        EPEMessageCallWaitingAnswered,
-        EPEMessageChangedCallDuration,
-        EPEMessageConferenceCapsChange,        
-        EPEMessageConferenceIdle,
-        EPEMessageConnected,
-        EPEMessageConnectedConference,                
-        EPEMessageConnecting,
-        EPEMessageContinuingDTMFSending,
-        EPEMessageDialing,
-        EPEMessageDialingError,
-        EPEMessageDisconnecting,
-        EPEMessageDisconnectingConference,        
-        EPEMessageDisconnectingWithInband,  //UI doesn't get this message, it is mapped as EPEMessageDisconnecting
-        EPEMessageDTMFSendingAborted,
-        EPEMessageHeld,
-        EPEMessageHeldConference,        
-        EPEMessageIdle,
-        EPEMessageIncoming,
-        EPEMessageInitiatedEmergencyCall,
-        EPEMessageInitiatedEmergencyWhileActiveVideo,
-        EPEMessageInvalidSpeedDial,
-        EPEMessageIssuingUSSDRequest,
-        EPEMessageIssuedUSSDRequest,
-        EPEMessagePacketNetworkDetached,   
-        EPEMessagePromptSpeedDial,
-        EPEMessageRemoteBusy,
-        EPEMessageRemoteTerminated,               
-        EPEMessageSendingDTMF,
-        EPEMessageSentDTMF,
-        EPEMessageSentSSString,
-        EPEMessageSpeedDialNotAssigned,
-        EPEMessageStoppedDTMF,
-        EPEMessageSwapped,
-        EPEMessageTransferDone,
-        EPEMessageTransferring,
-        EPEMessageUnknown,
-        EPEMessageWentOneToOne,        
-        EPEMessageRemotePartyInfoChanged,
-        EPEMessageConnectingWithInband, //UI doesn't get this message, it is mapped as EPEMessageConnecting
-
-        EPEMessageUnattendedTransferRequest,
-
-        EPEMessageRemoteForwarding,
-        EPEMessageMovedPermanently,        
-        EPEMessageMultipleChoices,        
-
-        // Contact messages                   3000 - 3999
-        EPEMessageThumbnailLoadingCompleted  = 3000,
-
-        // Error messages                     4000 - 4999
-        EPEMessageError                     = 4000,
-        EPEMessageAudioHandlingError,
-        EPEMessageCallHandlingError,
-        EPEMessageConferenceErrorAddCall,
-        EPEMessageConferenceErrorRemoveCall,
-        EPEMessageConferenceErrorSwap,
-        EPEMessageConferenceErrorHold,
-        EPEMessageConferenceErrorResume,
-        EPEMessageConferenceErrorGoOneToOne,
-        EPEMessageConferenceErrorCurrentCallsToConference,
-        EPEMessageConferenceErrorHangUp,
-        EPEMessageContactHandlingError,
-        EPEMessageLogHandlingError,
-        EPEMessageServiceHandlingError,
-
-        // Network messages                   5000 - 5999
-        EPEMessageCallSecureStatusChanged= 5000,
-        EPEMessageNetworkRegistrationStatusChange,
-
-        // Parser messages                    6000 - 6999
-        EPEMessageActivateRfsDeep           = 6000,
-        EPEMessageActivateRfsNormal,
-        EPEMessageActivateWarrantyMode,
-        EPEMessageShowBTDeviceAddress,
-        EPEMessageShowBTLoopback,
-        EPEMessageShowIMEI,
-        EPEMessageShowVersion,
-        EPEMessageShowWlanMacAddress,
-        EPEMessageSSRequestFailed,
-        EPEMessageBTDebugMode,
-
-        // Security messages                  7000 - 7999
-        EPEMessageBadBarringPasswordChange  = 7000,
-        EPEMessageBadPin1Change,
-        EPEMessageBadPin1Unblock,
-        EPEMessageBadPin2Change,
-        EPEMessageBadPin2Unblock,
-        EPEMessageBarringPasswordChanged,
-        EPEMessageChangedSimLock,
-        EPEMessageFailedChangeSimLock,
-        EPEMessageFailedNewPin1AndPin2NotEqual,         // Error message, NewPin1 and NewPin2 are not equal
-        EPEMessageFailedSecurityCommandAlreadyActive,   // Error message, SecurityCommand is already active
-        EPEMessagePin1Changed,
-        EPEMessagePin1Unblocked,
-        EPEMessagePin2Changed,
-        EPEMessagePin2Unblocked,
-        EPEMessageSIMChanged,
-        EPEMessageSIMStateChanged,
-
-        // Settings and Shared Data messages  8000 - 8999
-        EPEMessageProfileChanged            = 8000,
-
-        // Startup messages                   9000 - 9999
-        EPEMessagePEConstructionReady       = 9000,     // Phone Engine is initialized and fully operational
-        EPEMessagePEConstructionFailed,
-        EPEMessagePEConstructionTwoPhaseReady,
-        // Miscellaneous messages             10000 - 10999
-        EPEMessageDoNotSendMe               = 10000,
-        EPEMessageInValidEmergencyNumber,
-        EPEMessageLogEventSaved, 
-        EPEMessagePhoneIdentityReady,
-        EPEMessageStartATDialing,
-        EPEMessageValidEmergencyNumber,
-        EPEMessageMuteRingingTone,
-
-        // Audio messages                         11000 - 11199
-
-        // Call messages                          11200 - 11399
-        EPEMessageActiveBarring                 = KPEMessagesFromPhoneEngineGsmFirst + 200,
-        EPEMessageActiveCallForwarding,
-        EPEMessageAddedConferenceMember,
-        EPEMessageALSLineChanged,
-        EPEMessageCallBarred,
-        EPEMessageIncCallIsForw,
-        EPEMessageIncCallForwToC,
-        EPEMessageOutCallForwToC,
-        EPEMessageForwardUnconditionalModeActive,
-        EPEMessageForwardConditionallyModeActive,
-        EPEMessageDroppedConferenceMember,
-        EPEMessageGoingOneToOne,
-        EPEMessageRemoteCreatedConference,
-        EPEMessageRemoteHeld,
-        EPEMessageRemoteResumed,
-        EPEMessageTempClirSuppressUnsuccessful,
-        EPEMessageTempClirActivationUnsuccessful,
-        EPEMessageShowIncCallGroupIndex,
-        EPEMessageDataPortLoaned,
-        // Contact messages                       11400 - 11599
-
-        // Error messages                         11600 - 11799
-
-        // VoIP service messages                       11800 - 12999
-        EPEMessageServiceEnabled               = KPEMessagesFromPhoneEngineGsmFirst + 800,
-        EPEMessageServiceEnabling,
-        EPEMessageNoService,
-        EPEMessageServiceDisabled,
-
-        // Parser messages                        12000 - 12199
-        EPEMessageIssuedSSRequest               = KPEMessagesFromPhoneEngineGsmFirst + 1000,
-        EPEMessageIssuingSSRequest,
-
-        // Security messages                      12200 - 12399
-        EPEMessageSecureNotSpecified,
-
-        // Settings and Shared Data messages      12400 - 12599
-        EPEMessageAlsStatusChanged              = KPEMessagesFromPhoneEngineGsmFirst + 1400,
-        EPEMessageBarringNotification,
-        EPEMessageClipStatusNotification,
-        EPEMessageClirStatusNotification,
-        EPEMessageCnapStatusNotification,
-        EPEMessageColpStatusNotification,
-        EPEMessageColrStatusNotification,
-        EPEMessageForwardingNotification,
-        EPEMessageVmbxNumberLine1Changed,
-        EPEMessageVmbxNumberLine2Changed,
-        EPEMessageWaitingNotification,
-
-
-        // Miscellaneous messages                 12600 - 12799
-
-        // Last                                   12999
-        // Exposing this allows the compiler to detect the overlapping enumerations.
-        EPEMessageLastVariantItem               = KPEMessagesFromPhoneEngineGsmLast
-        };
-        
-        /**
-        * HandleError
-        * Phone Application implements this callback method to provide a framework
-        * for proceeding in an error condition.
-        * @param aErrorInfo is the call id number.
-        */
-        virtual void HandleError( const TPEErrorInfo& aErrorInfo ) = 0;
-
-        /**
-        * HandleMessage
-        * Phone Application implements this callback method to provide a response
-        * for an event message sent by the Phone Engine.
-        * @param aMessage specifies the event that has taken place
-        * @param aCallId is the call id number.
-        */
-        virtual void HandleMessage( const TInt aMessage, const TInt aCallId ) = 0;
-        
-    }; // MEngineMonitor
-
-
-// Maximum number of the conference members.
-const TInt KPEMaximumNumberOfConferenceMembers = 5;
-// Maximum number of voice calls
-const TInt KPEMaximumNumberOfVoiceCalls = 8; // Phone engine user can change this value if needed.
-// Maximum number of data calls
-const TInt KPEMaximumNumberOfDataCalls = 2; 
-// Maximum number of conference calls
-const TInt KPEMaximumNumberOfConferenceCalls = 1;    
-// Maximum number of all calls
-const TInt KPEMaximumNumberOfCalls = KPEMaximumNumberOfVoiceCalls + 
-    KPEMaximumNumberOfDataCalls + KPEMaximumNumberOfConferenceCalls;
-
-// Emergency CallId
-const TInt KPEEmergencyCallId = KPEMaximumNumberOfVoiceCalls - 1;
-// Conference Call ID
-const TInt KPEConferenceCallID = KPEMaximumNumberOfVoiceCalls;
-
-// Invalid call index, note not the same as call id
-const TInt KPEInvalidCallIndex = -1;
-// These two are needed in TPECallInfo's conference field
-// Indicates, that this is Conference Master
-const TInt KPEConferenceMaster = -1;
-// Indicates, that this is Normal voice call
-const TInt KPENormalVoiceCall = -2;
-
-// All MMI Service Codes are defined in standard 3GPP TS 02.30 V7.1.1, Annex C.
-// MMI Service Codes: No service code was specified
-_LIT( KPENoServiceCode, "" );
-// MMI Service Codes: All teleservices
-_LIT( KPEAllTeleservices, "10" );
-// MMI Service Codes: Voice teleservices
-_LIT( KPETelephony, "11" );
-// MMI Service Codes: All Data Services
-_LIT( KPEAllDataServices, "12" );
-// MMI Service Codes: Fax Services
-_LIT( KPEFacsimileServices, "13" );
-// MMI Service Codes: SMS Services
-_LIT( KPEShortMessageServices, "16" );
-// MMI Service Codes: Voice Group Call Service
-_LIT( KPEVoiceGroupCallService, "17" );
-// MMI Service Codes: Voice Broadcast Service
-_LIT( KPEVoiceBroadcastService, "18" );
-// MMI Service Codes: All teleservices except SMS
-_LIT( KPEAllTeleservicesExceptSMS, "19" );
-// MMI Service Codes: All Bearer Service
-_LIT( KPEAllBearerServices, "20" );
-// MMI Service Codes: All Async Services
-_LIT( KPEAllAsyncServices, "21" );
-// MMI Service Codes: All Sync Services
-_LIT( KPEAllSyncServices, "22" );
-// MMI Service Codes: All Data Circuit Sync
-_LIT( KPEAllDataCircuitSync, "24" );
-// MMI Service Codes: All Data Circuit Async
-_LIT( KPEAllDataCircuitAsync, "25" );
-// MMI Service Codes: All Dedicated Packet Access
-_LIT( KPEAllDedicatedPacketAccess, "26" );
-// MMI Service Codes: All Dedicated Pad Access
-_LIT( KPEAllDedicatedPadAccess, "27" );
-// MMI Service Codes: All Gprs Beares Services
-_LIT( KPEAllGprsBearerServices, "99" );
-// MMI Service Codess: PLMN specific teleservices
-_LIT( KPEAllPlmnSpecificTeleservices, "50" );
-_LIT( KPEPlmnSpecificTeleservice1, "51" );
-_LIT( KPEPlmnSpecificTeleservice2, "52" );
-_LIT( KPEPlmnSpecificTeleservice3, "53" );
-_LIT( KPEPlmnSpecificTeleservice4, "54" );
-_LIT( KPEPlmnSpecificTeleservice5, "55" );
-_LIT( KPEPlmnSpecificTeleservice6, "56" );
-_LIT( KPEPlmnSpecificTeleservice7, "57" );
-_LIT( KPEPlmnSpecificTeleservice8, "58" );
-_LIT( KPEPlmnSpecificTeleservice9, "59" );
-_LIT( KPEPlmnSpecificTeleservice10, "60" );
-_LIT( KPEPlmnSpecificTeleservice11, "61" );
-_LIT( KPEPlmnSpecificTeleservice12, "62" );
-_LIT( KPEPlmnSpecificTeleservice13, "63" );
-_LIT( KPEPlmnSpecificTeleservice14, "64" );
-_LIT( KPEPlmnSpecificTeleservice15, "65" );
-// MMI Service Codess: PLMN specific bearer services
-_LIT( KPEAllPlmnSpecificBearerServices, "70" );
-_LIT( KPEPlmnSpecificBearerService1, "71" );
-_LIT( KPEPlmnSpecificBearerService2, "72" );
-_LIT( KPEPlmnSpecificBearerService3, "73" );
-_LIT( KPEPlmnSpecificBearerService4, "74" );
-_LIT( KPEPlmnSpecificBearerService5, "75" );
-_LIT( KPEPlmnSpecificBearerService6, "76" );
-_LIT( KPEPlmnSpecificBearerService7, "77" );
-_LIT( KPEPlmnSpecificBearerService8, "78" );
-_LIT( KPEPlmnSpecificBearerService9, "79" );
-_LIT( KPEPlmnSpecificBearerService10, "80" );
-_LIT( KPEPlmnSpecificBearerService11, "81" );
-_LIT( KPEPlmnSpecificBearerService12, "82" );
-_LIT( KPEPlmnSpecificBearerService13, "83" );
-_LIT( KPEPlmnSpecificBearerService14, "84" );
-_LIT( KPEPlmnSpecificBearerService15, "85" );
-// ALS
-_LIT( KPEAuxVoiceService, "89" );
-
-//Fax Modem UI application UID
-const TInt KPEFaxModemUIUid = 0x1000594E;
-// TPESimState fisrt value
-const TInt KPEStartupEnumerationFirstValue = 100;
-
-// Indicates that dtmf sending is possible with this call. 
-const TUint KPECapsDtmf = 0x00080000;
-
-// SIM states
-enum TPESimState
-    {
-    EPESimStatusUninitialized = KPEStartupEnumerationFirstValue,
-    EPESimUsable,       // The Sim card is fully usable.    
-    EPESimReadable,     // The SIM card is not fully usable, but the emergency number can be read.
-    EPESimNotReady,     // The Sim card is present but not ready or usable.
-    EPESimNotPresent,   // The Sim card is not present.
-    EPESimNotSupported  // SIM/RUIM is not supported. Some CDMA phones do not support a SIM/RUIM at all.
-    };
-    
-// Supplementary Services action type
-enum TPESSAction
-    {
-    EPESSActionUnspecified = 0,
-    EPESSActivation,
-    EPESSDeactivation,
-    EPESSInterrogation,
-    EPESSRegistration,
-    EPESSErasure,
-    EPEPasswordOperation
-    };
-
-// Supplementary Services type
-enum TPESSType
-    {
-    EPESSTypeUnspecified = 0,
-    EPECallForwardingNotReachable,
-    EPECallForwardingNoReply,
-    EPECallForwardingBusy,
-    EPECallForwardingUnconditional,
-    EPECallForwardingAll,
-    EPECallForwardingAllConditional,
-    EPECallBarringAllOutgoing,
-    EPECallBarringAllOutgoingInternational,
-    EPECallBarringAllOutgoingInternationalExcHome,
-    EPECallBarringAllIncoming,
-    EPECallBarringAllIncomingWhenRoaming,
-    EPECallBarringAllServices,
-    EPECallBarringAllOutgoingServices,
-    EPECallBarringAllIncomingServices,
-    EPECallBarringPassword,
-    EPECallWaiting,
-    EPEClip,
-    EPEClir,
-    EPECnap,
-    EPEColp,
-    EPEColr,
-    EPEEmlpp,
-    EPEMsp,
-    EPESpnp,
-    EPEPin,
-    EPEUnblockPin,
-    EPESimLock
-    };
-
-//Forwarded information definition
-NONSHARABLE_STRUCT( TPEForwardedInfo )
-    {
-    RMobilePhone::TMobilePhoneCFCondition iCondition;
-    RMobilePhone::TMobileService iServiceGroup;
-    RMobilePhone::TMobilePhoneCFStatus iStatus; 
-    TPEPhoneNumber iPhoneNumber;
-    TInt iTimeout;
-    };
-
-// Forwarding information definition
-NONSHARABLE_STRUCT( TPEForwardingInfo )
-    {
-    TInt iGroupCount;
-    TFixedArray<TPEForwardedInfo, KPEMaxServiceGroup> iForwardedInfo;
-    };
-
-NONSHARABLE_STRUCT( TPEActiveForwardInfo )
-    {
-    RMobilePhone::TMobilePhoneCFActive iActiveType;
-    RMobilePhone::TMobileService  iServiceGroup;
-    };
-
-//Wait information definition
-NONSHARABLE_STRUCT( TPEWaitInfo )
-    {
-    RMobilePhone::TMobileService iServiceGroup;
-    RMobilePhone::TMobilePhoneCWStatus iStatus; 
-    };
-
-// Waiting information definition
-NONSHARABLE_STRUCT( TPEWaitingInfo )
-    {
-    TInt iGroupCount;
-    TFixedArray<TPEWaitInfo, KPEMaxServiceGroup> iWaitInfo;
-    };
-
-//Barred information definition
-NONSHARABLE_STRUCT( TPEBarredInfo )
-    {
-    RMobilePhone::TMobilePhoneCBCondition iCondition;
-    RMobilePhone::TMobileService iServiceGroup;
-    RMobilePhone::TMobilePhoneCBStatus iStatus; 
-    };
-
-// Barring information definition
-NONSHARABLE_STRUCT( TPEBarringInfo )
-    {
-    TInt iGroupCount;
-    TFixedArray<TPEBarredInfo, KPEMaxServiceGroup> iBarredInfo;
-    };
-
-// Contains information of the Suplementary Services command.
-NONSHARABLE_STRUCT( TPESSCommandInfo )                   // For SS Commands.
-    {
-    TPESSAction action;     // SS Action
-    /*RMobilePhone::TMobileService*/ TInt group;       // MMI Service Code
-    TPESSType type;         // Supplementary Services type
-    };
-
-NONSHARABLE_STRUCT( TPEConferenceMemberInfo )
-    {
-    TName iConferenceMemberName;
-    TInt iConferenceMemberId;
-    };
-
-/**
- *  Offers message interface from phone application to phone engine.
- *
- *  ?more_complete_description
- *
- *  @lib phoneengine
- *  @since S60 v4.0 
- */
-NONSHARABLE_CLASS( MPEPhoneModel ) 
-    {
-public:
-
-    typedef TInt TPEMessagesToPhoneEngine;
-
-    enum
-        {
-        // Audio messages                     1000 - 1999
-        EPEMessageSetAudioMute              = 1000,
-        EPEMessageSetAudioVolume,
-        EPEMessageSetAudioOutput,
-
-        // Call messages                      2000 - 2999
-        EPEMessageAnswer                    = 2000,
-        EPEMessageClientDial,
-        EPEMessageContinueDTMFSending,
-        EPEMessageDial,
-        EPEMessagePlayDTMF,
-        EPEMessageEndDTMF,
-        EPEMessagePhoneNumberEdited,
-        EPEMessageRelease,
-        EPEMessageReleaseAll,
-        EPEMessageReject,
-        EPEMessageSendDTMF,
-        EPEMessageStopDTMFSending,
-        EPEMessageStopTonePlay,
-        EPEMessageAutomaticAnswerOff,       //UI sends when soft reject is needed
-        EPEMessageTerminateAllConnections,
-        EPEMessageSetSwitchToCallFlag,
-        EPEMessageSwitchToVideoOrVoice,
-        EPEMessageSatCallRequestCompleted,
-        EPEMessageClientDialEmergency,
-        EPEMessageReplaceActive,
-        EPEMessageContinueEmergencyCallInitialization,
-        EPEMessageAcceptUnattendedTransfer,
-        EPEMessageRejectUnattendedTransfer,
-
-        EPEMessageDoUnattendedTransfer,
-        EPEMessageForwardCallToAddress,
-        EPEMessageDialServiceCall,
-        // Contact messages                   3000 - 3999
-
-        // Error messages                     4000 - 4999
-
-        // Network messages                   5000 - 5999
-
-        // Parser messages                    6000 - 6999
-
-        // Security messages                  7000 - 7999
-
-        // Service messages                   8000 - 8999
-        EPEMessageDisableService            = 8000,
-
-        // Startup messages                   9000 - 9999
-        EPEMessagePEConstructionReady       = 9000,
-
-        // Miscellaneous messages             10000 - 10999
-        EPEMessageCheckEmergencyNumber      = 10000 // Request engine to check is entered number emergency.
-
-        // Variant messages                   11000 - 12999
-        // From KPEMessagesToPhoneEngineGsmFirst
-        // to KPEMessagesToPhoneEngineGsmLast
-        };
-
-     virtual ~MPEPhoneModel() {};
-
-    /**
-     * Returns pointer to information object (CPEEngineInfo) 
-     *
-     * @since S60 v4.0
-     * @return Return pointer to CPEEngineInfo object
-     */
-     virtual MPEEngineInfo* EngineInfo() = 0;
-     
-    /**
-     * Reroutes messages from the phone application to the message handler
-     *
-     * @since S60 v4.0
-     * @param aMessage is the message code
-     */
-     virtual void HandleMessage( const TInt aMessage ) = 0;
-     
-    /**
-     * Returns the name of the specified message to PhoneEngine
-     *
-     * @since S60 v4.0
-     * @param aMessage is the message code
-     * @return String containing the name of the message
-     */
-     virtual TPtrC NameByMessageToPhoneEngine( const TInt aMessage ) const = 0;
-
-    /**
-     * Returns the name of the specified message from PhoneEngine
-     *
-     * @param aMessage is the message code
-     * @return String containing the name of the message
-     */
-     virtual TPtrC NameByMessageFromPhoneEngine( const TInt aMessage ) const = 0;
-     
-    }; // MPEPhoneModel 
-
-/**
-* Utility class for call id.
-*
-*  @lib PhoneEngine.lib
-*/
-NONSHARABLE_CLASS( CallIdCheck )
-    {
-    public:
-        static inline TBool IsValid( TInt aCallId ) 
-            {
-            return aCallId >= 0 && aCallId < KPEMaximumNumberOfCalls;
-            }
-        static inline TBool IsVoice( TInt aCallId )
-            {
-            return aCallId >= 0 && aCallId < KPEMaximumNumberOfVoiceCalls;
-            }
-        static inline TBool IsConference( TInt aCallId )
-            {
-            return aCallId >= KPEMaximumNumberOfVoiceCalls && 
-                   aCallId < ( KPEMaximumNumberOfVoiceCalls + KPEMaximumNumberOfConferenceCalls );
-            }
-        static inline TBool IsVideo( TInt aCallId )
-            {
-            return aCallId >= ( KPEMaximumNumberOfVoiceCalls + KPEMaximumNumberOfConferenceCalls ) 
-                && aCallId < ( KPEMaximumNumberOfVoiceCalls + KPEMaximumNumberOfConferenceCalls + 
-                KPEMaximumNumberOfDataCalls );
-            }            
-    };
-
-#endif // PEVIRTUALENGINE_H
-
-//End of file