CRootServerSession Class Reference
class CRootServerSession : public CSession2
|
Required session object as required by the client/server framework. Implements the "Secure IPC" API.
Constructor & Destructor Documentation
CRootServerSession(const CRootServer *)
IMPORT_C
|
CRootServerSession
|
(
|
const
CRootServer
*
|
aRootServer
|
)
|
|
~CRootServerSession()
IMPORT_C
|
~CRootServerSession
|
(
|
)
|
[virtual]
|
RootserverSession destructor.
Member Functions Documentation
BindL(const RMessage2 &)
Bind two submodules. Binds two modules together by prompting the binding manager in the right way. If the top module is a server, then the bind type must be a hierarchical bind!
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
CancelBind(const RMessage2 &)
Cancel a bind request. Attempt to cancel a pending bind request between two modules. Simply looks for a match in the list of pending session handler requests.
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
CancelLoadCPM(const RMessage2 &)
Attempt to cancel a load cpm request. If a pending request is not found, we check that the module is running already. We cannot actually cancel a request as we cannot guarantee that it will not be completed just after we delete the request, which will therefore lead to a stray event - bad!
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
CancelUnbind(const RMessage2 &)
Cancel an unbind request. Attempt to cancel a previous request to unbind two submodules. Again tries to match a pending session handler request.
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
CancelUnloadCPM(const RMessage2 &)
Cancel an unload cpm request. If a pending unload request is found, then we still cannot cancel it, otherwise we may have a stray event as we cannot guarantee that the request would not be completed just after we attempt to cancel it.
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
CloseSession()
Close session to rootserver.
Disconnect(const RMessage2 &)
IMPORT_C void
|
Disconnect
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[protected, virtual]
|
EnumerateBindings(const RMessage2 &)
TInt
|
EnumerateBindings
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[protected]
|
Get binding info for a module. We fill a descriptor with bindInfo objects
Parameters
const
RMessage2
& aMessage
|
The message to be filled with bindInfo.
|
EnumerateModules(const RMessage2 &)
Enumerate the rootserver. Finds loaded modules in the root server and fills a descriptor list in the message
Parameters
const
RMessage2
& aMessage
|
The client message.
|
EnumerateSubModules(const RMessage2 &)
TInt
|
EnumerateSubModules
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[protected]
|
Enumerate the rootserver. Finds loaded modules in the root server and fills a descriptor list in the message
Parameters
const
RMessage2
& aMessage
|
The message to be filled with list of modules found.
|
Forward(const RMessage2 &)
Forwards a message to a module
GetModuleInfo(const RMessage2 &)
Get info for a module. Fills a descriptor with information regarding the module specified in the message
Parameters
const
RMessage2
& aMessage
|
The message to be filled with moduleInfo.
|
IsCallerConfigurator(const RMessage2 &)
TInt
|
IsCallerConfigurator
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[protected, virtual]
|
LoadCPML(const RMessage2 &)
Load a module. Generic load function for both servers and providers. Simply reads data from message and uses aModuleRequest to decide which type of load to kick off
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
RegisterHandler(CSessionHandler &)
void
|
RegisterHandler
|
(
|
CSessionHandler &
|
aHandler
|
)
|
|
Register session handlers.
Parameters
CSessionHandler & aHandler
|
Reference to handler to be registered to allow deletion
|
ServiceL(const RMessage2 &)
IMPORT_C void
|
ServiceL
|
(
|
const
RMessage2
&
|
aMessage
|
)
|
[virtual]
|
Messages are handled here.
Shutdown()
TInt
|
Shutdown
|
(
|
)
|
[protected]
|
Shutdown root server If there are any modules running, it creates a new handler for each one, which unload their module. When there are no more modules left running, the root server is shutdown
SuddenDeath(TInt)
IMPORT_C void
|
SuddenDeath
|
(
|
TInt
|
aError
|
)
|
|
Handles Sudden Death completion events
UnbindL(const RMessage2 &)
Unbind two submodules. Unbinds two modules by asking the bind manager to deal with request. Uses rootserver findProvider() and findServer() functions to check if requested modules are loaded
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
UnloadCPML(const RMessage2 &)
Unload a cpm. If the cpm requested to unload is found, then the bindmgr is called to shutdown the module
Parameters
const
RMessage2
& aMessage
|
The message which will be completed.
|
Member Data Documentation
TDblQue< CSessionHandler > iActiveHandlers
TDblQue
< CSessionHandler >
|
iActiveHandlers
|
[private]
|
CommsFW::TCFSubModuleAddress
iEnumBindings
CommsFW::TCFSubModuleNameF
iEnumSubs
TInt
iEnumerateBindingsIndex
TInt
|
iEnumerateBindingsIndex
|
[private]
|
TInt
iEnumerateModulesIndex
TInt
|
iEnumerateModulesIndex
|
[private]
|
TInt
iEnumerateSubModulesIndex
TInt
|
iEnumerateSubModulesIndex
|
[private]
|
TBool
iRequestActive
TBool
|
iRequestActive
|
[private]
|
CRootServer * iRootServer
TBool
iSuddenDeathListener
TBool
|
iSuddenDeathListener
|
[private]
|
RMessage2
iSuddenDeathMessage
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.