Symbian Developer Library



[Index] [Previous] [Next]

Override settings

Note: Override settings are only available in the legacy CommDb component which has been superceded by CommsDat. CommsDat does not support override settings since architectural changes to Comms will eventually make them redundant.



Overrides allow CommDb clients to override the settings in the database. The system's connection components will then use these settings for the following connection only.

Override settings are implemented by the CCommDbOverrideSettings class. Note that there is no need to explicitly open the communications database in order to use the override classes. The classes themselves access the communications database, but only to check that the tables and columns being overridden exist.


Non-overridable settings

All setings in all tables can be overridden except the following:

Some special conditions apply to overriding connection preferences, as explained below.


Getting and setting override settings

Override settings are set according to column type, i.e. the class provides a member function for setting each column type, for example SetIntOverride() and SetBoolOverride(). This means that the user of the class must know the type of the column for which an override is being set.

Existing override settings can also be retrieved by using corresponding functions, for example, GetIntOverride() and GetBoolOverride().


Full and partial override settings

A set of override settings can be declared as being either full or partial. A client is free to assign its own meaning to this idea, but the usual interpretation is that:

An instance of CCommDbOverrideSettings is declared as full or partial by passing a suitable TParamList parameter to its NewL() construction function.


Storing override settings

Override settings can be stored in a CBufStore by using CStoreableOverrideSettings, a sub-class of CCommDbOverrideSettings.

CStoreableOverrideSettings provides the additional behaviour for streaming to and from memory and may be more suitable for passing the information across threads or across processes.


Overriding connection preferences

CCommDbOverrideSettings is not used with the Connection preferences table. Instead, connection preferences can be overridden using SetConnectionPreferenceOverride(). This takes a CCommsDbConnectionPrefTableView::TCommDbIapConnectionPref parameter, which is used to specify which connection preference record to override, and the override values for the preferred bearer and/or the dialog. Direction and rank of a connection preference cannot be overridden.

Connection preference overrides can be retrieved with GetConnectionPreferenceOverride().