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.