CNotifyLineStatusAct Class Reference

class CNotifyLineStatusAct : public CAsyncRequestBaseAct

This is an active object responsible for interacting with Multimode ETel

Inherits from

Public Member Functions
~CNotifyLineStatusAct()
voidCancelFromClient()
CNotifyLineStatusAct *NewL(CTelephonyFunctions *, CTelephonyFunctions::TOperations, MIncomingCallNameSubject &)
voidNotifyLineStatus(TDes8 *)
Protected Member Functions
voidComplete()
voidDoCancel()
TInt RunError(TInt)
Private Member Functions
CNotifyLineStatusAct(CTelephonyFunctions *, CTelephonyFunctions::TOperations, MIncomingCallNameSubject &)
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CAsyncRequestBaseAct::CAsyncRequestBaseAct()
CAsyncRequestBaseAct::RunL()
CAsyncRequestBaseAct::~CAsyncRequestBaseAct()
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Member Enumerations
enumTNotifyLineStatusActState { ENotifyLineStatusActOperating, ENotifyLineStatusActCleanUp }
Inherited Enumerations
CActive:TPriority
Private Attributes
CTelephony::TCallStatusV1 *iISVCallStatus
MIncomingCallNameSubject &iIncomingCallNameSubject
TBool iLineStatusRequestedByClient
RMobileCall::TMobileCallStatus iMMCallStatus
CTelephonyFunctions::TOperations iPendingOperation
TNotifyLineStatusActState iState
CTelephonyFunctions *iTelephonyFunctions
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

CNotifyLineStatusAct(CTelephonyFunctions *, CTelephonyFunctions::TOperations, MIncomingCallNameSubject &)

CNotifyLineStatusAct(CTelephonyFunctions *aTelephonyFunctions,
CTelephonyFunctions::TOperationsaPendingOperation,
MIncomingCallNameSubject &aIncomingCallNameSubject
)[private]

First-phase constructor which cannot Leave().

Parameters

CTelephonyFunctions * aTelephonyFunctionsobject that constructs this object.
CTelephonyFunctions::TOperations aPendingOperationThe pending operation.
MIncomingCallNameSubject & aIncomingCallNameSubjectReference to an active object owned by CTelephonyFunctions which implements the MIncomingCallNameSubject interface. Used by this object to reset the call name when the line is no longer ringing.

~CNotifyLineStatusAct()

~CNotifyLineStatusAct()

Default destructor.

Member Functions Documentation

CancelFromClient()

voidCancelFromClient()

Called from CTelephonyFunctions::CancelAsync() to notify this AO that the client is no longer interested in the line status change. Resets the iLineStatusRequestedByClient flag because client is no longer interested in the line status change, however, the AO still continues to monitor for the line status change for notifications of an incoming call.

Complete()

voidComplete()[protected, virtual]

Service completed request.

This method copies the resulting line status change back to the TCallStatusV1 variable supplied by the client and completes the request back to the client if the client requested notification of line status changes.

If the line is not ringing, then there is no incoming call and the call name stored in the MIncomingCallNameSubject object is reset. This prevents an old call from being answered.

The iLineStatusRequestedByClient flag is reset and the request to listen for line status changes is then reposted except on object destruction.

DoCancel()

voidDoCancel()[protected, virtual]

Cancel request.

Async request to be notified of line status changes is cancelled.

NewL(CTelephonyFunctions *, CTelephonyFunctions::TOperations, MIncomingCallNameSubject &)

CNotifyLineStatusAct *NewL(CTelephonyFunctions *aTelephonyFunctions,
CTelephonyFunctions::TOperationsaPendingOperation,
MIncomingCallNameSubject &aIncomingCallNameSubject
)[static]

Public constructor which can Leave().

leave
Leaves if no memory.

Parameters

CTelephonyFunctions * aTelephonyFunctionsObject that constructs this object.
CTelephonyFunctions::TOperations aPendingOperation
MIncomingCallNameSubject & aIncomingCallNameSubjectReference to an active object owned by CTelephonyFunctions which implements the MIncomingCallNameSubject interface. Used by this object to reset the call name when the line is no longer ringing.

NotifyLineStatus(TDes8 *)

voidNotifyLineStatus(TDes8 *aLineStatus)

Issue Request.

The request for notification of line status can be either an internal request or an external one.

1. Internal Request An internal request can either come from the CTelephonyFunctions object that owns this AO when it is initialised or from this AO itself when the line status change event has completed and the request is reposted. For internal requests, the aLineStatus pointer is NULL.

2. External Request An external request is one from a client using the CTelephony 3rd Party API. In external requests, the aLineStatus parameter points to a TCallStatusV1 object specified by the client to store the resulting line status.

Parameters

TDes8 * aLineStatusPackage descriptor containing TCallStatus object which will hold the resulting line status.

RunError(TInt)

TInt RunError(TIntaLeaveCode)[protected, virtual]

Handle any Leave() from inside RunL().

Parameters

TInt aLeaveCodepassed in if RunL Leaves.

Member Enumerations Documentation

Enum TNotifyLineStatusActState

Possible states this AO can be in.

Enumerators

ENotifyLineStatusActOperating
ENotifyLineStatusActCleanUp

Member Data Documentation

CTelephony::TCallStatusV1 * iISVCallStatus

CTelephony::TCallStatusV1 *iISVCallStatus[private]

MIncomingCallNameSubject & iIncomingCallNameSubject

MIncomingCallNameSubject &iIncomingCallNameSubject[private]

Reference to a CTelephonyFunctions active object which impletements the MIncomingCallNameSubject interface.

TBool iLineStatusRequestedByClient

TBool iLineStatusRequestedByClient[private]

Indicates whether a client is interested in changes in the line status. Set to ETrue if the client has requested to be notified of line status changes, EFalse otherwise.

RMobileCall::TMobileCallStatus iMMCallStatus

RMobileCall::TMobileCallStatus iMMCallStatus[private]

CTelephonyFunctions::TOperations iPendingOperation

CTelephonyFunctions::TOperations iPendingOperation[private]

TNotifyLineStatusActState iState

TNotifyLineStatusActState iState[private]

The state this AO is in.

CTelephonyFunctions * iTelephonyFunctions

CTelephonyFunctions *iTelephonyFunctions[private]