diff -r 000000000000 -r 5f000ab63145 phoneengine/engineinfo/src/cpecallinfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneengine/engineinfo/src/cpecallinfo.cpp Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,654 @@ +/* +* Copyright (c) 2008-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: Information container for a single call +* +*/ + +#include "cpecallinfo.h" +#include "cpeclientinformation.h" + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CPECallInfo* CPECallInfo::NewL() + { + CPECallInfo* self = new ( ELeave ) CPECallInfo; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// Constructor. +// --------------------------------------------------------------------------- +// +CPECallInfo::CPECallInfo() + { + Reset( EFalse ); + } + +// --------------------------------------------------------------------------- +// Second-phase constructor. +// --------------------------------------------------------------------------- +// +void CPECallInfo::ConstructL() + { + iClientInformation = CPEClientInformation::NewL(); + } + +// --------------------------------------------------------------------------- +// Destructor. +// --------------------------------------------------------------------------- +// +CPECallInfo::~CPECallInfo() + { + delete iClientInformation; + } + +// --------------------------------------------------------------------------- +// Resets all call information to their initial values. +// --------------------------------------------------------------------------- +// +void CPECallInfo::Reset( TBool aIsConference ) + { + if ( iClientInformation ) + { + iClientInformation->Reset(); + } + + if ( aIsConference ) + { + iCallState = EPEStateConferenceIdle; + iConference = KPEConferenceMaster; + } + else + { + iCallState = EPEStateIdle; + iConference = KPENormalVoiceCall; + } + + _LIT( dateTimeInit, "0,0,0,0,0,0,0" ); + iStartTime.Set( dateTimeInit ); + + iCallType = EPECallTypeUninitialized; + iCallDirection = RMobileCall::EDirectionUnknown; + iRemoteIdentity = RMobileCall::ERemoteIdentityUnknown; + iLoggingEnabled = ETrue; + iMissedCall = EFalse; + iALSLine = CCCECallParameters::ECCELineTypePrimary; + iLogForcedCompletion = EFalse; + iWholeOutgoingPhoneNumber = KNullDesC; + iCallServiceId = 0; + iSecureStatus = EFalse; + iResumeHeldCall = ETrue; + iForwarded = EFalse; + iService = RMobilePhone::EServiceUnspecified; + iConferenceCaps = 0; + iConferenceMemberName = KNullDesC; + iConferenceMemberId = KPECallIdNotUsed; + iNumberOfConferenceMembers = 0; + iRemotePartyName = KNullDesC; + iSecureSpecified = ETrue; + iTransferTarget = KNullDesC; + iDtmfPostFix = KNullDesC; + iForwardAddressChoices = NULL; + iCallIndex = KPEInvalidCallIndex; + } + +// --------------------------------------------------------------------------- +// Returns the client information of the call. +// --------------------------------------------------------------------------- +// +CPEClientInformation& CPECallInfo::ClientInformation() + { + return *iClientInformation; + } + +// --------------------------------------------------------------------------- +// Sets the state of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallState( TPEState aState ) + { + iCallState = aState; + } + +// --------------------------------------------------------------------------- +// Returns the state of the call. +// --------------------------------------------------------------------------- +// +TPEState CPECallInfo::CallState() const + { + return iCallState; + } + +// --------------------------------------------------------------------------- +// Sets the type of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallType( TPECallType aType ) + { + iCallType = aType; + } + +// --------------------------------------------------------------------------- +// Returns the type of the call. +// --------------------------------------------------------------------------- +// +TPECallType CPECallInfo::CallType() const + { + return iCallType; + } + +// --------------------------------------------------------------------------- +// Sets the call control capabilites. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallControlCaps( TPECallControlCaps aCaps ) + { + iCallControlCaps = aCaps; + } + +// --------------------------------------------------------------------------- +// Returns the call control capabilities. +// --------------------------------------------------------------------------- +// +TPECallControlCaps CPECallInfo::CallControlCaps() const + { + return iCallControlCaps; + } + +// --------------------------------------------------------------------------- +// Sets the remote party name of the call as given by the network. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetRemotePartyName( const TPEContactName& aName ) + { + iRemotePartyName = aName; + } + +// --------------------------------------------------------------------------- +// Returns the remote party name of the call as given by the network. +// --------------------------------------------------------------------------- +// +const TPEContactName& CPECallInfo::RemotePartyName() const + { + return iRemotePartyName; + } + +// --------------------------------------------------------------------------- +// Sets the whole outgoing phone number (invalid characters removed). +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetWholeOutgoingPhoneNumber( const TPEPhoneNumber& aNumber ) + { + iWholeOutgoingPhoneNumber = aNumber; + } + +// --------------------------------------------------------------------------- +// Returns the whole outgoing phone number (invalid characters removed). +// --------------------------------------------------------------------------- +// +const TPEPhoneNumber& CPECallInfo::WholeOutgoingPhoneNumber() const + { + return iWholeOutgoingPhoneNumber; + } + +// --------------------------------------------------------------------------- +// Sets the ALS line type of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetAlsLine( CCCECallParameters::TCCELineType aAlsLine ) + { + iALSLine = aAlsLine; + } + +// --------------------------------------------------------------------------- +// Returns the ALS line type of the call. +// --------------------------------------------------------------------------- +// +CCCECallParameters::TCCELineType CPECallInfo::AlsLine() const + { + return iALSLine; + } + +// --------------------------------------------------------------------------- +// Sets the remote identity status of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetRemoteIdentity( RMobileCall::TMobileCallRemoteIdentityStatus aIdentity ) + { + iRemoteIdentity = aIdentity; + } + +// --------------------------------------------------------------------------- +// Returns the remote identity status of the call. +// --------------------------------------------------------------------------- +// +RMobileCall::TMobileCallRemoteIdentityStatus CPECallInfo::RemoteIdentity() const + { + return iRemoteIdentity; + } + +// --------------------------------------------------------------------------- +// Sets the direction of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallDirection( RMobileCall::TMobileCallDirection aDirection ) + { + iCallDirection = aDirection; + } + +// --------------------------------------------------------------------------- +// Returns the direction of the call. +// --------------------------------------------------------------------------- +// +RMobileCall::TMobileCallDirection CPECallInfo::CallDirection() const + { + return iCallDirection; + } + +// --------------------------------------------------------------------------- +// Sets the mobile call service type of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetService( RMobilePhone::TMobileService aService ) + { + iService = aService; + } + +// --------------------------------------------------------------------------- +// Returns the mobile call service type of the call. +// --------------------------------------------------------------------------- +// +RMobilePhone::TMobileService CPECallInfo::Service() const + { + return iService; + } + +// --------------------------------------------------------------------------- +// Sets the conference member name of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetConferenceMemberName( const TName& aName ) + { + iConferenceMemberName = aName; + } + +// --------------------------------------------------------------------------- +// Returns the conference member name of the call. +// --------------------------------------------------------------------------- +// +const TName& CPECallInfo::ConferenceMemberName() const + { + return iConferenceMemberName; + } + +// --------------------------------------------------------------------------- +// Sets the call start time. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetStartTime( const TTime& aTime ) + { + iStartTime = aTime; + } + +// --------------------------------------------------------------------------- +// Returns the start time of the call. +// --------------------------------------------------------------------------- +// +const TTime& CPECallInfo::StartTime() const + { + return iStartTime; + } + +// --------------------------------------------------------------------------- +// Sets the duration of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetDuration( TTimeIntervalSeconds aDuration ) + { + iDuration = aDuration; + } + +// --------------------------------------------------------------------------- +// Returns the duration of the call. +// --------------------------------------------------------------------------- +// +TTimeIntervalSeconds CPECallInfo::Duration() const + { + return iDuration; + } + +// --------------------------------------------------------------------------- +// Sets the service identifier of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallServiceId( TUint32 aId ) + { + iCallServiceId = aId; + } + +// --------------------------------------------------------------------------- +// Returns the service identifier of the call. +// --------------------------------------------------------------------------- +// +TUint32 CPECallInfo::CallServiceId() const + { + return iCallServiceId; + } + +// --------------------------------------------------------------------------- +// Sets conference capabilities of the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetConferenceCaps( TUint32 aCaps ) + { + iConferenceCaps = aCaps; + } + +// --------------------------------------------------------------------------- +// Returns the conference capabilities of the call. +// --------------------------------------------------------------------------- +// +TUint32 CPECallInfo::ConferenceCaps() const + { + return iConferenceCaps; + } + +// --------------------------------------------------------------------------- +// Sets the identification number of the conference master. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetConference( TInt aConference ) + { + iConference = aConference; + } + +// --------------------------------------------------------------------------- +// Returns the identification number of the conference master. +// --------------------------------------------------------------------------- +// +TInt CPECallInfo::Conference() const + { + return iConference; + } + +// --------------------------------------------------------------------------- +// Sets the identifier of the conference member call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetConferenceMemberId( TInt aId ) + { + iConferenceMemberId = aId; + } + +// --------------------------------------------------------------------------- +// Returns the identifier of the conference member call. +// --------------------------------------------------------------------------- +// +TInt CPECallInfo::ConferenceMemberId() + { + return iConferenceMemberId; + } + +// --------------------------------------------------------------------------- +// Sets the number of conference members. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetNumberOfConferenceMembers( TInt aNumberOfConferenceMembers ) + { + iNumberOfConferenceMembers = aNumberOfConferenceMembers; + } + +// --------------------------------------------------------------------------- +// Returns the number of conference members. +// --------------------------------------------------------------------------- +// +TInt CPECallInfo::NumberOfConferenceMembers() const + { + return iNumberOfConferenceMembers; + } + +// --------------------------------------------------------------------------- +// Sets the forced completion indicator for logging. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetLogForcedCompletion( TBool aLog ) + { + iLogForcedCompletion = aLog; + } + +// --------------------------------------------------------------------------- +// Returns the flag indicating if forced completion indicator for logging is used. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::LogForcedCompletion() + { + return iLogForcedCompletion; + } + +// --------------------------------------------------------------------------- +// Enables or disables logging for the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetLoggingEnabled( TBool aEnabled ) + { + iLoggingEnabled = aEnabled; + } + +// --------------------------------------------------------------------------- +// Returns if logging is enabled for the call. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::LoggingEnabled() const + { + return iLoggingEnabled; + } + +// --------------------------------------------------------------------------- +// Sets the missed call status for the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetMissedCall( TBool aMissedCall ) + { + iMissedCall = aMissedCall; + } + +// --------------------------------------------------------------------------- +// Returns the missed call status for the call. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::MissedCall() const + { + return iMissedCall; + } + +// --------------------------------------------------------------------------- +// Sets the secure status for the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetSecureStatus( TBool aSecureStatus ) + { + iSecureStatus = aSecureStatus; + } + +// --------------------------------------------------------------------------- +// Returns the secure status of the call. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::SecureStatus() const + { + return iSecureStatus; + } + +// --------------------------------------------------------------------------- +// Sets the forwarded status for the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetForwarded( TBool aForwarded ) + { + iForwarded = aForwarded; + } + +// --------------------------------------------------------------------------- +// Returns the forwarded status of the call. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::Forwarded() const + { + return iForwarded; + } + +// --------------------------------------------------------------------------- +// Sets the resume held call status for the call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetResumeHeldCall( TBool aResume ) + { + iResumeHeldCall = aResume; + } + +// --------------------------------------------------------------------------- +// Returns the resume held call status of the call. +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::ResumeHeldCall() const + { + return iResumeHeldCall; + } + +// --------------------------------------------------------------------------- +// Sets the secure specified status +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetSecureSpecified( TBool aSecureSpecified ) + { + iSecureSpecified = aSecureSpecified; + } + +// --------------------------------------------------------------------------- +// Returns the secure specified status +// --------------------------------------------------------------------------- +// +TBool CPECallInfo::SecureSpecified() const + { + return iSecureSpecified; + } + +// --------------------------------------------------------------------------- +// Returns unattended transfer target. +// --------------------------------------------------------------------------- +// +const TPEPhoneNumber& CPECallInfo::UnattendedTransferTarget() const + { + return iTransferTarget; + } + + +// --------------------------------------------------------------------------- +// Sets unattended transfer target. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetUnattendedTransferTarget( const TPEPhoneNumber& aTarget ) + { + iTransferTarget = aTarget; + } + +// --------------------------------------------------------------------------- +// Returns address array for call forward. +// --------------------------------------------------------------------------- +// +const CDesC8Array* CPECallInfo::ForwardAddressChoices() const + { + return iForwardAddressChoices; + } + + +// --------------------------------------------------------------------------- +// Sets call forward address array. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetForwardAddressChoices( const CDesC8Array* aArray ) + { + iForwardAddressChoices = aArray; + } + +// --------------------------------------------------------------------------- +// Sets array index. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetForwardAddressIndex( TInt aIndex ) + { + iForwardAddressArrayIndex = aIndex; + } + +// --------------------------------------------------------------------------- +// Return dtmf postfix. +// --------------------------------------------------------------------------- +// +const TPEDtmfString& CPECallInfo::DtmfPostFix() const + { + return iDtmfPostFix; + } + +// --------------------------------------------------------------------------- +// Sets dtmf postfix. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetDtmfPostFix( const TPEDtmfString& aDtmfPostFix ) + { + iDtmfPostFix = aDtmfPostFix; + } + +// --------------------------------------------------------------------------- +// Sets call index +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallIndex( TInt aCallIndex ) + { + iCallIndex = aCallIndex; + } + +// --------------------------------------------------------------------------- +// Gets call index +// --------------------------------------------------------------------------- +// +TInt CPECallInfo::CallIndex() const + { + return iCallIndex; + } + +// --------------------------------------------------------------------------- +// Sets the origin of a call. +// --------------------------------------------------------------------------- +// +void CPECallInfo::SetCallOrigin( TPECallOrigin aOrigin ) + { + iCallOrigin = aOrigin; + } + +// --------------------------------------------------------------------------- +// Gets the origin of a call. +// --------------------------------------------------------------------------- +// +TPECallOrigin CPECallInfo::CallOrigin() const + { + return iCallOrigin; + } + + +// End of File