--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/engineinfo/inc/cpecallinfo.h Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,639 @@
+/*
+* 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
+*
+*/
+
+
+#ifndef C_CPECALLINFO_H
+#define C_CPECALLINFO_H
+
+#include <pevirtualengine.h>
+
+class CPEClientInformation;
+
+/**
+ * Information container for a single call.
+ */
+NONSHARABLE_CLASS( CPECallInfo ) : public CBase
+ {
+
+public:
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return The newly created object. Ownership is transferred to the caller.
+ */
+ static CPECallInfo* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CPECallInfo();
+
+ /**
+ * Resets all call information to their initial values.
+ *
+ * @param aIsConference Flag indicating if the call is a conference call.
+ */
+ void Reset( TBool aIsConference );
+
+ /**
+ * Returns the client information of the call.
+ *
+ * @return Client information of the call.
+ */
+ CPEClientInformation& ClientInformation();
+
+ /**
+ * Sets the state of the call.
+ *
+ * @param aState New state of the call.
+ */
+ void SetCallState( TPEState aState );
+
+ /**
+ * Returns the state of the call.
+ *
+ * @return State of the call.
+ */
+ TPEState CallState() const;
+
+ /**
+ * Sets the type of the call.
+ *
+ * @param aType New type of the call.
+ */
+ void SetCallType( TPECallType aType );
+
+ /**
+ * Returns the type of the call.
+ *
+ * @return Type of the call.
+ */
+ TPECallType CallType() const;
+
+ /**
+ * Sets the call control capabilites.
+ *
+ * @param aCaps Call control capabilites to set.
+ */
+ void SetCallControlCaps( TPECallControlCaps aCaps );
+
+ /**
+ * Returns the call control capabilities.
+ *
+ * @return Call control capabilities.
+ */
+ TPECallControlCaps CallControlCaps() const;
+
+ /**
+ * Sets the remote party name of the call as given by the network.
+ *
+ * @param aName Remote party name of the call.
+ */
+ void SetRemotePartyName( const TPEContactName& aName );
+
+ /**
+ * Returns the remote party name of the call as given by the network.
+ *
+ * @return Remote party name of the call.
+ */
+ const TPEContactName& RemotePartyName() const;
+
+ /**
+ * Sets the whole outgoing phone number (invalid characters removed).
+ *
+ * @param aNumber Phone number to set.
+ */
+ void SetWholeOutgoingPhoneNumber( const TPEPhoneNumber& aNumber );
+
+ /**
+ * Returns the whole outgoing phone number (invalid characters removed).
+ *
+ * @return Whole outgoing phone number.
+ */
+ const TPEPhoneNumber& WholeOutgoingPhoneNumber() const;
+
+ /**
+ * Sets the ALS line type of the call.
+ *
+ * @param aAlsLine ALS line type to set.
+ */
+ void SetAlsLine( CCCECallParameters::TCCELineType aAlsLine );
+
+ /**
+ * Returns the ALS line type of the call.
+ *
+ * @return ALS line type of the call.
+ */
+ CCCECallParameters::TCCELineType AlsLine() const;
+
+ /**
+ * Sets the remote identity status of the call.
+ *
+ * @param aIdentity Remote identity status to set.
+ */
+ void SetRemoteIdentity( RMobileCall::TMobileCallRemoteIdentityStatus aIdentity );
+
+ /**
+ * Returns the remote identity status of the call.
+ *
+ * @return Remote identity status of the call.
+ */
+ RMobileCall::TMobileCallRemoteIdentityStatus RemoteIdentity() const;
+
+ /**
+ * Sets the direction of the call.
+ *
+ * @param aDirection Direction to set.
+ */
+ void SetCallDirection( RMobileCall::TMobileCallDirection aDirection );
+
+ /**
+ * Returns the direction of the call.
+ *
+ * @return Direction of the call.
+ */
+ RMobileCall::TMobileCallDirection CallDirection() const;
+
+ /**
+ * Sets the mobile call service type of the call.
+ *
+ * @param aService Mobile call service type to set.
+ */
+ void SetService( RMobilePhone::TMobileService aService );
+
+ /**
+ * Returns the mobile call service type of the call.
+ *
+ * @return Mobile call service type of the call.
+ */
+ RMobilePhone::TMobileService Service() const;
+
+ /**
+ * Sets the conference member name of the call.
+ *
+ * @param aName Conference member name of the call.
+ */
+ void SetConferenceMemberName( const TName& aName );
+
+ /**
+ * Returns the conference member name of the call.
+ *
+ * @return Conference member name of the call.
+ */
+ const TName& ConferenceMemberName() const;
+
+ /**
+ * Sets the call start time.
+ *
+ * @param aTime Start time of the call.
+ */
+ void SetStartTime( const TTime& aTime );
+
+ /**
+ * Returns the start time of the call.
+ *
+ * @return Start time of the call.
+ */
+ const TTime& StartTime() const;
+
+ /**
+ * Sets the duration of the call.
+ *
+ * @param aDuration Duration of the call in seconds.
+ */
+ void SetDuration( TTimeIntervalSeconds aDuration );
+
+ /**
+ * Returns the duration of the call.
+ *
+ * @return Duration of the call in seconds.
+ */
+ TTimeIntervalSeconds Duration() const;
+
+ /**
+ * Sets the service identifier of the call.
+ *
+ * @param aId Service identifier to set.
+ */
+ void SetCallServiceId( TUint32 aId );
+
+ /**
+ * Returns the service identifier of the call.
+ *
+ * @return Service identifier of the call.
+ */
+ TUint32 CallServiceId() const;
+
+ /**
+ * Sets conference capabilities of the call.
+ *
+ * @param aCaps Conference capabilities to set.
+ */
+ void SetConferenceCaps( TUint32 aCaps );
+
+ /**
+ * Returns the conference capabilities of the call.
+ *
+ * @return Conference capabilities of the call.
+ */
+ TUint32 ConferenceCaps() const;
+
+ /**
+ * Sets the identification number of the conference master.
+ *
+ * @param aConference Identification number of the conference master to set.
+ */
+ void SetConference( TInt aConference );
+
+ /**
+ * Returns the identification number of the conference master.
+ *
+ * @return Identification number of the conference master.
+ */
+ TInt Conference() const;
+
+ /**
+ * Sets the identifier of the conference member call.
+ *
+ * @param aId Identifier of the conference member call to set.
+ */
+ void SetConferenceMemberId( TInt aId );
+
+ /**
+ * Returns the identifier of the conference member call.
+ *
+ * @return Identifier of the conference member call.
+ */
+ TInt ConferenceMemberId();
+
+ /**
+ * Sets the number of conference members.
+ *
+ * @param aNumberOfConferenceMembers Number of conference members.
+ */
+ void SetNumberOfConferenceMembers( TInt aNumberOfConferenceMembers );
+
+ /**
+ * Returns the number of conference members.
+ *
+ * @return Number of conference members.
+ */
+ TInt NumberOfConferenceMembers() const;
+
+ /**
+ * Sets the forced completion indicator for logging.
+ *
+ * @param aLog Flag indicating if forced completion should be set.
+ */
+ void SetLogForcedCompletion( TBool aLog );
+
+ /**
+ * Returns the flag indicating if forced completion indicator for logging is used.
+ *
+ * @return Flag indicating if forced completion indicator for logging is used.
+ */
+ TBool LogForcedCompletion();
+
+ /**
+ * Enables or disables logging for the call.
+ *
+ * @param aEnabled Flag enabling or disabling logging for the call.
+ */
+ void SetLoggingEnabled( TBool aEnabled );
+
+ /**
+ * Returns if logging is enabled for the call.
+ *
+ * @return Flag indicating if logging is enabled for the call.
+ */
+ TBool LoggingEnabled() const;
+
+ /**
+ * Sets the missed call status for the call.
+ *
+ * @param aMissedCall Missed call status to set.
+ */
+ void SetMissedCall( TBool aMissedCall );
+
+ /**
+ * Returns the missed call status for the call.
+ *
+ * @return Missed call status for the call.
+ */
+ TBool MissedCall() const;
+
+ /**
+ * Sets the secure status for the call.
+ *
+ * @param aSecureStatus Secure status to set.
+ */
+ void SetSecureStatus( TBool aSecureStatus );
+
+ /**
+ * Returns the secure status of the call.
+ *
+ * @return Secure status of the call.
+ */
+ TBool SecureStatus() const;
+
+ /**
+ * Sets the forwarded status for the call.
+ *
+ * @param aForwarded Forwarded status to set.
+ */
+ void SetForwarded( TBool aForwarded );
+
+ /**
+ * Returns the forwarded status of the call.
+ *
+ * @return Forwarded status of the call.
+ */
+ TBool Forwarded() const;
+
+ /**
+ * Sets the resume held call status for the call.
+ *
+ * @param aResume Resume held call status to set.
+ */
+ void SetResumeHeldCall( TBool aResume );
+
+ /**
+ * Returns the resume held call status of the call.
+ *
+ * @return Resume held call status of the call.
+ */
+ TBool ResumeHeldCall() const;
+
+ /**
+ * Returns the dtmf postfix of the call.
+ *
+ * @return dtmf postfix of the call.
+ */
+ const TPEDtmfString& DtmfPostFix() const;
+
+ /**
+ * Sets the dtmf postfix of the call.
+ *
+ * @param aDtmfPostFix dtmf postfix to set.
+ */
+ void SetDtmfPostFix( const TPEDtmfString& aDtmfPostFix );
+
+ /**
+ * Sets the secure specified status for the call.
+ *
+ * @param aSecureSpecified Secure specified status to set.
+ */
+ void SetSecureSpecified( TBool aSecureSpecified );
+
+ /**
+ * Returns the secure specified status of the call.
+ *
+ * @return Secure specified status of the call.
+ */
+ TBool SecureSpecified() const;
+
+ /**
+ * Returns transfer target from the received unattended transfer
+ * request or KNullDesC if transfer target is not available.
+ *
+ * @return Transfer target.
+ */
+ const TPEPhoneNumber& UnattendedTransferTarget() const;
+
+ /**
+ * Sets transfer target from received unattended transfer request.
+ *
+ * @param aTarget Transfer target to set.
+ */
+ void SetUnattendedTransferTarget( const TPEPhoneNumber& aTarget );
+
+ /**
+ * Returns address choices from received call forward request
+ * or NULL if addresses are not available.
+ *
+ * @return New address.
+ */
+ const CDesC8Array* ForwardAddressChoices() const;
+
+ /**
+ * Sets address choices from received call forward request.
+ *
+ * @param aArray Address array.
+ */
+ void SetForwardAddressChoices( const CDesC8Array* aArray );
+
+ /**
+ * Sets array index for user selected address.
+ *
+ * @param aIndex Array index for selected address.
+ */
+ void SetForwardAddressIndex( TInt aIndex );
+
+ /**
+ * Sets the call index of a call. Note this is not a call id.
+ */
+ void SetCallIndex( TInt aCallIndex );
+
+ /**
+ * Gets the call index of a call. Note this is not the same as
+ * call id.
+ */
+ TInt CallIndex() const;
+
+ /**
+ * Sets the origin of a call.
+ */
+ void SetCallOrigin( TPECallOrigin aOrigin );
+
+ /**
+ * Gets the origin of a call.
+ */
+ TPECallOrigin CallOrigin() const;
+
+private:
+
+ /**
+ * Constructor.
+ */
+ CPECallInfo();
+
+ /**
+ * Second-phase constructor.
+ */
+ void ConstructL();
+
+private:
+
+ /**
+ * Client information of the call.
+ * Owned.
+ */
+ CPEClientInformation* iClientInformation;
+
+ /**
+ * State of the call.
+ */
+ TPEState iCallState;
+
+ /**
+ * Type of the call.
+ */
+ TPECallType iCallType;
+
+ /**
+ * Call control capabilities.
+ */
+ TPECallControlCaps iCallControlCaps;
+
+ /**
+ * Name of the remote party as given by the network (SkypeID).
+ */
+ TPEContactName iRemotePartyName;
+
+ /**
+ * Whole outgoing phone number (invalid characters removed).
+ */
+ TPEPhoneNumber iWholeOutgoingPhoneNumber;
+
+ /**
+ * ALS line of the call.
+ */
+ CCCECallParameters::TCCELineType iALSLine;
+
+ /**
+ * Remote identity status.
+ */
+ RMobileCall::TMobileCallRemoteIdentityStatus iRemoteIdentity;
+
+ /**
+ * Direction of the call.
+ */
+ RMobileCall::TMobileCallDirection iCallDirection;
+
+ /**
+ * Mobile call service type.
+ */
+ RMobilePhone::TMobileService iService;
+
+ /**
+ * Conference member name.
+ */
+ TName iConferenceMemberName;
+
+ /**
+ * Start time of the call.
+ */
+ TTime iStartTime;
+
+ /**
+ * Duration of the call in seconds.
+ */
+ TTimeIntervalSeconds iDuration;
+
+ /**
+ * Service identifier.
+ */
+ TUint32 iCallServiceId;
+
+ /**
+ * Conference capabilities.
+ */
+ TUint32 iConferenceCaps;
+
+ /**
+ * Identification number of the conference master.
+ */
+ TInt iConference;
+
+ /**
+ * Conference member call identifier.
+ */
+ TInt iConferenceMemberId;
+
+ /**
+ * Number of conference members.
+ */
+ TInt iNumberOfConferenceMembers;
+
+ /**
+ * Flag to indicate forced completion indicator for log handling.
+ */
+ TBool iLogForcedCompletion;
+
+ /**
+ * Flag to indicate logging enabled status.
+ */
+ TBool iLoggingEnabled;
+
+ /**
+ * Flag to indicate missed call status.
+ */
+ TBool iMissedCall;
+
+ /**
+ * Flag to indicate secure status.
+ */
+ TBool iSecureStatus;
+
+ /**
+ * Flag to indicate forwarded status of the incoming call.
+ */
+ TBool iForwarded;
+
+ /**
+ * Flag to indicate resume held call status.
+ */
+ TBool iResumeHeldCall;
+
+ /**
+ * Flag to indicate secure specified status.
+ */
+ TBool iSecureSpecified;
+
+ /**
+ * Unattended transfer target.
+ */
+ TPEPhoneNumber iTransferTarget;
+
+ /**
+ * Dtmf postfix.
+ */
+ TPEDtmfString iDtmfPostFix;
+
+ /**
+ * Call forward address choices.
+ */
+ const CDesC8Array* iForwardAddressChoices;
+
+ /**
+ * User selected array index for call forward.
+ */
+ TInt iForwardAddressArrayIndex;
+
+ /**
+ * Call index of a call. Note this is not call id.
+ */
+ TInt iCallIndex;
+
+ /**
+ * Origin of the call.
+ */
+ TPECallOrigin iCallOrigin;
+ };
+
+#endif // C_CPECALLINFO_H