CSessionHandlerUnLoadCPM Class Reference

class CSessionHandlerUnLoadCPM : public CSessionHandler

Small class to handle a pending operation for unloading a module.

Inherits from

Public Member Functions
~CSessionHandlerUnLoadCPM ()
TBool CancelHandler ( TBool , TBool )
TSHType HandlerType ()
CSessionHandler * MatchPending (const CommsFW::TCFModuleNameF &)
CSessionHandlerUnLoadCPM * NewL ( CRootServerSession *, CBindManager *, const RMessage2 &)
void SetHandler (const CommsFW::TCFModuleNameF &, RootServer::TRSUnLoadType )
TInt Start ()
Private Member Functions
CSessionHandlerUnLoadCPM ( CRootServerSession *, CBindManager *, const RMessage2 &)
void CompleteClientRequest ( TInt )
void ConstructL ()
void DoCancel ()
void RunL ()
void SuddenDeath ( TInt )
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()
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()
CSessionHandler::CSessionHandler(CRootServerSession *,CBindManager *,const RMessage2 &)
CSessionHandler::GetModulePtr(const CommsFW::TCFModuleNameF &)const
CSessionHandler::~CSessionHandler()
Inherited Enumerations
CActive:TPriority
CSessionHandler:TSHState
CSessionHandler:TSHType
Private Attributes
CActiveSchedulerWait * iLoadCompletionNotificationWaiter
CommsFW::TCFModuleNameF iName
RootServer::TRSUnLoadType iType
Inherited Attributes
CActive::iStatus
CSessionHandler::iBindMgr
CSessionHandler::iLink
CSessionHandler::iMessage
CSessionHandler::iRequestCompleted
CSessionHandler::iSession
CSessionHandler::iState

Constructor & Destructor Documentation

CSessionHandlerUnLoadCPM(CRootServerSession *, CBindManager *, const RMessage2 &)

CSessionHandlerUnLoadCPM ( CRootServerSession * aSession,
CBindManager * aBindMgr,
const RMessage2 & aMessage
) [private]

Parameters

CRootServerSession * aSession
CBindManager * aBindMgr
const RMessage2 & aMessage

~CSessionHandlerUnLoadCPM()

~CSessionHandlerUnLoadCPM ( )

Member Functions Documentation

CancelHandler(TBool, TBool)

TBool CancelHandler ( TBool aCompleteRequest,
TBool aWaitForCompletionIfUncancelable = EFalse
) [virtual]

Parameters

TBool aCompleteRequest
TBool aWaitForCompletionIfUncancelable = EFalse

CompleteClientRequest(TInt)

void CompleteClientRequest ( TInt aRequest ) [private, virtual]

Parameters

TInt aRequest

ConstructL()

void ConstructL ( ) [private]

DoCancel()

void DoCancel ( ) [private, virtual]

Implements cancellation of an outstanding request.

This function is called as part of the active object's Cancel() .

It must call the appropriate cancel function offered by the active object's asynchronous service provider. The asynchronous service provider's cancel is expected to act immediately.

DoCancel() must not wait for event completion; this is handled by Cancel() .

CActive::Cancel

HandlerType()

TSHType HandlerType ( ) [virtual]

MatchPending(const CommsFW::TCFModuleNameF &)

CSessionHandler * MatchPending ( const CommsFW::TCFModuleNameF & aModule )

Parameters

const CommsFW::TCFModuleNameF & aModule

NewL(CRootServerSession *, CBindManager *, const RMessage2 &)

CSessionHandlerUnLoadCPM * NewL ( CRootServerSession * aSession,
CBindManager * aBindMgr,
const RMessage2 & aMessage
) [static]

Parameters

CRootServerSession * aSession
CBindManager * aBindMgr
const RMessage2 & aMessage

RunL()

void RunL ( ) [private, virtual]

Handles an active object's request completion event.

A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.

The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.

Before calling this active object's RunL() function, the active scheduler has:

1. decided that this is the highest priority active object with a completed request

2. marked this active object's request as complete (i.e. the request is no longer outstanding)

RunL() runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls RunError() to handle the leave.

Note that once the active scheduler's Start() function has been called, all user code is run under one of the program's active object's RunL() or RunError() functions.

CActiveScheduler::Start CActiveScheduler::Error CActiveScheduler::WaitForAnyRequest TRAPD

SetHandler(const CommsFW::TCFModuleNameF &, RootServer::TRSUnLoadType)

void SetHandler ( const CommsFW::TCFModuleNameF & aModule,
RootServer::TRSUnLoadType aType
)

Parameters

const CommsFW::TCFModuleNameF & aModule
RootServer::TRSUnLoadType aType

Start()

TInt Start ( ) [virtual]

SuddenDeath(TInt)

void SuddenDeath ( TInt aError ) [private]

Parameters

TInt aError

Member Data Documentation

CActiveSchedulerWait * iLoadCompletionNotificationWaiter

CActiveSchedulerWait * iLoadCompletionNotificationWaiter [private]

CommsFW::TCFModuleNameF iName

CommsFW::TCFModuleNameF iName [private]

RootServer::TRSUnLoadType iType

RootServer::TRSUnLoadType iType [private]