CCommsProviderModule Class Reference
class CCommsProviderModule : public CActive
|
This is the main module orchestrating thread creation, loading and unloading, The class is asynchronously activated from three active objects: its own derivative, the iModuleTimer * member and the iUndertaker member. The type of action taken on a particular input is decided by its internal state, defined by iState.
Private Attributes
|
RootServer::TRSModuleState
|
iState
|
Constructor & Destructor Documentation
CCommsProviderModule(RThread &)
IMPORT_C
|
CCommsProviderModule
|
(
|
RThread
&
|
aThread
|
)
|
[protected]
|
~CCommsProviderModule()
IMPORT_C
|
~CCommsProviderModule
|
(
|
)
|
|
Member Functions Documentation
CancelLoad()
Cancel Load. Marks whether an attempt to cancel load has happened
CancelUnload(RootServer::TRSUnLoadType)
TInt
|
CancelUnload
|
(
|
RootServer::TRSUnLoadType
|
aType
|
)
|
|
Parameters
RootServer::TRSUnLoadType
aType
|
|
ConstructL(CRootServer *, const RootServer::TRSStartModuleParams &, HBufC8 *)
CreateModuleThread(const TDesC &, TThreadFunction, TInt, RHeap *, TAny *)
CreateThreadL()
Creates and sets up thread ready for initialisation
DoCancel()
void
|
DoCancel
|
(
|
)
|
[private, inline, 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
GetDll()
Returns
Dll
filename for a CPM
GetHeapPtr()
RHeap
*
|
GetHeapPtr
|
(
|
)
|
const [inline]
|
Returns heap pointer for a CPM
GetState()
RootServer::TRSModuleState
|
GetState
|
(
|
)
|
const [inline]
|
GetThread()
Return pointer to thread for a CPM
IsServer()
TBool
|
IsServer
|
(
|
)
|
const [inline]
|
IsSticky()
TBool
|
IsSticky
|
(
|
)
|
const [inline]
|
Load(TRequestStatus &)
Initiates the loading of a module. Sets states and resumes thread
Parameters
TRequestStatus
& aStatus
|
The status of the active object which will be completed on load
|
NotifyOfDeath(TInt)
void
|
NotifyOfDeath
|
(
|
TInt
|
aReason
|
)
|
[private]
|
Controls notifications on death of a module
Parameters
TInt
aReason
|
The reason associated with the death event
|
RegisterSuddenDeathNotifierL(MNotifySuddenDeath *)
Register a sudden death notifier. Instantiates a container with the pointer to the notifier and puts it in the TblQue list.
RunL()
IMPORT_C void
|
RunL
|
(
|
)
|
[private, virtual]
|
Handles each active object completion event differently depending on the state of the module
SuddenDeath(TInt)
IMPORT_C void
|
SuddenDeath
|
(
|
TInt
|
aReason
|
)
|
[virtual]
|
Controls events on death of a module Notifies Bind Manager of death event, so that it can clean up aReason The reason associated with the death event
UidMatch(const TUid &)
TBool
|
UidMatch
|
(
|
const
TUid
&
|
aUid
|
)
|
const [private]
|
Matches the Uid for a CPM
Parameters
const
TUid
& aUid
|
The Uid to be checked
|
Unload()
Initiates the unloading of a module. Simply sets internal state
UnregisterSuddenDeathNotifier(MNotifySuddenDeath *)
Unregister a sudden death notifier. Searches for container with a pointer to notifier being unregistered, and if found deletes unlinks the container and deletes it. Failure to find such a notifier is not an error as this is typically a clean-up behaviour.
Member Data Documentation
TUint32
iControlFlags
Additional module control flags TRSStartModuleParamContainer::TControlFlags
TFileName
iDll
Filename of DLL containing this module.
TInt
iExitReason
TInt
|
iExitReason
|
[protected]
|
Exitreason when module has exited.
RHeap * iHeapPtr
RHeap
*
|
iHeapPtr
|
[protected]
|
RootServer::TRSHeapType
iHeapType
RootServer::TRSHeapType
|
iHeapType
|
[protected]
|
EDefaultHeap, EShareHeap(with another loaded module), ENewHeap.
TBool
iIsServer
TBool
|
iIsServer
|
[protected]
|
Whether module is being loaded as a server.
TBool
iIsSticky
TBool
|
iIsSticky
|
[protected]
|
Whether RootServer should deny client shutdown requests.
RLibrary
iLibrary
Handle on the DLL, kept open as long as the module is active.
TInt
iMaxHeapSize
TInt
|
iMaxHeapSize
|
[protected]
|
TInt
iMinHeapSize
TInt
|
iMinHeapSize
|
[protected]
|
CommsFW::TCFModuleNameF
iName
Name of module, defined by privileged app.
TDblQue< CNotifySuddenDeathContainer > iNotifiers
Registered sudden death notifiers.
TThreadPriority
iPriority
CommsFW::RCFChannel
iRecv
TRequestStatus * iReqStatus
Saved for asynchronous stuff.
CRootServer * iRootServer
Access to the root server public functions.
CommsFW::RCFChannel
iSend
CommsFW::TCFModuleNameF
iShareHeapWith
If sharing a heap, then this is the module to share with.
TInt
iStackSize
TInt
|
iStackSize
|
[protected]
|
RootServer::TRSModuleState
iState
RootServer::TRSModuleState
|
iState
|
[private]
|
RThread & iThread
Thread handle of running module context.
TInt
iThreadFunctionOrdinal
TInt
|
iThreadFunctionOrdinal
|
[protected]
|
Ordinal for main threadfunction in dll.
CRSTransientModuleInfo * iThreadStartupInfo
CRSTransientModuleInfo *
|
iThreadStartupInfo
|
[protected]
|
CModuleUndertaker * iUndertaker
CModuleUndertaker *
|
iUndertaker
|
[protected]
|
Active object listening for sudden death.
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.