RRootServ Class Reference
class RRootServ : public RSessionBase |
The client interface to the Rootserver. Allows e.g. the Comms Reference Configurator application to configure the Comms Process with desired modules and bindings.
Public Member Functions |
---|
IMPORT_C TInt | AddMBufAllocInfo(const TRSAddMBufAllocInfoContainer &) |
IMPORT_C void | Bind(TRequestStatus &, TRSBindingInfo &) |
IMPORT_C void | CancelBind(TRSSubModuleAddress &, TRSSubModuleAddress &) |
IMPORT_C void | CancelLoadCpm(const TCFModuleName &) |
IMPORT_C void | CancelUnbind(TRSSubModuleAddress &, TRSSubModuleAddress &) |
IMPORT_C void | CancelUnloadCpm(const TCFModuleName &) |
IMPORT_C void | Close() |
IMPORT_C TInt | Connect() |
IMPORT_C TInt | EnumerateBindings(const TCFSubModuleAddress &, TRSIter &, TRSBindingInfo &) |
IMPORT_C TInt | EnumerateModules(TRSIter &, TCFModuleName &) |
IMPORT_C TInt | EnumerateSubModules(const TCFModuleName &, TRSIter &, TCFSubModuleName &) |
IMPORT_C TInt | GetModuleInfo(const TCFModuleName &, TRSModuleInfo &) |
IMPORT_C TBool | IsCallerConfigurationAuthority() |
IMPORT_C void | LoadCpm(TRequestStatus &, const TRSStartModuleParams &, const TDesC8 &) |
IMPORT_C void | SendMessage(TRequestStatus &, const TCFModuleName &, TInt, TDes8 &) |
IMPORT_C TInt | SendMessage(const TCFModuleName &, TInt, TDes8 &) |
IMPORT_C TInt | SetMBufPoolSize(TUint) |
IMPORT_C TInt | SetMBufPoolSize(TUint, TUint) |
IMPORT_C TInt | Shutdown() |
IMPORT_C void | Unbind(TRequestStatus &, TRSUnBindingInfo &) |
IMPORT_C void | UnloadCpm(TRequestStatus &, const TCFModuleName &, TRSUnLoadType) |
IMPORT_C TVersion | Version() |
IMPORT_C TInt | __DbgCheckHeap(TInt) |
IMPORT_C TInt | __DbgCheckMbuf(TInt) |
IMPORT_C TInt | __DbgFailNext(TInt) |
IMPORT_C TInt | __DbgFailNextMbuf(TInt) |
IMPORT_C TInt | __DbgMarkEnd(TInt) |
IMPORT_C TInt | __DbgMarkHeap() |
IMPORT_C TInt | __DbgMbufFreeSpace() |
IMPORT_C TInt | __DbgMbufTotalSpace() |
IMPORT_C TInt | __DbgSetMbufPoolLimit(TInt) |
Inherited Functions |
---|
| RHandleBase::Attributes()const |
| RHandleBase::BTraceId()const |
| RHandleBase::DoExtendedClose() |
| RHandleBase::Duplicate(const RThread &,TOwnerType) |
| RHandleBase::FullName()const |
| RHandleBase::FullName(TDes &)const |
| RHandleBase::Handle()const |
| RHandleBase::HandleInfo(THandleInfo *) |
| RHandleBase::Name()const |
| RHandleBase::NotifyDestruction(TRequestStatus &) |
| RHandleBase::Open(const TFindHandleBase &,TOwnerType) |
| RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt) |
| RHandleBase::RHandleBase() |
| RHandleBase::RHandleBase(TInt) |
| RHandleBase::SetHandle(TInt) |
| RHandleBase::SetHandleNC(TInt) |
| RSessionBase::CreateSession(RServer2,const TVersion &) |
| RSessionBase::CreateSession(RServer2,const TVersion &,TInt) |
| RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *) |
| RSessionBase::CreateSession(const TDesC &,const TVersion &) |
| RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt) |
| RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *) |
| RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *) |
| RSessionBase::Open(RMessagePtr2,TInt,TOwnerType) |
| RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType) |
| RSessionBase::Open(TInt,TOwnerType) |
| RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType) |
| RSessionBase::Send(TInt)const |
| RSessionBase::Send(TInt,const TIpcArgs &)const |
| RSessionBase::SendReceive(TInt)const |
| RSessionBase::SendReceive(TInt,TRequestStatus &)const |
| RSessionBase::SendReceive(TInt,const TIpcArgs &)const |
| RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const |
| RSessionBase::SetReturnedHandle(TInt) |
| RSessionBase::SetReturnedHandle(TInt,RHandleBase &) |
| RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &) |
| RSessionBase::ShareAuto() |
| RSessionBase::ShareProtected() |
Member Functions Documentation
AddMBufAllocInfo(const TRSAddMBufAllocInfoContainer &)
Adds information to the MBufManager about how it should allocate MBufs of a given.
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Bind(TRequestStatus &, TRSBindingInfo &)
Binds two modules. Several types of binding are available: EHierarchical is the standard top-bottom binding in the protocol hierarchy. If this type is specified, iName1 of TRSBindingInfo is considered top-level module of the binding and iName2 is considered the bottom-level part. Also, this type of binding allows the top-level module to be a server. ECustom is a "Horizontal" binding between two CPM's. Typical use is when a CPM employs another CPM for doing some processing and communicates via the standard message queues. TRSBindingInfo
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TRequestStatus & aStatus | The request status used to contain completion information for the function. |
TRSBindingInfo & aBindInfo | The information regarding the binding request. |
CancelBind(TRSSubModuleAddress &, TRSSubModuleAddress &)
Cancels asynchronous binding of two modules. There is no guarantee the binding is canceled. A best effort is made and the asynchronous request waiting for the module to load returns KErrCanceled on success. TRSSubModuleAddress
CancelLoadCpm(const TCFModuleName &)
Cancels asynchronous loading of a comms Provider Module. There is no guarantee the module loading is canceled. A best effort is made and the asynchronous request waiting for the module to load returns with KErrCanceled on success. TCFModuleName
CancelUnbind(TRSSubModuleAddress &, TRSSubModuleAddress &)
Cancels asynchronous unbinding of two modules. There is no guarantee the unbinding is canceled. A best effort is made and the asynchronous request waiting for the module to load returns KErrCanceled on success. TRSSubModuleAddress
CancelUnloadCpm(const TCFModuleName &)
Cancel asynchronous unloading of a comms Provider Module. There is no guarantee the module unloading is canceled. A best effort is made and the asynchronous request waiting for the module to load returns KErrCanceled on success. TCFModuleName
Close()
Tells server that this session is being closed
Connect()
Use this function to open a session to the Root Server. Default number of message slots is defined in KDefaultMessageSlots. As with any server, the connection should be closed after use. RHandleBase provides the necessary Close() function, which should be called when the server session is no longer required.
EnumerateBindings(const TCFSubModuleAddress &, TRSIter &, TRSBindingInfo &)
Gets information about the bindings on one module. The client can enumerate bindings one at a time, with the first message specifying the iReset flag (in the TRSEnumerateBindInfo struct) true, and subsequent requests for all bind infos specify this as false, in which case the Root Server will write from where it left off from the last request. TCFSubModuleAddress TRSIter TRSBindingInfo
Parameters
const TCFSubModuleAddress & aSubModuleAddr | The address of the SubModule in question |
TRSIter & aPosition | Position in enumeration. Correlator for the Rootserver. |
TRSBindingInfo & aBinding | On succesful return contains binding information. |
EnumerateModules(TRSIter &, TCFModuleName &)
Through repeated calls returns the list of names of running Comms Provider Modules. Notes:
The current position in an enumeration is maintained for each client session, meaning that to perform two consecutive enumerations two RRootServ's must be used.
The order in which the modules are returned is undefined.
The enumeration returned is not a snapshot from the start, i.e. if modules are loaded or unloaded during the enumeration then a module could be skipped or returned twice. TRSIter TCFModuleName
EnumerateSubModules(const TCFModuleName &, TRSIter &, TCFSubModuleName &)
Returns a list of running Comms Provider Modules. The client can enumerate sub-modules one at a time by providing a TCFSubModuleName. The enumerator aPosition is a correlator for Rootserver use. TCFModuleName TRSIter TCFSubModuleName
GetModuleInfo(const TCFModuleName &, TRSModuleInfo &)
Gets information about one module. TCFModuleName TRSModuleInfo
IsCallerConfigurationAuthority()
IMPORT_C TBool | IsCallerConfigurationAuthority | ( | ) | const |
Tests whether the calling process is deemed to be the RootServer Configurator. While multiple instances of the configurator process may connect only the first (at one time) can take the role of being the authority for configuration; others might watch but should not take action.
LoadCpm(TRequestStatus &, const TRSStartModuleParams &, const TDesC8 &)
Launch a new Comms Provider Module. The name of the new CPM instance (aParams.iParams.iName) must be unique and must be used in any further communication concerning this CPM instance, such as binding. The contents of the initialisation data parameter (aIniData) are specific to the module. It could be empty, contain the contents of an associated INI file or contain some other data specified by the specific CPM implementation. Attempts to load a CPM with a name equal to that of an existing CPM is not possible. It is required that the DLL contains the CPM secondary UID of 0x101f7418. TRSStartModuleParams
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TRequestStatus & aStatus | The request status used to contain completion information for the function. |
const TRSStartModuleParams & aParams | Parameters needed to load the Provider Module. |
const TDesC8 & aIniData | Module specific ini data. |
SendMessage(TRequestStatus &, const TCFModuleName &, TInt, TDes8 &)
Sends a message to the module TCFMessageType for message/data types supported by ESOCK directly CNetMessage
Parameters
TRequestStatus & aStatus | The request status used to contain completion information for the function. |
const TCFModuleName & aName | |
TInt aType | a type determining the type of data in aData param |
TDes8 & aData | a data specific to the message and it's type given by aType. All aData is expected to be CNetMessage based serialised instance |
SendMessage(const TCFModuleName &, TInt, TDes8 &)
Sends a message to the module TCFMessageType for message/data types supported by ESOCK directly CNetMessage
Parameters
const TCFModuleName & aName | |
TInt aType | a type determining the type of data in aData param |
TDes8 & aData | a data specific to the message and it's type given by aType. All aData is expected to be CNetMessage based serialised instance |
SetMBufPoolSize(TUint)
Set the size of the MBuf pool. This function can only be called before the first server module is loaded.
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TUint aPoolSize | Defines the new size of the Comms buffer pool in number of bytes. |
SetMBufPoolSize(TUint, TUint)
Set the size of the MBuf pool. This function can only be called before the first server module is loaded.
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TUint aInitPoolSize | Defines the maximum size of the new Comms Buffer Pool can grow to |
TUint aMaxPoolSize | |
Shutdown()
Shuts down RootServer
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Unbind(TRequestStatus &, TRSUnBindingInfo &)
Unbinds two modules. All bindings between the two modules are unbound and the states for each module are updated in the object. TRSUnBindingInfo
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TRequestStatus & aStatus | The request status used to contain completion information for the function. |
TRSUnBindingInfo & aUnBindInfo | Holds the unbinding info. |
UnloadCpm(TRequestStatus &, const TCFModuleName &, TRSUnLoadType)
Unloads a Comms Provider Module. TCFModuleName TRSUnLoadType
- capability
- NetworkControl The Security ID of the caller will be checked to ensure that this request came from the comms configurator
Parameters
TRequestStatus & aStatus | The request status used to contain completion information for the function. |
const TCFModuleName & aName | Name of module to unload |
TRSUnLoadType aType | Type of unload (optional/graceful/ungraceful). |
Version()
Returns the client side version number. Use this function to get the version number. The version number may be incremented in future releases of the Root Server. If extra features are added in such releases, the version number may be used by application programs as a basis for assessing the capabilities of the Root Server.
__DbgCheckHeap(TInt)
Sets a heap mark in the root server
__DbgFailNext(TInt)
Sets a heap mark in the root server
__DbgFailNextMbuf(TInt)
IMPORT_C TInt | __DbgFailNextMbuf | ( | TInt | aCount | ) | |
Sets a Mbuf mark in the root server
__DbgMarkEnd(TInt)
Sets a heap mark in the root server
__DbgMarkHeap()
IMPORT_C TInt | __DbgMarkHeap | ( | ) | |
Sets a heap mark in the root server
__DbgMbufFreeSpace()
IMPORT_C TInt | __DbgMbufFreeSpace | ( | ) | |
Gets the amount of free space in the MBuf manager
__DbgMbufTotalSpace()
IMPORT_C TInt | __DbgMbufTotalSpace | ( | ) | |
Gets the amount of free space in the MBuf manager
__DbgSetMbufPoolLimit(TInt)
IMPORT_C TInt | __DbgSetMbufPoolLimit | ( | TInt | asize | ) | |
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.