CSessionHandlerBinding Class Reference

class CSessionHandlerBinding : public CSessionHandler

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

Inherits from

Public Member Functions
TBool CancelHandler ( TBool , TBool )
TSHType HandlerType ()
CSessionHandler * MatchPending (const CommsFW::TCFSubModuleAddress &, const CommsFW::TCFSubModuleAddress &)
CSessionHandlerBinding * NewL ( CRootServerSession *, CBindManager *, const RMessage2 &)
void SetHandler (const CommsFW::TCFSubModuleAddress &, const CommsFW::TCFSubModuleAddress &, RootServer::TRSBindType &, TInt , TInt )
TInt Start ()
Private Member Functions
CSessionHandlerBinding ( CRootServerSession *, CBindManager *, const RMessage2 &)
void DoCancel ()
void RunL ()
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::CompleteClientRequest(TInt)
CSessionHandler::GetModulePtr(const CommsFW::TCFModuleNameF &)const
CSessionHandler::SuddenDeath(TInt)
CSessionHandler::~CSessionHandler()
Inherited Enumerations
CActive:TPriority
CSessionHandler:TSHState
CSessionHandler:TSHType
Private Attributes
RootServer::TRSBindType iBindType
TInt iForwardQLength
CommsFW::TCFSubModuleAddress iNameFrom
CommsFW::TCFSubModuleAddress iNameTo
TInt iReverseQLength
Inherited Attributes
CActive::iStatus
CSessionHandler::iBindMgr
CSessionHandler::iLink
CSessionHandler::iMessage
CSessionHandler::iRequestCompleted
CSessionHandler::iSession
CSessionHandler::iState

Constructor & Destructor Documentation

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

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

Parameters

CRootServerSession * aSession
CBindManager * aBindMgr
const RMessage2 & aMessage

Member Functions Documentation

CancelHandler(TBool, TBool)

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

Parameters

TBool aCompleteRequest
TBool aWaitForCompletionIfUncancelable = EFalse

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::TCFSubModuleAddress &, const CommsFW::TCFSubModuleAddress &)

CSessionHandler * MatchPending ( const CommsFW::TCFSubModuleAddress & aFrom,
const CommsFW::TCFSubModuleAddress & aTo
)

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

CSessionHandlerBinding * 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::TCFSubModuleAddress &, const CommsFW::TCFSubModuleAddress &, RootServer::TRSBindType &, TInt, TInt)

void SetHandler ( const CommsFW::TCFSubModuleAddress & aFrom,
const CommsFW::TCFSubModuleAddress & aTo,
RootServer::TRSBindType & aBindType,
TInt aForwardQLength,
TInt aReverseQLength
)

Parameters

const CommsFW::TCFSubModuleAddress & aFrom
const CommsFW::TCFSubModuleAddress & aTo
RootServer::TRSBindType & aBindType
TInt aForwardQLength
TInt aReverseQLength

Start()

TInt Start ( ) [virtual]

Member Data Documentation

RootServer::TRSBindType iBindType

RootServer::TRSBindType iBindType [private]

TInt iForwardQLength

TInt iForwardQLength [private]

CommsFW::TCFSubModuleAddress iNameFrom

CommsFW::TCFSubModuleAddress iNameFrom [private]

CommsFW::TCFSubModuleAddress iNameTo

CommsFW::TCFSubModuleAddress iNameTo [private]

TInt iReverseQLength

TInt iReverseQLength [private]