phoneengine/engineinfo/src/cpecallinfo.cpp
changeset 0 5f000ab63145
child 7 544e34b3255a
--- /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