Den::CWorkerSubSession Class Reference

class Den::CWorkerSubSession : public CBase

Inherits from

  • Den::CWorkerSubSession
Public Member Functions
~CWorkerSubSession()
voidCleanupDeadWorker(CommsFW::TWorkerId)
IMPORT_C voidComposeSubSessionName(const CWorkerSubSession *, TName &)
TInt DecomposeSubSessionName(const TName &, CommsFW::TWorkerId &, CWorkerSubSession *&)
voidDeleteMe()
IMPORT_C voidDontCompleteCurrentRequest()
IMPORT_C TIntFetchSubSessionFromName(const TName &, TSubSessInfo, const CCommonWorkerThread &, CWorkerSubSession *&)
voidFinalCompleteAllBlockedMessages(TInt)
IMPORT_C voidGetOwnerInfo(TProcessId &, TUidType &, TThreadId &)
TBool IsClosing()
CWorkerSubSession *KFlagSpecialForwardCase()
TScopeUniqueId NextScopeUniqueId()
CCommonPlayer &Player()
voidProcessMessageL()
IMPORT_C const RSafeMessage &SafeMessage()
CWorkerSession *Session()
const CWorkerSession *Session()
CCommonSessionProxy *SessionProxy()
const CCommonSessionProxy *SessionProxy()
IMPORT_C voidSetReturn(TInt)
voidSetSession(CWorkerSession *)
voidSetSessionProxy(CCommonSessionProxy *)
IMPORT_C voidSetUniqueId(const TSubSessionUniqueId &)
IMPORT_C voidStoreOwnerInfo()
TSubSessInfo Type()
const TSubSessionUniqueId &UniqueId()
Protected Member Functions
CWorkerSubSession(CWorkerSession *, CCommonPlayer *, TSubSessionUniqueId)
IMPORT_C voidCloseAllSubSessionIpcExtensions()
IMPORT_C voidCloseSubSessionIpcExtension(const RSafeMessage &, const TApiExtIdentification &)
IMPORT_C voidCompleteMessage(const RMessage2 &, TInt)
IMPORT_C voidConstructL()
TIpcExtensionRoutingMessageFromSubSession *DoIsSubSessionIpcExtensionSupported(TInt, TDes8 &)
IMPORT_C TIpcExtensionRoutingMessageFromSubSession *IsSubSessionIpcExtensionSupported(TInt, TDes8 &)
IMPORT_C voidOpenSubSessionIpcExtensionL(const RSafeMessage &, const TApiExtIdentification &)
IMPORT_C voidPanicClient(TInt)
IMPORT_C voidPanicClient(const TDesC &, TInt)
voidRemoveAndDestroy()
IMPORT_C voidSendReceiveSubSessionIpcExtensionL(const RSafeMessage &, const TApiExtIdentification &)
voidSetClosing()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
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()
Protected Attributes
TBool iClosing
CCommonPlayer *iPlayer
CWorkerSession *iSession
TSubSessionUniqueId iSubSessionUniqueId
TThreadId iThreadId
Private Attributes
TApiExtRegister iApiExtRegister
TUint iNextScopeUniqueId
CCommonSessionProxy *iSessionProxy

Constructor & Destructor Documentation

CWorkerSubSession(CWorkerSession *, CCommonPlayer *, TSubSessionUniqueId)

IMPORT_CCWorkerSubSession(CWorkerSession *aSession,
CCommonPlayer *aPlayer,
TSubSessionUniqueIdaSubSessionUniqueId
)[protected]

Parameters

CWorkerSession * aSession
CCommonPlayer * aPlayer
TSubSessionUniqueId aSubSessionUniqueId

~CWorkerSubSession()

IMPORT_C~CWorkerSubSession()[virtual]

Member Functions Documentation

CleanupDeadWorker(CommsFW::TWorkerId)

voidCleanupDeadWorker(CommsFW::TWorkerIdaWorkerId)

Parameters

CommsFW::TWorkerId aWorkerId

CloseAllSubSessionIpcExtensions()

IMPORT_C voidCloseAllSubSessionIpcExtensions()[protected]

CloseSubSessionIpcExtension(const RSafeMessage &, const TApiExtIdentification &)

IMPORT_C voidCloseSubSessionIpcExtension(const RSafeMessage &aMessage,
const TApiExtIdentification &aExtIdentification
)[protected]

Parameters

const RSafeMessage & aMessage
const TApiExtIdentification & aExtIdentification

CompleteMessage(const RMessage2 &, TInt)

IMPORT_C voidCompleteMessage(const RMessage2 &aMessage,
TIntaResult
)[protected]

Parameters

const RMessage2 & aMessage
TInt aResult

ComposeSubSessionName(const CWorkerSubSession *, TName &)

IMPORT_C voidComposeSubSessionName(const CWorkerSubSession *aSubSess,
TName &aName
)[static]

Parameters

const CWorkerSubSession * aSubSess
TName & aName

ConstructL()

IMPORT_C voidConstructL()[protected]

DecomposeSubSessionName(const TName &, CommsFW::TWorkerId &, CWorkerSubSession *&)

TInt DecomposeSubSessionName(const TName &aName,
CommsFW::TWorkerId &aWorkerId,
CWorkerSubSession *&aSubSess
)[static]

Parameters

const TName & aName
CommsFW::TWorkerId & aWorkerId
CWorkerSubSession *& aSubSess

DeleteMe()

voidDeleteMe()[pure virtual]

DoIsSubSessionIpcExtensionSupported(TInt, TDes8 &)

TIpcExtensionRoutingMessageFromSubSession *DoIsSubSessionIpcExtensionSupported(TInt,
TDes8 &
)[protected, inline, virtual]

Parameters

TInt
TDes8 &

DontCompleteCurrentRequest()

IMPORT_C voidDontCompleteCurrentRequest()const

FetchSubSessionFromName(const TName &, TSubSessInfo, const CCommonWorkerThread &, CWorkerSubSession *&)

IMPORT_C TIntFetchSubSessionFromName(const TName &aName,
TSubSessInfoaType,
const CCommonWorkerThread &aWorker,
CWorkerSubSession *&aSubSess
)[static]

Parameters

const TName & aName
TSubSessInfo aType
const CCommonWorkerThread & aWorker
CWorkerSubSession *& aSubSess

FinalCompleteAllBlockedMessages(TInt)

voidFinalCompleteAllBlockedMessages(TIntaResult)[pure virtual]

Derived objects must implement this to make sure that all RMessage2 resources are completed when called. It is used in various close/clean-up scenarios.

Parameters

TInt aResult

GetOwnerInfo(TProcessId &, TUidType &, TThreadId &)

IMPORT_C voidGetOwnerInfo(TProcessId &aProcessId,
TUidType &aUidType,
TThreadId &aThreadId
)const

Parameters

TProcessId & aProcessId
TUidType & aUidType
TThreadId & aThreadId

IsClosing()

TBool IsClosing()const [inline]

IsSubSessionIpcExtensionSupported(TInt, TDes8 &)

IMPORT_C TIpcExtensionRoutingMessageFromSubSession *IsSubSessionIpcExtensionSupported(TIntaInterfaceId,
TDes8 &aBuff
)[protected]

Parameters

TInt aInterfaceId
TDes8 & aBuff

KFlagSpecialForwardCase()

CWorkerSubSession *KFlagSpecialForwardCase()[static]

Special non-zero subsession pointer, used in a very few cases to select additional behaviour on a forwarded request. For example on creating a subsession this flags that tier resolution is first required

NextScopeUniqueId()

TScopeUniqueId NextScopeUniqueId()[inline]

OpenSubSessionIpcExtensionL(const RSafeMessage &, const TApiExtIdentification &)

IMPORT_C voidOpenSubSessionIpcExtensionL(const RSafeMessage &aMessage,
const TApiExtIdentification &aExtIdentification
)[protected]

Parameters

const RSafeMessage & aMessage
const TApiExtIdentification & aExtIdentification

PanicClient(TInt)

IMPORT_C voidPanicClient(TIntaPanic)[protected]

Parameters

TInt aPanic

PanicClient(const TDesC &, TInt)

IMPORT_C voidPanicClient(const TDesC &aCategory,
TIntaPanic
)[protected]

Parameters

const TDesC & aCategory
TInt aPanic

Player()

CCommonPlayer &Player()const [inline]

ProcessMessageL()

voidProcessMessageL()[pure virtual]

Derived objects must implement this to continue the processing of the current message.

RemoveAndDestroy()

voidRemoveAndDestroy()[protected]

SafeMessage()

IMPORT_C const RSafeMessage &SafeMessage()const

SendReceiveSubSessionIpcExtensionL(const RSafeMessage &, const TApiExtIdentification &)

IMPORT_C voidSendReceiveSubSessionIpcExtensionL(const RSafeMessage &aMessage,
const TApiExtIdentification &aExtIdentification
)[protected]

Parameters

const RSafeMessage & aMessage
const TApiExtIdentification & aExtIdentification

Session()

CWorkerSession *Session()[inline]

Session()

const CWorkerSession *Session()const [inline]

SessionProxy()

CCommonSessionProxy *SessionProxy()[inline]

SessionProxy()

const CCommonSessionProxy *SessionProxy()const [inline]

SetClosing()

voidSetClosing()[protected, inline]

SetReturn(TInt)

IMPORT_C voidSetReturn(TIntaReturnValue)const

Parameters

TInt aReturnValue

SetSession(CWorkerSession *)

voidSetSession(CWorkerSession *aProxy)[inline]

Parameters

CWorkerSession * aProxy

SetSessionProxy(CCommonSessionProxy *)

voidSetSessionProxy(CCommonSessionProxy *aProxy)[inline]

Parameters

CCommonSessionProxy * aProxy

SetUniqueId(const TSubSessionUniqueId &)

IMPORT_C voidSetUniqueId(const TSubSessionUniqueId &aUniqueId)

Parameters

const TSubSessionUniqueId & aUniqueId

StoreOwnerInfo()

IMPORT_C voidStoreOwnerInfo()

Type()

TSubSessInfo Type()const [pure virtual]

UniqueId()

const TSubSessionUniqueId &UniqueId()const [inline]

Member Data Documentation

TApiExtRegister iApiExtRegister

TApiExtRegister iApiExtRegister[private]

TBool iClosing

TBool iClosing[protected]

TUint iNextScopeUniqueId

TUint iNextScopeUniqueId[private]

CCommonPlayer * iPlayer

CCommonPlayer *iPlayer[protected]

CWorkerSession * iSession

CWorkerSession *iSession[protected]

CCommonSessionProxy * iSessionProxy

CCommonSessionProxy *iSessionProxy[private]

TSubSessionUniqueId iSubSessionUniqueId

TSubSessionUniqueId iSubSessionUniqueId[protected]

TThreadId iThreadId

TThreadId iThreadId[protected]

The thread id of the creator of the subsession, part of the OwnerInfo. This can be misleading, since sessions can be shared between threads of a client - to really know what thread is responsible for the current operator query its RMessage2