Den::CCommonDealer Class Reference
class Den::CCommonDealer : public CBase
|
The Dealer is an interface to the Symbian OS server (
CServer2
) and as such one of its most important possessions is the list of CSession2's kept by the
CServer2
. On a conceptual level one can say that the Dealer owns the CWorkerSession's due to their inherited relationship. Sub-sessions are also supported in the form of the CPlayerSubSession and its derivatives. These are owned by the provider container (
CSubSessionIx
) in the
CWorkerSession
.
Nested Classes and Structures
Constructor & Destructor Documentation
CCommonDealer(CCommonServer *)
~CCommonDealer()
IMPORT_C
|
~CCommonDealer
|
(
|
)
|
|
Member Functions Documentation
CanShutdown()
TBool
|
CanShutdown
|
(
|
)
|
const [inline]
|
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
|
|
ConstructL()
IMPORT_C void
|
ConstructL
|
(
|
)
|
[protected]
|
DeleteSession(CWorkerSession *)
When deleting a session it will be in response to a disconnect from the client, so we signal that to the session. If this thread is in the process of shutting down we need to check whether it was just waiting for this session (if this was the last one) and if this is the case we can initiate the asynchronous process of shutting down the worker thread.
MainDealer()
TBool
|
MainDealer
|
(
|
)
|
const [inline, virtual]
|
Returns whether the dealer is the main dealer or not. A main dealer is a dealer which can receive IPC messages directly from a client. Non-main dealers can not, and must have IPC messages handed to them by a main dealer.
NewL(CCommonServer *)
This function will first do the ConstructL and if that succeeds it will start the server using the server name discovered during ConstructL. So when this function returns the new dealer object, its server is in effect running.
ParkRequest(CWorkerSession *, const RMessage2 &, TParkReason)
Add to the queue of indeterminate requests parked for re-evaluation once configuration has completed
ProcessConfigurationComplete(TConfigurationCompletionType)
IMPORT_C void
|
ProcessConfigurationComplete
|
(
|
TConfigurationCompletionType
|
aType
|
)
|
|
Once server configuration is complete any requests parked because they required the full environment can be re-evaluated
Parameters
TConfigurationCompletionType
aType
|
|
ProcessShutdownRequest(CommsFW::TCFShutdownType)
void
|
ProcessShutdownRequest
|
(
|
CommsFW::TCFShutdownType
|
aType
|
)
|
|
Parameters
CommsFW::TCFShutdownType
aType
|
|
ProcessSubSessions(CommsFW::TWorkerId, CWorkerSession::TSubSessionProcessor, TAny *)
ReleaseParkedRequests(TParkReason)
void
|
ReleaseParkedRequests
|
(
|
TParkReason
|
aReason
|
)
|
[protected]
|
Complete all requests parked for the given reason
ServerName()
IMPORT_C const
TDesC
&
|
ServerName
|
(
|
)
|
const
|
SubsessionCountInPlayer(CommsFW::TWorkerId)
TInt
|
SubsessionCountInPlayer
|
(
|
CommsFW::TWorkerId
|
aPeerId
|
)
|
|
Parameters
CommsFW::TWorkerId
aPeerId
|
|
WorkerId()
CommsFW::TWorkerId
|
WorkerId
|
(
|
)
|
const [inline]
|
Member Enumerations Documentation
Enum TParkReason
Enumerators
EIndeterminateDuringBoot
|
During initial configuration a client request may have an indeterminate outcome, in that it relates to a protocol that isn't known but might be yet to load. This would expose clients to the need to cope with a startup race so instead such requests are "parked" until start-up is complete and an authorative answer can be made.
|
EAwaitingTierToWorkerMapping
|
The hosting of tier managers by worker threads is only determined upon the first need. The actual work is done by the tier resolver; until this completes all requests needing this are parked
|
EDebugParking
|
Some test cases concern competing client requests, such as a connection start and stop. A test harness can specify that a sequence of requests is parked and then released together. This is only supported when _DEBUG_SOCKET_FUNCTIONS is defined, ie usually only in UDEB
|
Member Type Definitions Documentation
Typedef RParkedRequestArray
Member Data Documentation
RParkedRequestArray
iParkedRequests
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.