phoneengine/engineinfo/inc/mpeengineinfo.h
changeset 0 5f000ab63145
child 19 544e34b3255a
child 21 92ab7f8d0eab
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/engineinfo/inc/mpeengineinfo.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,706 @@
+/*
+* 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:  Interface class for MPEEngineInfo of the PhoneEngine
+*
+*/
+
+
+
+#ifndef MPEENGINEINFO_H
+#define MPEENGINEINFO_H
+
+//  INCLUDES
+#include <pevirtualengine.h>
+
+// CONSTANTS
+// None
+
+// FORWARD DECLARATIONS
+class MPEClientInformation;
+
+// DATA TYPES
+// None
+
+// CLASS DECLARATION
+
+/**
+*  Offers engine info interface to phone application
+*
+*  @lib phoneengine.lib
+*  @since Series 60 4.0
+*/
+NONSHARABLE_CLASS( MPEEngineInfo )
+    {
+
+    public:
+        /**
+        * Gets active als line of the phone from TPEBasicInfo-structure
+        * @return active als line of the phone
+        */
+        virtual const CCCECallParameters::TCCELineType& ALSLine() const = 0;
+            
+        /**
+        * Gets ALS support of the phone from TPEBasicInfo-structure
+        * @return ETrue if als is supported.
+        */
+        virtual const TBool& ALSLineSupport() const = 0;
+
+        /**
+        * Gets group ids which are active to play ring tone
+        * @return contact group id
+        */
+        virtual const TArray< TContactItemId > AlertForGroup() const = 0;
+    
+        /**
+        * Gets audio mute value
+        * @return audio mute value
+        */
+        virtual const TBool& AudioMute() const = 0;
+
+        /**
+        * Gets audio volume value
+        * @return audio volume value
+        */
+        virtual const TInt& AudioVolume() const = 0;
+        
+        /**
+        * Gets current audio output path
+        * @return audio output path
+        */
+        virtual const TPEAudioOutput& AudioOutput() const = 0;
+        
+        /**
+        * Gets phone audio route parameters
+        * @return phone audio route parameters. 
+        */
+        virtual const TPEPhoneAudioRouteParameters& RouteParameters() const = 0;  
+  
+        /**
+        * Gets audio output path availability
+        * @return audio output path availability status
+        */
+        virtual TBool AudioOutputAvailable( 
+            const TPEAudioOutput aOutput ) const = 0;
+
+        /**
+        * Gets line information for the specified call
+        * @param aCallId is the call identification number
+        * @return line information for the specified call
+        */
+        virtual CCCECallParameters::TCCELineType CallALSLine( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets phone client information of the specified call
+        * @param aCallId is the call identification number
+        * @return client information of the specified call
+        */
+        virtual const MPEClientInformation& CallClientInformation( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets call direction of the specified call
+        * @param aCallId is the call identification number
+        * @return call direction of the specified call
+        */
+        virtual RMobileCall::TMobileCallDirection CallDirection( 
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets duration of the last call to go idle
+        * @return call duration of the last active call
+        */
+        virtual const TInt& CallDuration() const = 0;
+
+        /**
+        * Gets call duration of the ongoing or last active call with specified id
+        * @param aCallId is the call identification number
+        * @return call duration of the ongoing or last active call
+        */
+        virtual TTimeIntervalSeconds CallDuration( const TInt aCallId ) const = 0;
+
+        /**
+        * Get caller image
+        * @param aCallId is the call identification number.
+        * @return caller image
+        */
+        virtual const TPtrC CallerImage( const TInt aCallId ) const = 0;
+
+        /**
+        * Get caller text
+        * @param aCallId is the call identification number.
+        * @return caller text
+        */
+        virtual const TPtrC CallerText( const TInt aCallId ) const = 0;
+
+        /**
+        * Get caller thumbnail
+        * @param aCallId is the call identification number.
+        * @return pointer to thumbnail data
+        */
+        virtual CFbsBitmap* CallerThumbnail(
+            const TInt aCallId ) const = 0;
+        
+        /**
+        * Get caller thumbnail status
+        * @return ETrue if has thumbnail, otherwise EFalse.
+        */
+        virtual TBool HasCallerThumbnail( const TInt aCallId  ) const = 0;
+
+        /**
+        * Gets identification number of a call
+        *
+        * This value is used for determining the target for a command message
+        * that requires such information
+        * @return identification number of a call
+        */
+        virtual const TInt& CallId() const = 0;
+
+        /**
+        * Gets start time of the call
+        * @param aCallTime is the start time of the call
+        * @param aCallId is the call identification number
+        * @return None.
+        */
+        virtual const TTime& CallStartTime( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets call state of a specified call
+        * @param aCallId is the call identification number
+        * @return call state of a specified call
+        */
+        virtual TPEState CallState( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets type of the specified call
+        * @param aCallId is the call identification number.
+        * @return call type of a specified call
+        */
+        virtual TPECallType CallType( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets last set call type information
+        * @return call type information
+        */
+        virtual const TPECallType& CallTypeCommand() const = 0;
+
+        /**
+        * Gets secure status from call info
+        * @return TBool the secure status (on/off)
+        */
+        virtual TBool IsSecureCall( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets call state of a conference call
+        * @return call state
+        */
+        virtual TPEState ConferenceCallState() const = 0;
+
+        /**
+        * Get user group ids this contact is assigned to
+        * @param aCallId is the call identification number.
+        * @return array for group ids
+        */
+        virtual const TArray< TContactItemId > ContactGroups(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Get remote contact link packet. See virtual phonebook API.
+        * @param aCallId is the call identification number.
+        * @return Virtual phonebook contact link packet.
+        */
+        virtual const TDesC8& ContactLink( const TInt aCallId ) const = 0;
+        
+        /**
+        * Gets the name of data port currently on-loan.
+        * Data port loaning is handled by CSPlugin and happens when a data
+        * call goes into connected state. The dataport is released when VT components
+        * indicate it can be released, i.e. video call hangup.
+        * @return data port name
+        */
+        virtual const TName& DataPortName() const = 0;
+
+        /**
+        * Gets dtmf string
+        * @return dtmf string
+        */
+        virtual const TPEDtmfString& DtmfString() const = 0;
+
+        /**
+        * Gets error code and cause values for the latest error
+        * @return error code and cause values for the latest error
+        */
+        virtual const TPEErrorInfo& ErrorInfo() const = 0;
+
+        /**
+        * Gets key code of the last key press
+        * @return key code of the last key press
+        */
+        virtual const TChar& KeyCode() const = 0;
+
+        /**
+        * Gets keypad volume value
+        * @return keypad volume value
+        */
+        virtual const TInt& KeypadVolume() const = 0;
+
+        /**
+        * Gets lifetimer data
+        * @return lifetime data (TDes8&)
+        */
+        virtual const TPELifeTimeData& LifeTimerData() const = 0;
+
+        /**
+        * Gets a logging indicator
+        * @param aCallId, call identification number     
+        * @return continuous logging indicator
+        */
+        virtual TBool LoggingIndicator( const TInt aCallId ) const = 0;
+
+        /**
+        * Get missed call indicator
+        * @param aCallId, call identification number
+        * @return missed call indicator
+        */
+        virtual TBool MissedCall( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets network registration status
+        * @return TNWNetworkRegistrationStatus Network registration status
+        */
+        virtual const TNWNetworkRegistrationStatus& NetworkRegistrationStatus() const = 0;
+
+        /**
+        * Get ringing tone
+        * Returns a ringing tone defined for one of the user groups
+        * if personal tone is not found
+        * @param aCallId, call identification number
+        * @return ringing tone file path
+        */
+        virtual const TPEContactFileName& PersonalRingingTone(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets personal tone status
+        * @return personal tone status
+        */
+        virtual const TBool& PersonalToneStatus() const = 0;
+
+        /**
+        * Gets phone identity parameters
+        * @return phone identity parameters. 
+        */
+        virtual const TPEPhoneIdentityParameters& PhoneIdentityParameters() const = 0;
+
+        /**
+        * Gets phone number
+        * @return Reference to TPEPhoneNumber, containing the phone number of the remote party.
+        */
+        virtual const TPEPhoneNumber& PhoneNumber() const = 0;
+
+        /**
+        * Gets phone number parsing result
+        * @return ETrue if phone number is a service code
+        */
+        virtual const TBool& PhoneNumberIsServiceCode() const = 0;
+
+        /**
+        * Gets profile id
+        * @return profile id
+        */
+        virtual const TInt& ProfileId() const = 0;
+
+        /**
+        * Gets profile name
+        * @return profile name.  
+        */
+        virtual const TPEProfileName& ProfileName() const = 0;
+
+        /**
+        * Gets contact company name
+        * @param aCallId, call identification number
+        * @return company name
+        */
+        virtual const TPEContactCompany& RemoteCompanyName(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets remote party identity 
+        * @param aCallId is the Call identification number
+        * @return remote party identity
+        */
+        virtual RMobileCall::TMobileCallRemoteIdentityStatus RemoteIdentity ( 
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets contact name
+        * Depending on user selected language may be in order:
+        * first + last name OR last + first name
+        * @param aCallId, call identification number
+        * @return contact name
+        */
+        virtual const TPEContactName& RemoteName( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets remote end phone number
+        * @param aCallId, call identification number
+        * @return phone number
+        */
+        virtual const TPEPhoneNumber& RemotePhoneNumber(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets remote end phone number type
+        * @param aCallId, call identification number
+        * @return phone number type
+        */
+        virtual const TPEPhoneNumberIdType& RemotePhoneNumberType(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets text to speech text for this contact. Used in
+        * text to speech ringing tone.
+        * @param aCallId, call identification number
+        * @return descriptor, ownership passed.
+        */
+        virtual const TPtrC RemoteTextToSpeechText(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets remote predefined dtmf strings
+        * @param aCallId, call identification number
+        * @return reference to string array
+        */
+        virtual const CDesCArray&  RemotePredefinedDtmfStrings(
+            const TInt aCallId ) const = 0;                 
+ 
+        /**
+        * Gets ringing type
+        * @return ringing type
+        */
+        virtual const TProfileRingingType& RingingType() const = 0; 
+
+        /**
+        * Gets ringing tone name
+        * @param aCallId, call identification number 
+        * @return name of the current ringing tone
+        */
+        virtual const TPEContactFileName& RingingTone( const TInt& aCallId ) const = 0;
+        
+        /**
+        * Gets current ringing volume
+        * @return the current ringing volume
+        */
+        virtual const TInt& RingingVolume() const = 0;       
+
+        /**
+        * Gets text-to-speech preference setting value
+        * @return text-to-speech status (EFalse/ETrue)
+        */
+        virtual const TBool& TextToSpeech() const = 0;
+
+        /**
+        * Gets VoiceMailBoxNumber for Line 1 information from TPEBasicInfo-structure
+        * @return line 1 VoiceMailBoxNumber information
+        */
+        virtual const TPEPhoneNumber& VoiceMailBoxNumberLine1() const = 0;
+
+        /**
+        * Gets VoiceMailBoxNumber for Line 2 information from TPEBasicInfo-structure
+        * @return line 2 VoiceMailBoxNumber information
+        */
+        virtual const TPEPhoneNumber& VoiceMailBoxNumberLine2() const = 0;
+
+        /**
+        * Sets audio mute command to TPEBasicInfo-structure
+        * @param aAudioMute is audio mute
+        * @return None.
+        */
+        virtual void SetAudioMuteCommand( const TInt& aAudioMute ) = 0;
+        
+        /**
+        * Sets audio output command to TPEBasicInfo-structure
+        * @param aOutput is audio output path
+        * @param aShowNote is audio note value
+        * @return None.
+        */
+        virtual void SetAudioOutputCommand( 
+            const TPEAudioOutput& aOutput,
+            const TBool aShowNote  ) = 0;
+
+        /**
+        * Sets audio volume command to TPEBasicInfo-structure
+        * @param aAudioVolume is audio volume
+        * @return None.
+        */
+        virtual void SetAudioVolumeCommand( const TInt& aAudioVolume ) = 0;
+        
+        /**
+        * Sets CallId value to TPECallCommandInfo-structure
+        * @param aCallId is the call id number.
+        * @return None.
+        */
+        virtual void SetCallId( const TInt& aCallId ) = 0;
+
+        /**
+        * Sets call type information for following command message
+        * Used for specifying the call type of the next attempted call
+        * @param aCallType is the call type of the next attempted call
+        */
+        virtual void SetCallTypeCommand( const TPECallType& aCallType ) =  0;
+
+        /**
+        * Sets dtmf string value to TPEBasicInfo-structure
+        * @param aDtmfString is the dtmf string to be sent. 
+        * @return None.
+        */
+        virtual void SetDtmfStringCommand( const TPEDtmfString& aDtmfString ) = 0;
+
+        /**
+        * Sets key code value to TPEBasicInfo-structure
+        * @param aKeyCode is the key code value.
+        * @return None.
+        */
+        virtual void SetKeyCode( const TChar& aKeyCode ) = 0; 
+
+        /**
+        * Sets phone number to TPECallCommandInfo-structure
+        * @param aPhoneNumber is the phone number
+        * @return None.
+        */
+        virtual void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber ) = 0;
+
+        /**
+        * Gets two digit support status value
+        * @return two digit support status (EFalse/ETrue)
+        */
+        virtual const TBool& TwoDigitSupportStatus() const = 0;
+     
+        /**
+        * Returns the service-id used for the command.
+        * @return TUint32 ServiceId
+        */
+        virtual TUint32 ServiceIdCommand() const = 0;
+        
+        /**
+        * SetServiceIdCommand
+        * @return None
+        */
+        virtual void SetServiceIdCommand( TUint32 aServiceId ) = 0;
+        
+        /**
+        * Gets ServiceId
+        * @return ServiceId
+        */
+        virtual TUint32 ServiceId( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets active forwarding information from TPEBasicInfo-structure
+        * @return deflect information
+        */
+        virtual const TPEActiveForwardInfo& ActiveForwardingInfo() const = 0;
+
+        /**
+        * Gets barring information from TPEBasicInfo-structure
+        * @return barring information
+        */
+        virtual const TPEBarringInfo& BarringInfo() const = 0;
+
+        /**
+        * Gets conference value from TPECallInfo-structure
+        * @param aCallId is the call identification number
+        * @return call conference value
+        */
+        virtual TInt CallConference( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets call control caps from the TPECallInfo-structure
+        * @param aCallId is the call identification number
+        * @return call control capabilities
+        */
+        virtual TPECallControlCaps CallControlCaps( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets forwarded value from TPECallInfo-structure
+        * @param aCallId is the call identification number
+        * @return is call forwarded or not
+        */
+        virtual TBool CallForwarded( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets Service information from TPECallInfo-structure
+        * @param aCallId is the call identification number.
+        * @return mobile call service type
+        */
+        virtual RMobilePhone::TMobileService CallService( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets Conference call capabilities
+        * @param aCallId is the call identification number
+        * @return conference call capabilities
+        */
+        virtual TUint32 ConferenceCallCaps( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets Conference call capabilities
+        * @param aCallId is the call identification number
+        * @return conference call member name
+        */
+        virtual const TName& ConferenceMemberName( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets Conference call capabilities
+        * @param aCallId is the call identification number
+        * @return conference call member id
+        */
+        virtual TInt IsConferenceMemberId( const TInt aCallId ) const = 0;
+
+        /**
+        * Gets emergency number to be checked for validity
+        * @return emergency number to be checked for validity
+        */
+        virtual const TPEPhoneNumber& EmergencyNumber() const = 0;
+
+        /**
+        * Gets number of the conference members
+        * @param aCallId is the call identification number
+        * @return number of conference members
+        */
+        virtual TInt NumberOfConferenceMembers( const TInt aCallId ) const = 0;
+
+        /**
+        * Get remote end connected phone number
+        * @param aCallId, call identification number
+        * @return phone number
+        */
+        virtual const TPEPhoneNumber& RemoteColpNumber(
+            const TInt aCallId ) const = 0;
+
+        /**
+        * Gets Sim state
+        * @return current Sim state
+        */
+        virtual const TPESimState& SimState() const = 0;
+
+        /**
+         * Gets secure specified status
+         * @return ETrue if secure specified
+         */
+        virtual TBool SecureSpecified( ) const = 0;        
+        
+        /**
+        * Gets the last suplementary services string command information
+        * @return Suplementary Services command information.  
+        */
+        virtual const TPESSCommandInfo& SSCommandInfo() const = 0;
+    
+        /**
+        * Sets emergency numbers of the phone to TPEBasicInfo-structure
+        * @param aEmergencyNumber for emergency number checking.
+        * @return None.
+        */
+        virtual void SetEmergencyNumber( const TPEPhoneNumber& aEmergencyNumbers ) = 0;
+        
+        /**
+         * Gets remote party name. Contains possible recieved CNAP name or 
+         *  received skype identification
+         * @param aCallId, Call identification number.
+         * @return Name of the remote party detemined by network.
+         */
+        virtual const TPEContactName& RemotePartyName( const TInt aCallId ) const = 0;
+        
+        /**
+         * Returns transfer target from the last received unattended transfer 
+         * request or KNullDesC if transfer target is not available.
+         * 
+         * @return  Transfer target.
+         */
+        virtual const TPEPhoneNumber& UnattendedTransferTarget( 
+            TInt aCallId ) const = 0;
+        
+        /**
+         * Sets transfer target from the last received unattended transfer request.
+         *
+         * @param   aTarget     Transfer target to set.
+         * @param   aCallId     Call identification number.
+         */
+        virtual void SetUnattendedTransferTarget( 
+            const TPEPhoneNumber& aTarget, TInt aCallId ) = 0;
+
+        /**
+         * Returns address choices from received call forward request 
+         * or NULL if addresses are not available.
+         * 
+		 * @param   aCallId     Call identification number.
+         * @return  Address array.
+         */
+        virtual const CDesC8Array* ForwardAddressChoices( TInt aCallId ) const = 0;
+        
+        /**
+         * Sets address choices from received call forward request.
+         *
+         * @param   aArray      Address array.
+         * @param   aCallId     Call identification number.
+         */
+        virtual void SetForwardAddressChoices( const CDesC8Array* aArray,
+            TInt aCallId ) = 0;
+            
+        /**
+         * Sets array index for user selected address.
+         *
+         * @param   aIndex     Array index for selected address.
+         */
+        virtual void SetForwardAddressIndex( TInt aIndex ) = 0;
+        
+        /**
+         * Returns array index for user selected address.
+         * Address is used for call forwarding.
+         *
+         * @return Array index for selected address.
+         */
+        virtual TInt ForwardAddressIndex() = 0;
+
+        /**
+         * Sets transfer target address for unattended transfer
+         * @param aTransferTarget Target address for unattended transfer
+         */
+        virtual void SetTransferTargetCommand( const TPEPhoneNumber& aTransferTarget ) = 0;
+
+        /**
+        * Returns transfer target address
+        * @return Transfer target address set with SetTransferTargetCommand
+        */
+        virtual const TPEPhoneNumber& TransferTargetCommand() const = 0;
+        
+        /**
+        * Returns switch to operation status.
+        */
+        virtual TBool IsSwitchToOperationOngoing() const = 0;
+        
+		/**
+        * Checks if given state can be found.
+		* @param aCallState state to be checked.
+        */
+        virtual TBool CheckIfCallStateExists( const TPEState& aCallState )= 0;
+        
+        /**
+         * Returns call origin for the call
+         * @param aOrigin indicates if the call is phone, client or SAT originated
+         */
+        virtual TPECallOrigin CallOrigin( const TInt aCallId ) const = 0;
+        
+    }; // MPEEngineInfo
+    
+#endif      //MPEENGINEINFO_H
+    
+// End of File
+