class RTelServer : public RSessionBase |
Root telephony server session.
Provides access to general telephony information and functionality. Clients wishing to use the ETel Server must open a connection with the root server using the functions defined in this class. They may then obtain information about loaded TSY modules, and the phones that they support. To access functionality associated with a specific phone, the client must open a sub-session for that phone.
This class is not intended for user derivation.
Public Member Functions | |
---|---|
RTelServer () | |
IMPORT_C TInt | EnumeratePhones ( TInt &) |
IMPORT_C TInt | GetPhoneInfo (const TInt , TPhoneInfo &) |
IMPORT_C TInt | GetTsyName (const TInt , TDes &) |
IMPORT_C TInt | GetTsyVersionNumber (const TDesC &, TVersion &) |
IMPORT_C TInt | IsSupportedByModule (const TDesC &, const TInt , TBool &) |
IMPORT_C TInt | LoadPhoneModule (const TDesC &) |
IMPORT_C TInt | SetExtendedErrorGranularity (const TErrorGranularity ) |
IMPORT_C TInt | SetPriorityClient () |
IMPORT_C TInt | SetPriorityClientV2 () |
IMPORT_C TInt | UnloadPhoneModule (const TDesC &) |
TVersion | Version () |
IMPORT_C TInt | __DbgFailNextAvailable ( TBool &) |
IMPORT_C TInt | __DbgMarkEnd ( TInt ) |
IMPORT_C TInt | __DbgMarkHeap () |
Public Member Enumerations | |
---|---|
enum | anonymous { KDefaultMessageSlots = 32 } |
enum | TErrorGranularity { EErrorBasic , EErrorExtended } |
enum | TNetworkType { ENetworkTypeWiredAnalog , ENetworkTypeWiredDigital , ENetworkTypeMobileAnalog , ENetworkTypeMobileDigital , ENetworkTypeUnknown } |
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes | |
RSessionBase:TAttachMode |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
IMPORT_C | RTelServer | ( | ) |
Empty default C++ constructor.
Constructs and empty RTelServer object, and is present only to support virtual function table export.
IMPORT_C TInt | EnumeratePhones | ( | TInt & | aNoOfPhones | ) | const |
Get the total number of phones supported by all the ETel (TSY) modules currently loaded.
TInt & aNoOfPhones | On return, contains the number of phones available. |
IMPORT_C TInt | GetPhoneInfo | ( | const TInt | aIndex, |
TPhoneInfo & | aInfo | |||
) | const |
Gets information associated with the specified phone.
const TInt aIndex | Index of the specified phone. |
TPhoneInfo & aInfo | On return, contains the phone information. |
IMPORT_C TInt | GetTsyName | ( | const TInt | aIndexOfPhone, |
TDes & | aTsyName | |||
) | const |
Gets the name of the TSY module to which the phone belongs.
IMPORT_C TInt | GetTsyVersionNumber | ( | const TDesC & | aTsyName, |
TVersion & | aVersion | |||
) | const |
IMPORT_C TInt | IsSupportedByModule | ( | const TDesC & | aTsyName, |
const TInt | aMixin, | |||
TBool & | aResult | |||
) | const |
Tests what types of extended functionality a TSY module supports. It is assumed the TSY module supports all functionality defined in this, the core, API.
const TDesC & aTsyName | The name of the TSY module. |
const TInt aMixin | A value defined in an enumeration defined in a public header file (etelmm.h) available both to the client and the TSY which represents a limited subset of functionality. |
TBool & aResult | On return, contains the result of the query: TRUE (functionality available) or FALSE (functionality unavailable). |
IMPORT_C TInt | LoadPhoneModule | ( | const TDesC & | aFileName | ) | const |
Loads an ETel TSY module. The TSY name should either be know beforehand and be hard coded or the name of the TSY to be loaded can be obtained by querying the CommDb for the current TSY.
The file name need not include the TSY extension, as this is added by the server.
Once loaded, information about the phone(s) added by the module can be accessed using the EnumeratePhones() and GetPhoneInfo() functions.
const TDesC & aFileName | The name of the module to be loaded. |
IMPORT_C TInt | SetExtendedErrorGranularity | ( | const TErrorGranularity | aGranularity | ) | const |
Requests the server to register the specified error granularity against the client which calls it.
The options for error granularity are:
core error granularity, the default, means that a client will only receive errors using ETel and System error codes
extended error granularity allows a client to receive richer error information, using additional proprietary client/TSY error codes
After registering interest in extended errors, the client will receive an extended error code whenever a requests ends in an error that is translated by the TSY into one of the proprietary extended error codes. If an error occurs that the TSY cannot translate into an extended error, then the TSY will return one of the core errors instead. For this reason, the core error space and the extended error space must not clash.
const TErrorGranularity aGranularity | Error granularity to set |
IMPORT_C TInt | SetPriorityClient | ( | ) | const |
This function has been deprecated. Use RTelServer::SetPriorityClientV2 followed by RPhone::SetEmergencyClient(EEmergencyCSVoiceCallRequest)
Requests the server to allocate priority status to the client that calls it.
To prevent an out of memory error, the server uses pre-allocated memory to service the requests of priority clients.
Only one client may have priority status in the system, and the first client to ask for it receives it. If another application has been given priority client status, the function returns KErrAlreadyExists.
If the API is called after the call to RPhone::SetEmergencyClient from the same session then the function returns KErrAlreadyExists.
Priority status should be requested early in an application's execution.
The server pre-allocates only a small amount of memory. If there is more than one active priority request it may run out. This was not an issue in v5 as there was only one priority request - the emergency call.
The API can be called only by the default phone application.
In case of hardware the API can be called by providing the SID of the default phone application in ETel.iby file found at A patchable constant KPriorityClientSid is used for defining the SID value.
For example: patchdata etel.dll 0x12345678
In case of emulator the API can be called by providing the SID of the default phone application in epoc.ini file found at
In epoc.ini file find the following line etel_KPriorityClientSid <SID>
For example: etel_KPriorityClientSid 0x12345678
IMPORT_C TInt | SetPriorityClientV2 | ( | ) | const |
Requests the server to allocate priority status to the client that calls it.
Only one client may have priority status in the system, and the first client to ask for it receives it. If another application has been given priority client status, the function returns KErrAlreadyExists.
Priority status should be requested early in an application's execution.
The API can be called only by the default phone application.
In case of hardware the API can be called by providing the SID of the default phone application in ETel.iby file found at A patchable constant KPriorityClientSid is used for defining the SID value.
In ETel.iby file find the following line patchdata etel.dll <SID>
For example: patchdata etel.dll 0x12345678
In case of emulator the API can be called by providing the SID of the default phone application in epoc.ini file found at
In epoc.ini file find the following line etel_KPriorityClientSid <SID>
For example: etel_KPriorityClientSid 0x12345678
IMPORT_C TInt | UnloadPhoneModule | ( | const TDesC & | aFileName | ) | const |
Unloads an ETel TSY module.
The file name need not include the TSY extension, as this is added by the server.
TSY modules are automatically unloaded when the RTelServer session is closed, unless in use by another session.
const TDesC & aFileName | The name of the module to be unloaded. |
IMPORT_C TInt | __DbgFailNextAvailable | ( | TBool & | aResult | ) |
Check that the simulated heap allocation failure event is still available in the ETel Server thread. This is performed using a peek into the heap allocation data.
This API is only available on debug releases.
TBool & aResult | Return parameter indicating if the failure event is enabled. (e.g. the previous call to __DbgFailNext() is still active and has not completed yet). |
IMPORT_C TInt | __DbgMarkEnd | ( | TInt | aCount | ) |
Perfom a heap mark end check using the standard Symbian OS __UHEAP_MARKENDC macro in the ETel Server thread.
This API is only available on debug releases.
TInt aCount | The number of heap cells expected to remain allocated at the current nest level. |
IMPORT_C TInt | __DbgMarkHeap | ( | ) |
Set a heap mark using the standard Symbian OS __UHEAP_MARK macro in the ETel Server thread.
This API is only available on debug releases.
Error granularity flags.
EErrorBasic |
Client is only interested in core errors |
EErrorExtended |
Client is interested in extended errors |
Types of telephony connection flags.
ENetworkTypeWiredAnalog |
Wired analog network. |
ENetworkTypeWiredDigital |
Wired digital network (not supported by ETel). |
ENetworkTypeMobileAnalog |
Mobile analog network (not supported by ETel). |
ENetworkTypeMobileDigital |
Mobile digital network. |
ENetworkTypeUnknown |
Unknown network type. |
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.