CAnswerIncomingCallAct Class Reference
class CAnswerIncomingCallAct : public CAsyncRequestBaseAct
|
This is an active object responsible for interacting with Multimode ETel
Constructor & Destructor Documentation
CAnswerIncomingCallAct(CTelephonyFunctions *, MIncomingCallNameSubject &, RArray< RMobileCall > &, RArray< CTelephonyFunctions::TCallPoolOperation > &)
First-phase constructor which cannot Leave().
Parameters
CTelephonyFunctions
* aTelephonyFunctions
|
Pointer to the CTelephonyFunctions object that constructs this object.
|
MIncomingCallNameSubject
& aIncomingCallNameSubject
|
Reference to an AO owned by iTelephonyFunctions which implements the MIncomingCallNameSubject interface. Used by this object to retrieve the call name of the incoming call.
|
RArray
<
RMobileCall
> & aCallPool
|
Reference to the call pool array owned by iTelephonyFunctions.
|
RArray
<
CTelephonyFunctions::TCallPoolOperation
> & aCallPoolStatus
|
Reference to the call pool status array owned by iTelephonyFunctions.
|
~CAnswerIncomingCallAct()
~CAnswerIncomingCallAct
|
(
|
)
|
|
Member Functions Documentation
AnswerIncomingCall(CTelephony::TCallId &, CTelephony::TCallId &)
Issue Request.
This AO starts off in the EAnswerIncomingCallStateIdle state. In order to answer the incoming call, the line must be ringing and the
CNotifyIncomingCallAct
AO must have completed. When this function is called, it checks if
CNotifyIncomingCallAct
has a valid call name available. This means that the notify incoming call event has completed and the call object has been created. When this happens, the call can be answered. This AO then moves into the EAnswerIncomingCallStateAnswering state and proceeds to answer the call. If
CNotifyIncomingCallAct
does not have a valid call name available, then there is no guarantee that the call object exists and hence the call cannot be answered yet. If this happens, this AO will move into the EAnswerIncomingCallStateWaiting state and will wait for up to 1 second for
CNotifyIncomingCallAct
AO to complete. If it does complete during or when this one second interval is up, an attempt to answer the call will be made, otherwise KErrTimedOut will be returned back to the client.
Complete()
void
|
Complete
|
(
|
)
|
[protected, virtual]
|
Service completed request.
Two different requests could have been issued by
AnswerIncomingCall()
depending on the state of this AO. If it is in the EAnswerIncomingCallStateAnswering state, then it has just finished answering the incoming call. If it is in the EAnswerIncomingCallStateWaiting state, then it was waiting for the
CNotifyIncomingCallAct
AO to complete and the 1 second timeout has finished. When this happens, it checks to see if
CNotifyIncomingCallAct
contains a valid call name. If so, it has completed, and this AO will post a request to answer the incoming call. If not, then there is a problem and the KErrAccessDenied error is returned via the iStatus status variable.
ConstructL()
void
|
ConstructL
|
(
|
)
|
[private]
|
Second phase constructor.
DoCancel()
void
|
DoCancel
|
(
|
)
|
[protected, virtual]
|
Cancel request.
Async request to answer the call and timer are cancelled.
EventCompleted()
Implementation of the
MEventObserver
interface. If this object is in the EAnswerIncomingCallStateWaiting state, it is waiting for up to 1 second for
CNotifyIncomingCallAct
to complete so that it can answer the incoming call. When
CNotifyIncomingCallAct
completes during this 1 second period, this function is called to stop the timer and proceed to answer the call. After the timer is cancelled, the Active Scheduler will automatically complete this AO.
NewL(CTelephonyFunctions *, MIncomingCallNameSubject &, RArray< RMobileCall > &, RArray< CTelephonyFunctions::TCallPoolOperation > &)
Public constructor which can Leave().
-
leave
-
Leaves if no memory.
RunError(TInt)
TInt
|
RunError
|
(
|
TInt
|
aLeaveCode
|
)
|
[protected, virtual]
|
Handle any Leave() from inside
RunL()
.
Parameters
TInt
aLeaveCode
|
passed in if RunL Leaves.
|
Member Enumerations Documentation
Enum TAnswerIncomingCallState
Member Data Documentation
CTelephony::TCallId * iCallId
RArray< RMobileCall > & iCallPool
Reference to the call pool array owned by iTelephonyFunctions.
RArray< CTelephonyFunctions::TCallPoolOperation > & iCallPoolStatus
Reference to the call pool status array owned by iTelephonyFunctions.
MIncomingCallNameSubject & iIncomingCallNameSubject
Reference to active object owned by iTelephonyFunctions which implements
MIncomingCallNameSubject
interface. Allows this AO to retrieve the call name of an incoming call.
RMobileCall::TEtel3rdPartyMobileCallParamsV1Pckg
iMMCallParamsPckg
RMobileCall::TEtel3rdPartyMobileCallParamsV1
iMMcallParams
TAnswerIncomingCallState
iState
State this active object is currently in.
CTelephonyFunctions * iTelephonyFunctions
CTelephony::TCallId
iTempCallId
RTimer
iTimer
Timer object used to wait for NotifyIncomingCall to complete.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.