CAsyncSmartCardEapAuthentication Class Reference

class CAsyncSmartCardEapAuthentication : public CAsyncRetrieveVariableLengthBufferV2

One CAsyncSmartCardEapAuthentication object should be used per EAP packet that the client wishes to send to the EAP-capable smart card application. The Packets can be EAP-Challenges, Identity requests, Success packets, etc.. Subsequently, this object can be used to retrieve the corresponding response data given by the DF_EAP.

(See RFC3748 and section 6.1 of ETSI TS 102.310 v6.2.0.)

RMobileSmartCardEap

Inherits from

Public Member Functions
~CAsyncSmartCardEapAuthentication()
IMPORT_C CAsyncSmartCardEapAuthentication *NewL(RMobileSmartCardEap &, const TDesC8 &)
IMPORT_C TDesC8 &RetrieveEapResponse()
IMPORT_C voidStart(TRequestStatus &)
Private Member Functions
CAsyncSmartCardEapAuthentication(RMobileSmartCardEap &)
voidCancelReq(TInt, TInt)
voidConstructL(const TDesC8 &)
voidGet(TInt, TRequestStatus &, TDes8 &, TDes8 &)
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::RunError(TInt)
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CAsyncRetrieveVariableLengthBufferV2::CAsyncRetrieveVariableLengthBufferV2()
CAsyncRetrieveVariableLengthBufferV2::CompleteIfInUse(TRequestStatus &)
CAsyncRetrieveVariableLengthBufferV2::FreeBuffer()
CAsyncRetrieveVariableLengthBufferV2::Start(TRequestStatus &,TDes8 *,TDes8 *)
CAsyncRetrieveVariableLengthBufferV2::~CAsyncRetrieveVariableLengthBufferV2()
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()
Inherited Enumerations
CActive:TPriority
CAsyncRetrieveVariableLengthBufferV2:@151
Private Attributes
RMobileSmartCardEap::CEapAuthenticateRequestDataV6 *iReqData
RMobileSmartCardEap &iSmartCardEap
Inherited Attributes
CActive::iStatus
CAsyncRetrieveVariableLengthBufferV2::iIpcCancel
CAsyncRetrieveVariableLengthBufferV2::iIpcPhase1
CAsyncRetrieveVariableLengthBufferV2::iIpcPhase2
CAsyncRetrieveVariableLengthBufferV2::iResultsBuf
CAsyncRetrieveVariableLengthBufferV2::iResultsPtr
CAsyncRetrieveVariableLengthBufferV2::iState

Constructor & Destructor Documentation

CAsyncSmartCardEapAuthentication(RMobileSmartCardEap &)

CAsyncSmartCardEapAuthentication(RMobileSmartCardEap &aScEap)[private]

Default constructor. Initialises the IPC values to be used in the two- phase retrieval process.

Parameters

RMobileSmartCardEap & aScEapThe sub-session handle that will be used by the returned object, for submitting requests to the server.

~CAsyncSmartCardEapAuthentication()

IMPORT_C~CAsyncSmartCardEapAuthentication()

Default destructor.

Member Functions Documentation

CancelReq(TInt, TInt)

voidCancelReq(TIntaIpc1,
TIntaIpc2
)[private, virtual]

Cancels the request specified through the sub-session this object was created with.

Parameters

TInt aIpc1
TInt aIpc2

ConstructL(const TDesC8 &)

voidConstructL(const TDesC8 &aEapRequestPckt)[private]

Second phase constructor. Ensures memory can be allocated on the client-side for storing a copy of the EAP request packet.

Parameters

const TDesC8 & aEapRequestPcktThe EAP request packet to send to the smart card application's (and aScEap's) DF_EAP. This will be copied to this object's member data.

Get(TInt, TRequestStatus &, TDes8 &, TDes8 &)

voidGet(TIntaIpc,
TRequestStatus &aReqStatus,
TDes8 &aDes1,
TDes8 &aDes2
)[private, virtual]

Sends a request through the sub-session this object was created with.

Parameters

TInt aIpc
TRequestStatus & aReqStatus
TDes8 & aDes1
TDes8 & aDes2

NewL(RMobileSmartCardEap &, const TDesC8 &)

IMPORT_C CAsyncSmartCardEapAuthentication *NewL(RMobileSmartCardEap &aScEap,
const TDesC8 &aEapRequestPckt
)[static]

Creates a new two-phase retrieval object for sending an EAP packet to a DF_EAP and receiving its response.

Parameters

RMobileSmartCardEap & aScEapThe sub-session handle that will be used by the returned object, for submitting requests to the server.
const TDesC8 & aEapRequestPcktThe EAP request packet to send to the smart card application's (and aScEap's) DF_EAP.

RetrieveEapResponse()

IMPORT_C TDesC8 &RetrieveEapResponse()

Used to retrieve a descriptor pointing to the response data from the DF_EAP.

Start(TRequestStatus &)

IMPORT_C voidStart(TRequestStatus &aReqStatus)

Starts the two-phase retrieval process. The process only completes when both phases of retrieval complete (or in case of error/failure/ cancellation).

RMobileSmartCardEap::InitialiseEapMethod()

Parameters

TRequestStatus & aReqStatusReturns the result code after the asynchronous call completes. Request completion with KErrBadHandle means the RMobileSmartCardEap sub-session handle, given in the NewL(), has not been initialised (RMobileSmartCardEap::InitialiseEapMethod()). Completion with KErrInUse means the handle instance is not the current owner of the DF_EAP.

Member Data Documentation

RMobileSmartCardEap::CEapAuthenticateRequestDataV6 * iReqData

RMobileSmartCardEap::CEapAuthenticateRequestDataV6 *iReqData[private]

The serialised data holder for the EAP request packet.

RMobileSmartCardEap & iSmartCardEap

RMobileSmartCardEap &iSmartCardEap[private]

The sub-session that this object will use for the retrieval.