Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]


How to select CDMA or GSM SMS

SMS is supported on two radio networks, CDMA and GSM. Because of the differences in the SMS standards on the two networks, messaging's SMS support is implemented in different libraries for each. The following table summarises source, executable, and header locations for the two modes:

GSM

CDMA

Client MTM source

common/messaging/sms/clientmtm

common/messaging/sms/multimode/clientmtm

Server MTM source

common/messaging/sms/servermtm

common/messaging/sms/multimode/servermtm

Client MTM DLL

smcm_gsm.dll

smcm_cdma.dll

Server MTM DLL

smss_gsm.dll

smss_cdma.dll

Exported headers

epoc32\include\

epoc32\include\messaging\sms\

epoc32\include\

This page explains how to configure the emulator to use either GSM or CDMA libraries, and how to select which libraries go into a ROM.

Linking

An application does not link directly to either GSM or CDMA libraries. Instead, it links to thin 'shim' libraries that redirect function calls to the GSM or CDMA libraries, depending how the emulator is configured. The client MTM shim library is smcm.lib, the server MTM shim library is smss.lib.

For how to specify the libraries to link to and the headers to use in your mmp project file, see Project files.

Emulator configuration

You can configure the emulator either on the command line, or in a configuration file. To use the command line, add an option -DGSM or -DCDMA to the command line launching the emulator. For example,

> epoc -DCDMA

launches the emulator in the CDMA configuration.

Alternatively, you can set the configuration in the file epoc32\data\configuration.ini. To configure for CDMA, make an entry in this file as follows:

RadioBearer=CDMA

The emulator will default to the GSM configuration if no explicit setting is made on the command line or in the configuration file.

ROM building

When building a ROM, you should specify inclusion of only one set of libraries. The client MTM library should be named smcm.dll in the ROM, and the server mtm library smss.dll.

An IBY file to do this is provided in common\messaging\sms\multimode\group\GtSmsMtm.iby. It includes the CDMA MTM libraries if the macro CDMA is defined. This macro can be defined when building a ROM using buildrom by specifying an argument -DCDMA.