phoneengine/engineinfo/inc/mpedatastore.h
changeset 0 5f000ab63145
child 1 838b0a10d15b
child 45 6b911d05207e
equal deleted inserted replaced
-1:000000000000 0:5f000ab63145
       
     1 /*
       
     2 * Copyright (c) 2002-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:  Interface class for DataStore of the PhoneEngine
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef MPEDATASTORE_H
       
    20 #define MPEDATASTORE_H
       
    21 
       
    22 //  INCLUDES
       
    23 #include <mpeengineinfo.h>
       
    24 #include <cphcntcontactid.h>
       
    25 #include <ccpdefs.h>
       
    26 #include <mccecall.h>
       
    27 
       
    28 class MPEClientInformation;
       
    29 
       
    30 
       
    31 // CLASS DECLARATION
       
    32 
       
    33 /**
       
    34 *  Offers data store interface to phone engine
       
    35 *  
       
    36 *
       
    37 *  @lib phoneengine.lib
       
    38 *  @since Series 60 5.0
       
    39 */
       
    40 NONSHARABLE_CLASS( MPEDataStore )
       
    41     : public MPEEngineInfo
       
    42     {
       
    43     public: // New functions
       
    44     
       
    45         /**
       
    46         * Gets audio mute command value
       
    47         * @return audio mute value for PhoneApplication commands
       
    48         */
       
    49         virtual const TBool& AudioMuteCommand() const = 0;
       
    50         
       
    51         /**
       
    52         * Gets audio output preference
       
    53         * @return audio output preference
       
    54         */
       
    55         virtual const TInt& AudioOutputPreference() const = 0;
       
    56 
       
    57         /**
       
    58         * Gets audio output command value
       
    59         * @return audio output value for PhoneApplication commands
       
    60         */
       
    61         virtual const TPEAudioOutput& AudioOutputCommand() const = 0;
       
    62         
       
    63         /**
       
    64         * Gets audio output command value
       
    65         * @return audio output value for PhoneApplication commands
       
    66         */
       
    67         virtual TBool ShowNoteCommand() const = 0;
       
    68           
       
    69         /**
       
    70         * Gets audio volume command value
       
    71         * @return audio volume value for Phone Application commands
       
    72         */
       
    73         virtual const TInt& AudioVolumeCommand() const = 0;      
       
    74 
       
    75         /**
       
    76         * Get remote contact link or id
       
    77         * @param aCallId is the call identification number.
       
    78         * @return contact link or id
       
    79         */
       
    80         virtual const CPhCntContactId& ContactId( const TInt aCallId ) const = 0;
       
    81 
       
    82         /**
       
    83         * Gets dtmf postfix
       
    84         * @param aCallId is the call identification number.
       
    85         * @return dtmf postfix
       
    86         */
       
    87         virtual const TPEDtmfString& DtmfPostFix( const TInt aCallId  ) const = 0;     
       
    88 
       
    89         /**
       
    90         * Gets dtmf string command value
       
    91         * @return dtmf string value for Phone Application commands
       
    92         */
       
    93         virtual const TPEDtmfString& DtmfStringCommand() const = 0;
       
    94         
       
    95         /**
       
    96         * Gets DTMFVoiceMailBoxNumber information for line 1
       
    97         * @return line 1 DTMFVoiceMailBoxNumber information
       
    98         */
       
    99         virtual const TPEPhoneNumber& DTMFVoiceMailBoxNumberLine1() const = 0;
       
   100 
       
   101         /**
       
   102         * Gets DTMFVoiceMailBoxNumber information for line 2
       
   103         * @return line 2 DTMF VoiceMailBoxNumber information
       
   104         */
       
   105         virtual const TPEPhoneNumber& DTMFVoiceMailBoxNumberLine2() const = 0;
       
   106         
       
   107         /**
       
   108         * Gets error code from TPEBasicInfo-structure
       
   109         * @return Error code
       
   110         */
       
   111         virtual TInt ErrorCode() const = 0;
       
   112 
       
   113         /**
       
   114         * Gets correct inband tone for specific call state transition or error
       
   115         * @return the inband tone to be played
       
   116         */
       
   117         virtual const TCCPTone& InbandTone() const = 0;
       
   118         
       
   119         /**
       
   120         * Gets call origin for next call attempt
       
   121         * @return value indicates if the call is phone, client or SAT originated
       
   122         */
       
   123         virtual const TPECallOrigin& CallOriginCommand() const = 0;
       
   124 
       
   125         /**
       
   126          * Reset remote information
       
   127         * @param aCallId is the Call identification number.
       
   128          */
       
   129         virtual void ResetRemoteInfo( const TInt aCallId ) = 0;
       
   130 
       
   131         
       
   132         /**
       
   133          * Gets user to user information. If this is set before dial, the
       
   134          * data is sent to network.
       
   135          *
       
   136          * @return User to user info.
       
   137          */
       
   138         virtual const TPEUserToUserInfo& UserToUserInformation() const = 0;
       
   139 
       
   140         /**
       
   141         * Set the group id's which are active to play ring tone.
       
   142         * @param aAlertForGroup group id .
       
   143         */
       
   144         virtual void SetAlertForGroup( const TArray< TContactItemId >& aAlertForGroup ) = 0;  
       
   145         
       
   146         /**
       
   147         * Sets active als line value to the TPEGsmBasicInfo structure.
       
   148         * @param aALSLine is the active als line value.
       
   149         */
       
   150         virtual void SetALSLine( const CCCECallParameters::TCCELineType& aALSLine ) = 0;
       
   151              
       
   152         /**
       
   153         * Sets ALS support value to the TPEGsmBasicInfo structure.
       
   154         * @param aALSLineSupport is the ALS support value.
       
   155         */
       
   156         virtual void SetALSLineSupport( const TBool& aALSLineSupport ) = 0;
       
   157    
       
   158         /**
       
   159         * Sets audio mute state of the phone to TPEBasicInfo-structure
       
   160         * @param aAudioMute is audio mute state of the phone (ETrue = mute on)
       
   161         */
       
   162         virtual void SetAudioMute( const TBool aAudioMute ) = 0;
       
   163         
       
   164         /**
       
   165         * Sets audio output path
       
   166         * @param aOutput is the audio previous output path.
       
   167         * @param aPreviousOutput is the audio previous output path.
       
   168         * @param aShowNote is audio note value
       
   169         */
       
   170         virtual void SetAudioOutput( const TPEAudioOutput aOutput,
       
   171                                      const TPEAudioOutput aPreviousOutput,
       
   172                                      const TBool aShowNote ) = 0;
       
   173 
       
   174         /**
       
   175         * Sets hands free mode of the phone to TPEBasicInfo-structure
       
   176         * @param aHandsfreeMode is handsfree mode of the phone(on,off).
       
   177         */
       
   178         virtual void SetAvailableAudioOutputs( 
       
   179             const TArray< TPEAudioOutput >& aAvailableOutputs ) = 0;
       
   180         
       
   181         // TODO: change TInt param to enum type when it is available
       
   182         /**
       
   183         * Sets audio output preference to TPEBasicInfo-structure
       
   184         * @param aOutputPreference is audio output preference (public/private)
       
   185         */
       
   186         virtual void SetAudioOutputPreference( const TInt aOutputPreference ) = 0;
       
   187         
       
   188         /**
       
   189         * Sets audio volume of the phone to TPEBasicInfo-structure
       
   190         * @param aAudioVolume is audio volume of the phone.
       
   191         */
       
   192         virtual void SetAudioVolume( const TInt aAudioVolume ) = 0;
       
   193 
       
   194         /**
       
   195         * Sets alsline value to TPECallInfo-structure
       
   196         * @param aALSLine informs which line is selected active
       
   197         * @param aCallId is the Call identification number.
       
   198         */
       
   199         virtual void SetCallALSLine( const CCCECallParameters::TCCELineType& aALSLine, const TInt aCallId ) = 0;
       
   200         
       
   201         /**
       
   202         * Sets phone client information to TPECallInfo-structure
       
   203         * @param aClientInformation includes phone client information.
       
   204         * @param aCallId is the Call identification number.
       
   205         */
       
   206         virtual void SetCallClientInformation( 
       
   207             const MPEClientInformation& aClientInformation, 
       
   208             const TInt aCallId ) = 0;
       
   209                        
       
   210         /**
       
   211         * Sets Call direction to TPECallInfo-structure
       
   212         * @param aCallDirection is the Call direction value (0=Unknown/1=MO/2=MT)
       
   213         * @param aCallId is the Call identification number.
       
   214         */
       
   215         virtual void SetCallDirection( 
       
   216             const RMobileCall::TMobileCallDirection& aCallDirection, 
       
   217             const TInt aCallId ) = 0;
       
   218     
       
   219         /**
       
   220         * Sets call duration of the last call to Idle to TPEBasicInfo-structure
       
   221         * @param aDiagnostics is call terminated diagnostics value
       
   222         */
       
   223         virtual void SetCallDuration( const TInt& aCallDuration ) = 0;       
       
   224 
       
   225         /**
       
   226         * Sets duration of the call to TPECallInfo-structure
       
   227         * @param aDuration is duration of the call. 
       
   228         * @param aCallId is the Call identification number.
       
   229         */
       
   230         virtual void SetCallDuration( 
       
   231             const TTimeIntervalSeconds& aCallDuration, 
       
   232             const TInt aCallId ) = 0;
       
   233 
       
   234         /**
       
   235         * Set caller image
       
   236         * @param aCallerImage caller image
       
   237         * @param aCallId is the call identification number
       
   238         */
       
   239         virtual void SetCallerImage(
       
   240             const TPtrC aCallerImage,
       
   241             const TInt aCallId ) = 0;
       
   242 
       
   243         /**
       
   244         * Set caller text
       
   245         * @param aCallerText caller text
       
   246         * @param aCallId is the call identification number
       
   247         */
       
   248         virtual void SetCallerText( const TPtrC aCallerText, const TInt aCallId ) = 0;
       
   249 
       
   250         /**
       
   251         * Set caller thumbnail
       
   252         * @param aCallerThumbnail caller thumbnail
       
   253         * @param aCallId is the call identification number
       
   254         */
       
   255         virtual void SetCallerThumbnail(
       
   256             CFbsBitmap* aCallerThumbnail, 
       
   257             const TInt aCallId ) = 0;
       
   258             
       
   259         /**
       
   260         * Set status of caller thumbnail 
       
   261         * @param aStatus caller thumbnail status
       
   262         * @param aCallId is the call identification number
       
   263         */
       
   264         virtual void SetHasCallerThumbnail( TBool aStatus, const TInt aCallId  ) = 0;
       
   265         
       
   266         /**
       
   267         * Sets start time of the call to TPECallInfo-structure
       
   268         * @param aStartTime is the start time of the call.
       
   269         * @param aCallId is the Call identification number.
       
   270         */
       
   271         virtual void SetCallStartTime( const TTime& aCallStartTime, const TInt aCallId ) = 0;
       
   272         
       
   273         /**
       
   274         * Sets Call State value to TPECallInfo-structure
       
   275         * @param aCallState is call state value.
       
   276         * @param aCallId is the Call identification number.
       
   277         */
       
   278         virtual void SetCallState( const TPEState& aCallState, const TInt aCallId ) = 0;
       
   279 
       
   280         /**
       
   281         * Sets call type information
       
   282         * @param aCallType is the call type.
       
   283         * @param aCallId is the Call identification number.
       
   284         */
       
   285         virtual void SetCallType( const TPECallType& aCallType, const TInt aCallId ) =  0;
       
   286 
       
   287         /**
       
   288         * Sets Secure status to call info
       
   289         * @param SecureStatus is the secure status (on/off)
       
   290         * @param aCallId is the Call identification number.
       
   291         */
       
   292         virtual void SetCallSecureStatus( const TBool aSecureStatus, const TInt aCallId ) = 0;
       
   293 
       
   294         /**
       
   295         * Sets call state of a conference call
       
   296         * @param aCallState is call state value.
       
   297         */
       
   298         virtual void SetConferenceCallState( const TPEState& aCallState ) = 0;
       
   299         
       
   300         /**
       
   301         * Set user group ids this contact is assigned to
       
   302         * Array is reset if the operation fails.
       
   303         * @param aGroupIdArray array of group ids
       
   304         * @param aCallId is the Call identification number
       
   305         */
       
   306         virtual void SetContactGroups(
       
   307             TArray< TContactItemId >& aGroupIdArray,
       
   308             const TInt aCallId ) = 0;
       
   309 
       
   310         /**
       
   311         * Set contact link or id
       
   312         * @param aContactId pointer to contact id
       
   313         * @param aCallId is the Call identification number
       
   314         */
       
   315         virtual void SetContactId(
       
   316             CPhCntContactId* aContactId,
       
   317             const TInt aCallId ) = 0;
       
   318 
       
   319         /**
       
   320         * Sets the name of data port currently on-loan.
       
   321         * Data port loaning is handled by CSPlugin and happens when a data
       
   322         * call goes into connected state. The dataport is released when VT components
       
   323         * indicate it can be released, i.e. video call hangup.
       
   324         * @param aName is Data port name
       
   325         */
       
   326         virtual void SetDataPortName( const TName& aDataPortName ) = 0;
       
   327         
       
   328         /**
       
   329         * Sets dtmf postfix value to TPEBasicInfo-structure
       
   330         * @param aDtmfPostFix is persed dtmf postfix. 
       
   331         * @param aCallId is the call identification number.
       
   332         */
       
   333         virtual void SetDtmfPostFix( const TPEDtmfString& aDtmfPostFix, const TInt aCallId ) = 0;
       
   334   
       
   335         /**
       
   336            
       
   337         /**
       
   338         * Sets dtmf string value to TPEBasicInfo-structure
       
   339         * @param aDtmfString is the dtmf string to be sent. 
       
   340         */
       
   341         virtual void SetDtmfString( const TPEDtmfString& aDtmfString ) = 0;
       
   342         
       
   343         /**
       
   344         * Sets DTMFVoiceMailBoxNumber for Line 1 information from TPEGsmBasicInfo-structure
       
   345         * @param aDTMFVoiceMailBoxNumberLine1 includes line 1 DTMFVoiceMailBoxNumber information.  
       
   346         */
       
   347         virtual void SetDTMFVoiceMailBoxNumberLine1( 
       
   348             const TDesC& aDTMFVoiceMailBoxNumberLine1 ) = 0;
       
   349 
       
   350         /**
       
   351         * Sets DTMFVoiceMailBoxNumber for Line 2 information from TPEGsmBasicInfo-structure
       
   352         * @param aDTMFVoiceMailBoxNumberLine2 includes line 2 DTMFVoiceMailBoxNumber information.  
       
   353         */
       
   354         virtual void SetDTMFVoiceMailBoxNumberLine2( 
       
   355             const TDesC& aDTMFVoiceMailBoxNumberLine2 ) = 0;
       
   356         
       
   357         /**
       
   358         * Sets error code of the phone to TPEBasicInfo-structure
       
   359         * @param aErrorCode is error code value
       
   360         */
       
   361         virtual void SetErrorCode( const TInt aErrorCode ) = 0;
       
   362 
       
   363         /**
       
   364         * Sets correct inband tone for specific call state transition or error
       
   365         * @param aTone is the inband tone to be played
       
   366         */
       
   367         virtual void SetInbandTone( const TCCPTone aTone ) = 0;
       
   368             
       
   369         /**
       
   370         * Sets Keypad volume of the phone to TPEBasicInfo-structure
       
   371         * @param aKeypadVolume is Keypad volume of the phone.
       
   372         */
       
   373         virtual void SetKeypadVolume( const TInt aKeypadVolume ) = 0;
       
   374         
       
   375         /**
       
   376         * Sets lifetimer data of the phone to TPEBasicInfo-structure
       
   377         * @param aLifeTimerData lifetime data (TDesc8&).
       
   378         */
       
   379         virtual void SetLifeTimerData( TCCPLifeTimeDataPckg& aPckg ) = 0;   
       
   380         
       
   381         /**
       
   382         * Sets a logging indicator to TPECallInfo-tructure
       
   383         * @param aLoggingIndicator, Continuous logging indicator.
       
   384         * @param aCallId, the call identification number.
       
   385         */
       
   386         virtual void SetLoggingIndicator( const TBool aLoggingIndicator, const TInt aCallId ) = 0;
       
   387        
       
   388         /**
       
   389         * Set missed call indicator. 
       
   390         * @param TBool& aMissedCall, missed call indicator.
       
   391         * @param TInt aCallId, call identification.
       
   392         */
       
   393         virtual void SetMissedCall( const TBool& aMissedCall, const TInt aCallId ) = 0; 
       
   394           
       
   395         /**
       
   396         * Sets network information to TPEBasicInfo-structure
       
   397         * @param aNetworkInfo is the current network information.
       
   398         */
       
   399         virtual void SetNetworkRegistrationStatus( 
       
   400             const TNWNetworkRegistrationStatus& aRegistrationStatus ) = 0;
       
   401 
       
   402         /**
       
   403         * Set personal ringing tone
       
   404         * Used to set a ringing tone defined for one of the user groups
       
   405         * if personal tone is not found
       
   406         * @param aRingingTonepath, personal ringing tone
       
   407         * @param aCallId, call identification number
       
   408         */
       
   409         virtual void SetPersonalRingingTone(
       
   410             const TPEContactFileName& aRingingTonepath,
       
   411             const TInt aCallId ) = 0;
       
   412 
       
   413         /**
       
   414         * Sets personal tone status value to TPEBasicInfo-structure.
       
   415         * @param aPersonalTone is personal tone status (EFalse/ETrue).
       
   416         */
       
   417         virtual void SetPersonalToneStatus( const TInt& aPersonalToneStatus ) = 0;
       
   418         
       
   419         /**
       
   420         * Set phone number parsing result
       
   421         * @param TBool& aServiceCode, service code indicator
       
   422         */
       
   423         virtual void SetPhoneNumberIsServiceCode( const TBool& aServiceCode ) = 0;
       
   424  
       
   425         /**
       
   426         * Sets phone number to TPECallCommandInfo-structure
       
   427         * @param aPhoneIdentityParameters is the phone identity parameters
       
   428         */
       
   429         virtual void SetPhoneIdentityParameters( 
       
   430             const TPEPhoneIdentityParameters& aPhoneIdentityParameters ) = 0;
       
   431 
       
   432         /**
       
   433         * Sets call origin for the next call attempt
       
   434         * @param aOrigin indicates if the call is phone, client or SAT originated
       
   435         */
       
   436         virtual void SetCallOriginCommand( const TPECallOrigin& aOrigin ) = 0;
       
   437          
       
   438         /**
       
   439         * Sets profile id to TPEBasicInfo-structure
       
   440         * @param aProfileId is the identification number of the profile
       
   441         */
       
   442         virtual void SetProfileId( const TInt aProfileId ) = 0;   
       
   443         
       
   444         /**
       
   445         * Sets profile name to TPEBasicInfo-structure
       
   446         * @param aProfileName is the name of the profile
       
   447         */
       
   448         virtual void SetProfileName( const TPEProfileName& aProfileName ) = 0;
       
   449 
       
   450         /**
       
   451         * Set contact company name
       
   452         * @param aCompanyName company name
       
   453         * @param aCallId, is the call identification number
       
   454         */
       
   455         virtual void SetRemoteCompanyName(
       
   456             const TPEContactName& aCompanyName, 
       
   457             const TInt aCallId ) = 0;
       
   458 
       
   459         /**
       
   460         * Sets remote identity status
       
   461         * @param aIdentity is the status of identity 
       
   462         */
       
   463         virtual void SetRemoteIdentity( 
       
   464             const RMobileCall::TMobileCallRemoteIdentityStatus& aIdentity, 
       
   465             const TInt aCallId ) = 0;
       
   466 
       
   467         /**
       
   468         * Set contact name
       
   469         * Depending on user selected language may be in order:
       
   470         * first + last name OR last + first name
       
   471         * @param aContactName contact name
       
   472         * @param aCallId, is the call identification number
       
   473         */
       
   474         virtual void SetRemoteName(
       
   475             const TPEContactName& aContactName, 
       
   476             const TInt aCallId ) = 0;
       
   477 
       
   478         /**
       
   479         * Set remote end phone number
       
   480         * @param aPhoneNumber phone number
       
   481         * @param aCallId, is the call identification number
       
   482         */
       
   483         virtual void SetRemotePhoneNumber(
       
   484             const TPEPhoneNumber& aPhoneNumber, 
       
   485             const TInt aCallId ) = 0;
       
   486 
       
   487         /**
       
   488         * Set remote end phone number type
       
   489         * @param aPhoneNumberType phone number id
       
   490         * @param aCallId, is the call identification number
       
   491         */
       
   492         virtual void SetRemotePhoneNumberType(
       
   493             TPEPhoneNumberIdType aPhoneNumberType, 
       
   494             const TInt aCallId ) = 0;
       
   495 
       
   496         /**
       
   497         * Set remote end Text To Speech Text
       
   498         * @param aText Text To Speech Text
       
   499         * @param aCallId, is the call identification number
       
   500         */
       
   501         virtual void SetRemoteTextToSpeechText(
       
   502             HBufC* aText,
       
   503             TInt aCallId ) = 0;
       
   504 
       
   505         /**
       
   506         * Sets ringing type to TPEBasicInfo-structure
       
   507         * @param aRingingToneName is the current ringintone name for line 1. 
       
   508         */
       
   509         virtual void SetRingingTone1(
       
   510             const TPEContactFileName& aRingingToneName ) = 0;
       
   511         
       
   512         /**
       
   513         * Sets ringing type to TPEGsmBasicInfo-structure
       
   514         * @param aRingingToneName is the current ringintone name for line 2.
       
   515         */
       
   516         virtual void SetRingingTone2(
       
   517             const TPEContactFileName& aRingingToneName ) = 0;
       
   518 
       
   519         /**
       
   520         * Sets video call ringing tone name to TPEGsmBasicInfo-structure
       
   521         * @param aRingingToneName is the current ringintone name for video call.
       
   522         */
       
   523         virtual void SetVideoCallRingingTone( const TPEContactFileName& aRingingToneName ) = 0;
       
   524                 
       
   525         /**
       
   526         * Sets ringing type to TPEBasicInfo-structure
       
   527         * @param aRinginType is the ringintype
       
   528         */
       
   529         virtual void SetRingingType(
       
   530             const TProfileRingingType& aRingingType ) = 0;
       
   531         
       
   532         /**
       
   533         * Sets ringing volume to TPEBasicInfo-structure
       
   534         * @param aRingingVolume is the current ringingtone name. 
       
   535         */
       
   536         virtual void SetRingingVolume( const TInt& aRingingVolume ) = 0;
       
   537 
       
   538         /**
       
   539         * Sets text-to-speech to TPEBasicInfo-structure
       
   540         * @param aTextToSpeech is the current text-to-speech preference setting. 
       
   541         */
       
   542         virtual void SetTextToSpeech( const TBool aTextToSpeech ) = 0;
       
   543 
       
   544         /**
       
   545         * Sets two digit support status of the phone to TPEBasicInfo-structure
       
   546         * @param aTwoDigitSupportStatus is support status (EFalse/ETrue).                                                      
       
   547         */
       
   548         virtual void SetTwoDigitSupportStatus(
       
   549             const TBool aTwoDigitSupportStatus ) = 0;
       
   550    
       
   551         /**
       
   552         * Gets VoiceMailBoxNumber for Line 1 information from TPEGsmBasicInfo-structure
       
   553         * @param aVMBXL1 includes line 1 VoiceMailBoxNumber information.  
       
   554         */
       
   555         virtual void SetVoiceMailBoxNumberLine1(
       
   556             const TDesC& aVoiceMailBoxNumberLine1 ) = 0;
       
   557 
       
   558         /**
       
   559         * Gets VoiceMailBoxNumber for Line 2 information from TPEGsmBasicInfo-structure
       
   560         * @param aVMBXL2 includes line 2 VoiceMailBoxNumber information.  
       
   561         */
       
   562         virtual void SetVoiceMailBoxNumberLine2(
       
   563             const TDesC& aVoiceMailBoxNumberLine2 ) = 0;
       
   564 
       
   565         /**
       
   566         * Set log forced completion indicator. 
       
   567         * @since Series60_4.0
       
   568         * @param TBool aForcedCOmpletion, log forced completion indicator.
       
   569         * @param TInt aCallId, call identification.
       
   570         */
       
   571         virtual void SetLogForcedCompletion(  
       
   572             const TBool aForcedCompletion, 
       
   573             const TInt aCallId ) = 0;
       
   574 
       
   575         /**
       
   576         * Get log forced completion indicator. 
       
   577         * @since Series60_4.0
       
   578         * @param TInt aCallId, call identification.
       
   579         * @return TBool&, log forced completion indicator.
       
   580         */
       
   581         virtual TBool LogForcedCompletion(
       
   582             const TInt aCallId ) const = 0;
       
   583         
       
   584         /**
       
   585         * Sets whole outgoing phone number 
       
   586         * @since Series60_4.0
       
   587         * @param aPhoneNumber is the phone number
       
   588         * @param TInt aCallId, call identification.
       
   589         */
       
   590         virtual void SetWholeOutgoingPhoneNumber( 
       
   591             const TPEPhoneNumber& aPhoneNumber, 
       
   592             const TInt aCallId ) = 0;
       
   593 
       
   594         /**
       
   595         * Gets whole outgoing phone number
       
   596         * @since Series60_4.0
       
   597         * @param TInt aCallId, call identification.
       
   598         * @return TPEPhoneNumber&, remote party number including DTMF string.
       
   599         */
       
   600         virtual const TPEPhoneNumber& WholeOutgoingPhoneNumber(
       
   601             const TInt aCallId ) const = 0;
       
   602        
       
   603         /**
       
   604         * Returns the service-id used for the command.
       
   605         * @since S60 3.2
       
   606         * @param none
       
   607         * @return TUint32 Service-id
       
   608         */
       
   609         virtual TUint32 ServiceIdCommand() const = 0;
       
   610         
       
   611         /**
       
   612         * Set the service-id for the call.
       
   613         * @since S60 3.2
       
   614         * @param TUint32 Service-id
       
   615         * @return none
       
   616         */
       
   617         virtual void SetServiceId( const TInt aCallId, TUint32 aServiceId ) = 0;
       
   618         
       
   619         /**
       
   620         * Sets predefined dtmf strings
       
   621         * @param aArray, is reference to string array
       
   622         * @param aCallId, is the call identification number
       
   623         */
       
   624         virtual void SetPredefinedDtmfStrings(
       
   625             const CDesCArray& aArray, 
       
   626             const TInt aCallId ) = 0;
       
   627 
       
   628          /**
       
   629          * ResumeHeldCall
       
   630          * @param aCallId is the call identification number.
       
   631          * @return TBool.
       
   632          */
       
   633          virtual TBool ResumeHeldCall( const TInt aCallId ) const = 0;
       
   634         
       
   635          /**
       
   636          * Resets TPECallInfo parameters.
       
   637          * @param aCallId is the Call identification number.
       
   638          * @return None.
       
   639          */
       
   640          virtual void ResetCallInfo( const TInt aCallId ) = 0;
       
   641 
       
   642          /**
       
   643          * Sets Barring information to TPEGsmBasicInfo-structure
       
   644          * @param aBarringInfo includes call Barring information
       
   645          * @return
       
   646          */
       
   647          virtual void SetBarringInfo( const TPEBarringInfo& aBarringInfo ) = 0;
       
   648          
       
   649          /**
       
   650          * Sets Confrence value to TPECallInfo-structure
       
   651          * @param aCallConference informs is the call a member of conference call.
       
   652          * @param aCallId is the Call identification number.
       
   653          * @return None.
       
   654          */
       
   655          virtual void SetCallConference( const TInt aCallConference, const TInt aCallId ) = 0;
       
   656          
       
   657          /**
       
   658          * Sets Call control caps to TPECallInfo-structure
       
   659          * @param aCallControlCaps the value of the call control caps
       
   660          * @param aCallId is the Call identification number.
       
   661          * @return None.
       
   662          */
       
   663          virtual void SetCallControlCaps( 
       
   664              const TPECallControlCaps& aCallControlCaps, 
       
   665              const TInt aCallId ) = 0;        
       
   666          
       
   667          /**
       
   668          * Sets forwarded value to TPECallInfo-structure
       
   669          * @param aForwarded Indicates if incoming call was forwarded
       
   670          * @param aCallId is the Call identification number.
       
   671          * @return None.
       
   672          */
       
   673          virtual void SetCallForwarded( const TBool aCallForwarded, const TInt aCallId ) = 0;
       
   674 
       
   675          /**
       
   676          * Sets Call service to TPECallInfo-structure
       
   677          * @param aCallService is the Call service value.
       
   678          * @param aCallId is the Call identification number.
       
   679          * @return None.
       
   680          */
       
   681          virtual void SetCallService( 
       
   682              const RMobilePhone::TMobileService& aCallService, 
       
   683              const TInt aCallId ) = 0;
       
   684          
       
   685       
       
   686          /**
       
   687          * Sets Conference capabilities to TPECallInfo structure.
       
   688          * @param aCaps, conference capabilities
       
   689          * @param aCallId is the Call identification number.
       
   690          * @return None.
       
   691          */
       
   692          virtual void SetConferenceCallCaps( const TUint32 aCaps, const TInt aCallId ) = 0;        
       
   693          
       
   694          /**
       
   695          * Sets added or removed members TName information to TPECallInfo structure
       
   696          * @param aName is the TName information of added or removed member.
       
   697          * @param aCallId is the Call identification number.
       
   698          * @return None.
       
   699          */
       
   700          virtual void SetConferenceMemberInfo( 
       
   701              const TName& aConferenceMemberName, 
       
   702              const TInt aConferenceMemberCallId, 
       
   703              const TInt aCallId ) = 0;
       
   704 
       
   705          /**
       
   706          * Sets deflect information to the TPEGsmBasicInfo structure.
       
   707          * @param aActiveForward is the active forward information.
       
   708          * @return None.
       
   709          */
       
   710          virtual void SetDeflectInfo( const TPEActiveForwardInfo& aActiveForward ) = 0;    
       
   711 
       
   712          /**
       
   713          * Set iResumeHeldCall value to TPEGsmCallInfo structure
       
   714          * @param aResumeHeldCall
       
   715          * @param aCallId is the Call identification number.
       
   716          * @return None.
       
   717          */
       
   718          virtual void SetResumeHeldCall( 
       
   719              const TBool aResumeHeldCall, 
       
   720              const TInt aCallId ) = 0;
       
   721      
       
   722          /**
       
   723          * Sets the number of conference members to TPEGsmCallInfo structure
       
   724          * @param aNumberOfMembers, number of conference members
       
   725          * @param aCallId is the Call identification number.
       
   726          * @return None.
       
   727          */
       
   728          virtual void SetNumberOfConferenceMembers( 
       
   729              const TInt aNumberOfMembers, 
       
   730              const TInt aCallId ) = 0;
       
   731 
       
   732          /**
       
   733          * Set remote end connected phone number
       
   734          * @param aColpNumber phone number
       
   735          * @param aCallId, is the call identification number.
       
   736          */
       
   737          virtual void SetRemoteColpNumber(
       
   738              TPEPhoneNumber& aColpNumber, 
       
   739              const TInt aCallId ) = 0;
       
   740 
       
   741          /**
       
   742          * Sets Sim state to TPEGsmBasicInfo-structure
       
   743          * @param aSimState is the Sim state
       
   744          * @return None.
       
   745          */
       
   746          virtual void SetSimState( const TPESimState& aSimState ) = 0;
       
   747 
       
   748          /**
       
   749          * Sets Suplementary Services command information to TPESSCommandInfo-structure
       
   750          * @param aSSCommandInfo includes Suplementary Services command information.  
       
   751          * @return None.
       
   752          */
       
   753          virtual void SetSSCommandInfo( const TPESSCommandInfo& aSSCommandInfo ) = 0;
       
   754 
       
   755         /**
       
   756          * Sets user to user information.
       
   757          * @since S60 5.0
       
   758          * @param aUUI User to user info.
       
   759          */
       
   760         virtual void SetUserToUserInformation( const TPEUserToUserInfo& aUUI ) = 0;
       
   761                 
       
   762         /**
       
   763          * Sets remote party name given by network to TPECallInfo structure.
       
   764          * @param aName Remote party name.
       
   765          */
       
   766         virtual void SetRemotePartyName( 
       
   767             const TPEContactName& aName, 
       
   768             const TInt aCallId ) = 0;
       
   769 
       
   770         /**
       
   771          * Sets secure specified status.
       
   772          * @param aSecureSpecified Secure specified status.
       
   773          */
       
   774         virtual void SetSecureSpecified( const TBool aSecureSpecified ) = 0;
       
   775         
       
   776         /**
       
   777         * Gets call parameters
       
   778         * @return None.
       
   779         */
       
   780         virtual CCCECallParameters& CallParameters() = 0;
       
   781         
       
   782         /**
       
   783         * Sets switch to  number to TPECallCommandInfo-structure
       
   784         * @param aPhoneNumber is the phone number
       
   785         */
       
   786         virtual void SetSwitchToNumberCommand( const TPEPhoneNumber& aPhoneNumber ) = 0;
       
   787         
       
   788         /**
       
   789         * Gets switch to number
       
   790         * @return Reference to TPEPhoneNumber, containing the phone number.
       
   791         */
       
   792         virtual const TPEPhoneNumber& SwitchToNumberCommand() const = 0;
       
   793         
       
   794         /**
       
   795         * Sets switch to operation status.
       
   796         * @param aValue switch to operation status.
       
   797         */
       
   798         virtual void SetIsSwitchToOperationOngoing( const TBool aValue ) = 0;
       
   799         
       
   800         /**
       
   801          * Sets call index of a call.
       
   802          * @param aCallIndex Call index
       
   803          * @param aCallId call identification
       
   804          */
       
   805         virtual void SetCallIndex( TInt aCallIndex, TInt aCallId ) = 0;
       
   806         
       
   807         /**
       
   808          * Gets call index of a call.
       
   809          * @param aCallId Call identification
       
   810          * @return Call index of a call.
       
   811          */
       
   812         virtual TInt CallIndex( TInt aCallId ) const = 0;
       
   813         
       
   814         /**
       
   815          * Sets call origin for the call
       
   816          * @param aOrigin indicates if the call is phone, client or SAT originated
       
   817          */
       
   818         virtual void SetCallOrigin( TPECallOrigin aOrigin, TInt aCallId ) = 0;
       
   819 
       
   820     };
       
   821 
       
   822 #endif      //MPEDATASTORE_H
       
   823