Den::CCommonPlayer Class Reference
class Den::CCommonPlayer : public CBase
|
class
CCommonPlayer
The main responsibility is adding/removing sub-sessions from the provider container in the related session object as well as keeping a list of all sub-sessions handled by the Player instance (iSubSessions).
Constructor & Destructor Documentation
CCommonPlayer(CCommonWorkerThread *, TPlayerRole)
~CCommonPlayer()
IMPORT_C
|
~CCommonPlayer
|
(
|
)
|
|
The Player destructor doesn't have much to do as a lot of the cleanup is done during the normal shutdown routines. Here the Player merely deletes all sub-sessions it owns.
Member Functions Documentation
CanUnbindFromWorker(CommsFW::TWorkerId)
TBool
|
CanUnbindFromWorker
|
(
|
CommsFW::TWorkerId
|
aWorker
|
)
|
|
Parameters
CommsFW::TWorkerId
aWorker
|
|
CleanupDeadWorker(CommsFW::TWorkerId)
IMPORT_C void
|
CleanupDeadWorker
|
(
|
CommsFW::TWorkerId
|
aPeerId
|
)
|
|
Parameters
CommsFW::TWorkerId
aPeerId
|
|
CurrentSessionProxyL()
MultiTool function to return the current session proxy for a session, but also to create it if it doesn't exist. This avoids having the same pattern in multiple places where we first check to see if it exists then creates it if not.
DoCreateSessionProxyL(CWorkerSession *)
DoProcessMessageL(const RSafeMessage &, CWorkerSubSession *)
DontCompleteCurrentRequest()
IMPORT_C void
|
DontCompleteCurrentRequest
|
(
|
)
|
|
FindOrCreateSessionProxyL(CWorkerSession *)
FindSessionProxy(CWorkerSession *)
IsPlayerShutdownComplete()
TBool
|
IsPlayerShutdownComplete
|
(
|
)
|
[pure virtual]
|
MaybeSetPlayerShutdownComplete(TBool)
IMPORT_C void
|
MaybeSetPlayerShutdownComplete
|
(
|
TBool
|
aForceShutdownNow
|
)
|
|
PanicClient(CWorkerSubSession &, TInt)
Panic the client in response to an operation on an existing subsession, after which the request mustn't be completed
PanicClient(CWorkerSubSession &, const TDesC &, TInt)
Panic the client in response to an operation on an existing subsession, after which the request mustn't be completed
This version allows panic categories to be passed in to support expected legacy behaviour.
PanicClient(TInt)
IMPORT_C void
|
PanicClient
|
(
|
TInt
|
aPanic
|
)
|
|
PanicClient(const TDesC &, TInt)
IMPORT_C void
|
PanicClient
|
(
|
const
TDesC
&
|
aCategory,
|
|
TInt
|
aPanic
|
|
)
|
|
PostMortemCleanup()
TInt
|
PostMortemCleanup
|
(
|
)
|
|
Walk through all of the subsessions, telling each to complete all blocked requests with KErrServerAbort. We don't attempt to free them - although with a shared heap this could reduce the amount of leakage it seems likely that the more we do with these data structures, the greater the risk that the contagion spreads to other users of the heap. Clients that attempt almost any further operation after KErrAbort will get panicked by the Dealer in the usual bad handle way - this is harsh but fair, and better than simply leaving them hung.
ProcessMessageL(const RSafeMessage &, CWorkerSubSession *)
ProcessShutdownRequest(CommsFW::TCFShutdownType)
void
|
ProcessShutdownRequest
|
(
|
CommsFW::TCFShutdownType
|
aType
|
)
|
|
If an incoming shutdown request is of type EImmediate, informs the Worker Thread that Player shutdown is complete, otherwise do nothing here.
Parameters
CommsFW::TCFShutdownType
aType
|
|
Reset()
void
|
Reset
|
(
|
)
|
[protected, inline]
|
Return()
TInt
|
Return
|
(
|
)
|
[protected, inline]
|
SetPlayerRole(const TPlayerRole &)
SetReturn(TInt)
IMPORT_C void
|
SetReturn
|
(
|
TInt
|
aReturn
|
)
|
|
SetSession(CWorkerSession *)
ShouldCompleteCurrentRequest()
IMPORT_C
TBool
|
ShouldCompleteCurrentRequest
|
(
|
)
|
const
|
SubSession(const TSubSessionUniqueId &)
IMPORT_C
CWorkerSubSession
*
|
SubSession
|
(
|
const
TSubSessionUniqueId
&
|
aSubSessionUniqueId
|
)
|
const
|
Parameters
const
TSubSessionUniqueId
& aSubSessionUniqueId
|
|
WorkerId()
CommsFW::TWorkerId
|
WorkerId
|
(
|
)
|
const [inline]
|
Member Type Definitions Documentation
Typedef TSubSessionContainer
Member Data Documentation
TBool
iComplete
TBool
|
iComplete
|
[protected]
|
const RSafeMessage * iCurrentMessage
CCommonSessionProxy * iCurrentSessionProxy
CCommonWorkerThread * iOwnerThread
CWorkerSession * iSession
TDblQue< CCommonSessionProxy > iSessionProxies
TSubSessionContainer
iSubSessions
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.