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 void Start ( TRequestStatus &)
Private Member Functions
CAsyncSmartCardEapAuthentication ( RMobileSmartCardEap &)
void CancelReq ( TInt , TInt )
void ConstructL (const TDesC8 &)
void Get ( 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 & aScEap The 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)

void CancelReq ( TInt aIpc1,
TInt aIpc2
) [private, virtual]

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

Parameters

TInt aIpc1
TInt aIpc2

ConstructL(const TDesC8 &)

void ConstructL ( 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 & aEapRequestPckt The 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 &)

void Get ( TInt aIpc,
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 & aScEap The sub-session handle that will be used by the returned object, for submitting requests to the server.
const TDesC8 & aEapRequestPckt The 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 void Start ( 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 & aReqStatus Returns 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.