![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Introduced in ER5, CommDb is the EPOC communications database server. This server provides access to an (extensible) database which holds information about Internet Service Providers (ISPs), modems, locations, charge-cards and communications related timeouts.
CommDb replaces DialStore which was offered in ER3. Any existing programs which use DialStore need to note this change. Note that DialStore was not documented for ER3.
The database provides a single repository of communications related information which all communications type software components and applications can access.
The information is held in the form of individual tables within a single database managed by CommDb. The classes provided by CommDb use DBMS in their implementation and it is DBMS which provides the underlying behaviour for handling the database itself. In effect, CommDb is a layer over DBMS.
CommDb allows multiple clients to access concurrently the tables within the communications database. The locking mechanism of the underlying DBMS allows concurrent access by multiple clients while safeguarding the integrity of the database for changes.
CommDb provides the following items in the communications database:
Section Contents
A client must first access the communications database through DBMS. This is done using the services of a CCommsDatabase object.
A client constructs a CCommsDatabase object using the static NewL() function of the CCommsDatabase class. It then calls the Open() member function of CCommsDatabase to connect to the DBMS and then to open the database on behalf of the client. In common with all servers, the first client to attempt to connect to the server causes that server to start. The database is opened with shared access.
Note that if the communications database does not exist when Open() is called, it is created, with empty tables, before trying to connect to the DBMS.
Access to an individual table is gained by opening a view on that table. A view is simply a subset of the records (or rows) within a table, selected according to defined criteria. Tables, records, rows, columns etc. are DBMS concepts.
CommDb uses a CCommsDbTableView object to encapsulate a view on a specific table. A client constructs a view using one of the CCommsDatabase member functions:
Each function offers a different way of building a view; for example, OpenTableLC() builds a view where all the records in the table are selected, while OpenViewMatchingUintLC() builds a view where the records are selected based on matching the unsigned integer values in a named column.
All of these functions construct a CCommsDbTableView object which is subsequently used to navigate through the recordset and access individual records.
Within a given view, there is always the idea of a cursor which points to a current record. The CCommsDbTableView class offers three functions which allow a client to navigate between records:
The CCommsDbTableView class offers functions which allow a client to read from or write to named columns within the current record. There are specific functions for reading and writing columns of: unsigned integer type, boolean type, short length narrow (ASCII) text, short length wide (UNICODE) text and long text (ASCII or UNICODE):
See also column types.
All changes must start with a call to the CCommsDbTableView member functions InsertRecord() or UpdateRecord(), depending on whether a new record is to be inserted or the current record changed, and must complete with a call to either PutRecordChanges() or CancelRecordChanges().
For example, to change two columns of the current record, the following sequence of calls would be coded:
UpdateRecord() WriteUintL() WriteTextL() PutRecordChanges()
PutRecordChanges() confirms the changes to the record while CancelRecordChanges() causes the changes to be abandoned.
No read type operations can be made while a change to a record is in progress. Any attempt to call a read type function in between, for example, a call to UpdateRecord() and a call to PutRecordChanges(), raises a panic.
Records are deleted by a call to the CCommsDbTableView member function DeleteRecord().
This function is not normally followed by any write operations; in addition, neither of the functions PutRecordChanges() nor CancelRecordChanges() is called after a record is deleted.
More than one client can concurrently share information in the database without fear of it being changed while in use.
CommDb uses the concept of transactions to implement this, making use of the underlying DBMS mechanism to set the necessary locks.
Within a transaction, a client can safely read records without fear that those records may be changed between successive read operations. A client can also, safely, make changes to the database within a transaction.
The CCommsDatabase class provides three member functions which provide the necessary support for transactions:
BeginTransaction() marks the beginning of a transaction; it tries to get a shared read-lock on the database. Other clients can also get a shared read-lock on the database allowing them to read records concurrently
Once a client has a shared read-lock, any subsequent operation by that client which attempts to write to the database will attempt to upgrade the shared read-lock to an exclusive write-lock on the database; this succeeds only if no other client already has a lock on the database. This behaviour is provided by the underlying DBMS.
CommitTransaction() marks the end of the transaction committing any changes to the table; it unlocks the database, removing the client's shared read-lock if no write operations were performed or the exclusive write-lock if write operations were performed.
RollbackTransaction() marks the end of the transaction but abandons any changes made since the call to BeginTransaction(); it unlocks the database, removing the client's shared read-lock if no write operations were performed or the exclusive write-lock if write operations were performed.
For example, to change two columns of the current record, the following sequence of calls would be coded:
BeginTransaction() //Gets a shared read-lock on the database UpdateRecord() WriteUintL() //Tries to upgrade to an exclusive write-lock WriteTextL() PutRecordChanges() CommitTransaction() //Unlocks database
To read more than one record and guarantee that the content of each record does not change between the read operations, then wrap the set of read operations within a transaction. For example:
BeginTransaction() //Gets a shared read-lock on the database ReadUintL() GotoNextRecord() ReadUintL() CommitTransaction() //Unlocks database
No changes are made to the database.
Note that BeginTransaction() and CommitTransaction() are reference counted; this means that a transaction is not committed until CommitTransaction() has been called the same number of times that BeginTransaction() has been called.
A notification service is available allowing a client to be notified when significant changes are made to the database by other clients (and also changes made by itself).
The type of change events are those defined by the underlying DBMS used by CommDb. The specific change events are defined by the enumerators of the RDbNotifier::TEvent enumeration defined in d32dbms.h
.
As is common with this kind of service, the request is an asynchronous request which is initiated by call to the RequestNotification() member function of CCommsDatabase and remains outstanding until a change to the database occurs or it is cancelled by a subsequent call to the CancelRequestNotification() member function of CCommsDatabase.
Many of the tables can have a default record. This is just the record which is marked as the default by the client. Usually, this will be the most commonly used record or the last record used in the table.
The way in which a default record is used is determined by the client. For example, in the case of the ISP, it may be the ISP to connect to when no other is specified.
The following specific tables can have a default record:
CommDb maintains the connection between a table name and the Id of that table's default record in an internal table.
CommDb provides suppport for the storage and retrieval of both a client timeout value and a route timeout value.
These values are not accessible from any specific table; instead the CCommsDatabase class provides member functions to set and fetch the values:
CommDb supports the idea of a template record. A template record contains default values which are used if the corresponding column in a specific record has a NULL value.
The modem configuration table is an example; each record in the table corresponds to a modem. While the amount of information for each modem is large, much of it is common to nearly all modems and can be held in the single template record. Each modem configuration record need only define the information that is specific to that modem. If, for a given modem, the default value for a specific piece of information is sufficient, then that column in that modem's configuration record is NULL.
This behaviour becomes clear when reading a column from a record using the ReadUintL(), ReadBoolL(), ReadTextL() and ReadLongTextLC() member functions of a CCommsDbTableView object.
CommDb provides the CCommsDbTemplateRecord class through which template records can be accessed. They should not be accessed through the other views; indeed, template records are marked as hidden and, by default, are not normally included in the other views.
The modem configuration table, with symbolic name MODEM_CONFIG, is the only table which can have a template record:
When a client inserts or updates a record using the PutRecordChanges() member function of CCommsDbTableView, it can mark the record as hidden. By default, a client cannot see hidden records; i.e. hidden records are excluded from views on tables unless:
CommDb offers a facility to clients for holding override values for columns of a table. While CommDb implements this mechanism, it is the client who decides how the overrides are used. CommDb's role is restricted to holding the override values and ensuring that the columns specified by the client exist and are of the correct type.
Override settings are implemented by the CCommDbOverrideSettings class.
While an override value can be specified for almost all column types defined by CommDb, the use of override settings is restricted to the following tables:
A set of override settings, as encapsulated by an instance of the CCommDbOverrideSettings class, can be declared as being either full or partial. The 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.
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().
The CCommDbOverrideSettings class can also maintain an override setting for the Id of the default record. This is done through the SetIntOverride() member function by passing an empty column name. The function interprets this as a request for setting an override for the Id and checks that the table supports default records.
The CStoreableOverrideSettings class derives from the CCommDbOverrideSettings class and provides additional functionality to allow the override settings to be stored in a CBufStore.
CStoreableOverrideSettings also provides the additional behaviour for streaming to and from memory and may be more suitable for passing the information across threads or across processes.
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.
Section Contents
The table name is defined by the symbol DIAL_OUT_SERVICE in cdbcols.h
The following list itemizes all the columns in this table.
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
COMMDB_DATA_BITS |
Data bits for login |
TUint8 |
yes |
COMMDB_STOP_BITS |
Stop bits for login |
TUint8 |
yes |
COMMDB_PARITY |
Parity for login |
TUint8 |
yes |
ISP_DIAL_RESOLUTION |
Perform dialling resolution for default phone number? |
TBool |
no |
ISP_SUGGEST_MODEM |
Suggest the modem to be used with this ISP? |
TBool |
no |
ISP_MODEM_ID |
ID of suggested modem |
TUint32 |
yes |
ISP_DEFAULT_TEL_NUM |
Default phone number |
Text |
yes |
ISP_ALT_LOC1 |
Alt Loc 1: |
TUint32 |
yes |
ISP_ALT_TEL_NUM1 |
Alt Tel Num 1: |
Text |
yes |
ISP_DIAL_RES_ALT_LOC1 |
Dial Res Alt Loc 1: |
TBool |
no |
ISP_ALT_LOC2 |
Alt Loc 2: |
TUint32 |
yes |
ISP_ALT_TEL_NUM2 |
Alt Tel Num 2: |
Text |
yes |
ISP_DIAL_RES_ALT_LOC2 |
Dial Res Alt Loc 2: |
TBool |
no |
ISP_PROMPT_FOR_LOGIN |
Prompt user for username and password? |
TBool |
no |
ISP_USE_LOGIN_SCRIPT |
Use login script? |
TBool |
yes |
ISP_LOGIN_SCRIPT |
Login script (used if Use Login Script is true) |
Text |
yes |
ISP_LOGIN_NAME |
Login name |
Text |
yes |
ISP_LOGIN_PASS |
Login Password |
Text |
yes |
ISP_DISPLAY_PCT |
Display PCT (without scanning script for READ command)? |
TBool |
yes |
ISP_IF_NAME |
Interface name, e.g. "PPP" or "SLIP" |
Text |
no |
ISP_IF_PARAMS |
Interface parameter string |
Text |
yes |
ISP_IF_NETWORKS |
Comma separated list of network protocols, e.g. "PPP" |
Text |
yes |
ISP_IF_PROMPT_FOR_AUTH |
Prompt user for authentication username and password? |
TBool |
no |
ISP_IF_AUTH_NAME |
Authentication username used by PPP |
Text |
yes |
ISP_IF_AUTH_PASS |
Authentication password used by PPP |
Text |
yes |
ISP_IF_CALLBACK_ENABLED |
Callback enabled? |
TBool |
yes |
ISP_IF_CALLBACK_TYPE |
Type of callback (if enabled) |
TUint32 |
yes |
ISP_IF_CALLBACK_INFO |
Info for callback request (if enabled) |
Text |
yes |
ISP_IP_ADDR_FROM_SERVER |
Get IP address from server? |
TBool |
no |
ISP_IP_ADDR |
IP address of interface |
Text |
yes |
ISP_IP_NETMASK |
IP net mask of interface |
Text |
yes |
ISP_IP_GATEWAY |
IP address of gateway |
Text |
yes |
ISP_IP_DNS_ADDR_FROM_SERVER |
Get DNS addresses from server? |
TBool |
no |
ISP_IP_NAME_SERVER1 |
IP Address of primary name server |
Text |
yes |
ISP_IP_NAME_SERVER2 |
IP Address of secondary name server |
Text |
yes |
ISP_IP_HOST_NAME |
Internet host name |
Text |
yes |
ISP_IP_DOMAIN_NAME |
Internet domain name |
Text |
yes |
ISP_IP_DEFAULT_ROUTE |
Make this interface the default route when opened? |
TBool |
no |
ISP_ENABLE_IP_HEADER_COMP_FIELD |
Enable IP header compression field? |
TBool |
yes |
ISP_ENABLE_LCP_EXTENSION |
Enable LCP extensions? |
TBool |
yes |
ISP_DISABLE_PLAIN_TEXT_AUTH |
Disable plain text authentication? |
TBool |
yes |
ISP_ENABLE_SW_COMP_FIELD |
Enable software compression field? |
TBool |
yes |
ISP_DESCRIPTION |
Applications description of ISP |
Text |
yes |
ISP_TYPE |
ISP type |
TUint32 |
yes |
The table name is defined by the symbol DIAL_IN_SERVICE in cdbcols.h
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
COMMDB_DATA_BITS |
Data bits for login |
TUint8 |
yes |
COMMDB_STOP_BITS |
Stop bits for login |
TUint8 |
yes |
COMMDB_PARITY |
Parity for login |
TUint8 |
yes |
ISP_USE_LOGIN_SCRIPT |
Use login script? |
TBool |
yes |
ISP_LOGIN_SCRIPT |
Login script (used if Use Login Script is true) |
Text |
yes |
ISP_AUTHENTICATION |
UNUSED (will eventually point to some authentication table/group) |
TUint32 |
yes |
ISP_IF_NAME |
Interface name, e.g. "PPP" or "SLIP" |
Text |
no |
ISP_IF_PARAMS |
Interface parameter string |
Text |
yes |
ISP_IF_NETWORKS |
Comma separated list of network protocols, e.g. "PPP" |
Text |
yes |
ISP_IP_ADDR_FROM_SERVER |
Get IP address from server? |
TBool |
no |
ISP_IP_ADDR |
IP address of interface |
Text |
yes |
ISP_IP_NETMASK |
IP net mask of interface |
Text |
yes |
ISP_IP_GATEWAY |
IP address of gateway |
Text |
yes |
ISP_IP_DNS_ADDR_FROM_SERVER |
Get DNS addresses from server? |
TBool |
no |
ISP_IP_NAME_SERVER1 |
IP Address of primary name server |
Text |
yes |
ISP_IP_NAME_SERVER2 |
IP Address of secondary name server |
Text |
yes |
ISP_IP_HOST_NAME |
Internet host name |
Text |
yes |
ISP_IP_DOMAIN_NAME |
Internet domain name |
Text |
yes |
ISP_IP_DEFAULT_ROUTE |
Make this interface the default route when opened? |
TBool |
no |
ISP_ENABLE_IP_HEADER_COMP_FIELD |
Enable IP header compression field? |
TBool |
yes |
ISP_ENABLE_LCP_EXTENSION |
Enable LCP extensions? |
TBool |
yes |
ISP_DISABLE_PLAIN_TEXT_AUTH |
Disable plain text authentication? |
TBool |
yes |
ISP_ENABLE_SW_COMP_FIELD |
Enable software compression field? |
TBool |
yes |
ISP_DESCRIPTION |
Applications description of ISP |
Text |
yes |
ISP_TYPE |
ISP type |
TUint32 |
yes |
This table contains general, data and fax initialisation strings for modems. However, it also includes information about the AT control strings required to effect a host of modem actions (such as changing the modem monitor volume level).
For a general discussion on how EPOC expects to interact with modems and a more detailed discussion of comms related topics including fax, see the EPOC Communications Technical Paper.
This table supports the use of a template record. The template record is intended to contain information which is common to most modems. The modem configuration records will, therefore, be small, only containing the columns whose values differ from default values contained in the template record.
CommDb does not supply a template record for this table; however, a template record is created by the EPOC control panel.
The information listed under the heading Suggested Template Value in the following list, gives a suggested default value for that column in the template record; i.e. it is the value which is assumed when that same column in the specific modem configuration record is NULL.
The table name is defined by the symbol MODEM_CONFIG in cdbcols.h
.
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Suggested Template Value |
Null? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
|
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
|
no |
COMMDB_DATA_BITS |
Data bits |
TUint8 |
EData8 |
no |
COMMDB_STOP_BITS |
Stop bits |
TUint8 |
EStop1 |
no |
COMMDB_PARITY |
Parity |
TUint8 |
EParityNone |
no |
MODEM_RATE |
Baud rate |
TUint32 |
EBps115200 |
no |
MODEM_HANDSHAKING |
Handshaking |
TUint32 |
0 |
yes |
MODEM_PARITY_ERROR |
Parity error |
TUint32 |
KConfigParityErrorIgnore |
yes |
MODEM_FIFO |
FIFO |
TUint8 |
EFifoEnable |
yes |
MODEM_SPECIAL_RATE |
Special rate |
TUint32 |
0 |
yes |
MODEM_TERMINATOR_COUNT |
Terminator count |
TUint8 |
2 |
yes |
MODEM_TERMINATOR0 |
First terminator character |
TUint8 |
0x0a |
yes |
MODEM_TERMINATOR1 |
Second terminator character |
TUint8 |
0x0d |
yes |
MODEM_TERMINATOR2 |
Third terminator character |
TUint8 |
none |
yes |
MODEM_TERMINATOR3 |
Fourth terminator character |
TUint8 |
none |
yes |
MODEM_XON_CHAR |
Xon character |
TUint8 |
0 |
yes |
MODEM_XOFF_CHAR |
Xoff Character |
TUint8 |
0 |
yes |
MODEM_PARITY_ERROR_CHAR |
Parity error character |
TUint8 |
0 |
yes |
MODEM_SIR_ENABLE |
SIR enable |
TUint8 |
ESIRDisable |
yes |
MODEM_SIR_SETTINGS |
SIR settings |
TUint32 |
0 |
yes |
MODEM_MODEM_INIT_STRING |
General Modem initialisation string |
Text |
AT |
yes |
MODEM_DATA_INIT_STRING |
Data Initialisation string |
Text |
AT |
yes |
MODEM_FAX_INIT_STRING |
Fax Initialisation string |
Text |
AT |
yes |
MODEM_DIAL_PAUSE_LENGTH |
Dial Pause Length: |
Text |
S8= |
yes |
MODEM_CARRIER_TIMEOUT |
Carrier Timeout: |
Text |
S7= |
yes |
MODEM_AUTO_ANSWER_RING_COUNT |
Auto Answer Ring Count: |
Text |
S0= |
yes |
MODEM_SPEAKER_VOL_CONTROL_LOW |
Speaker Volume Control Low: |
Text |
L0 |
yes |
MODEM_SPEAKER_VOL_CONTROL_MEDIUM |
Speaker Volume Control Medium: |
Text |
L1 |
yes |
MODEM_SPEAKER_VOL_CONTROL_HIGH |
Speaker Volume Control High: |
Text |
L2 |
yes |
MODEM_SPEAKER_ALWAYS_OFF |
Speaker Always Off: |
Text |
M0 |
yes |
MODEM_SPEAKER_ON_UNTIL_CARRIER |
Speaker On Until Carrier: |
Text |
M1 |
yes |
MODEM_SPEAKER_ALWAYS_ON |
Speaker Always On: |
Text |
M2 |
yes |
MODEM_SPEAKER_ON_AFTER_DIAL_UNTIL_CARRIER |
Speaker On After Dial Until Carrier: |
Text |
M3 |
yes |
MODEM_DIAL_TONE_WAIT_MODIFIER |
Dial Tone Wait Modifier: |
Text |
W |
yes |
MODEM_CALL_PROGRESS_1 |
Call Progress 1: |
Text |
X1 |
yes |
MODEM_CALL_PROGRESS_2 |
Call Progress 2: |
Text |
X2 |
yes |
MODEM_CALL_PROGRESS_3 |
Call Progress 3: |
Text |
X3 |
yes |
MODEM_CALL_PROGRESS_4 |
Call Progress 4: |
Text |
X4 |
yes |
MODEM_ECHO_OFF |
Switch echo mode off |
Text |
E0 |
yes |
MODEM_VERBOSE_TEXT |
Switch verbose mode on |
Text |
V1 |
yes |
MODEM_QUIET_OFF |
Switch quiet mode off |
Text |
Q0 |
yes |
MODEM_QUIET_ON |
Switch quiet mode on |
Text |
Q1 |
yes |
MODEM_DIAL_COMMAND_STATE_MODIFIER |
Dial Command State Modifier: |
Text |
; |
yes |
MODEM_ON_LINE |
Enter on-line mode from on-line command mode. |
Text |
O |
yes |
MODEM_RESET_CONFIGURATION |
Reset the modem configuration. |
Text |
Z |
yes |
MODEM_RETURN_TO_FACTORY_DEFS |
Return the modem configuration to its factory defaults. |
Text |
&F |
yes |
MODEM_DCD_ON_DURING_LINK |
DCD On During Link: |
Text |
&C1 |
yes |
MODEM_DTR_HANG_UP |
DTR Hang Up: |
Text |
&D2 |
yes |
MODEM_DSR_ALWAYS_ON |
DSR Always On: |
Text |
&S0 |
yes |
MODEM_RTS_CTS_HANDSHAKE |
RTS CTS Handshake: |
Text |
&K3 |
yes |
MODEM_XON_XOFF_HANDSHAKE |
Xon Xoff Handshake: |
Text |
&K4 |
yes |
MODEM_ESCAPE_CHARACTER |
Escape Character: |
Text |
+ |
yes |
MODEM_ESCAPE_GUARD_PERIOD |
Escape Guard Period: |
Text |
S12= |
yes |
MODEM_FAX_CLASS_INTERROGATE |
Fax Class Interrogate: |
Text |
+FCLASS=? |
yes |
MODEM_FAX_CLASS |
Fax Class: |
Text |
+FCLASS= |
yes |
MODEM_NO_DIAL_TONE |
No dial tone detected |
Text |
NO DIALTONE |
yes |
MODEM_BUSY |
Busy tone detected |
Text |
BUSY |
yes |
MODEM_NO_ANSWER |
No answer detected |
Text |
NO ANSWER |
yes |
MODEM_CARRIER |
Carrier report message |
Text |
CARRIER |
yes |
MODEM_CONNECT |
Connection report message |
Text |
CONNECT |
yes |
MODEM_COMPRESSION_CLASS_5 |
Compression Class 5 report message |
Text |
COMPRESSION: CLASS 5 |
yes |
MODEM_COMPRESSION_V42BIS |
Compression V.42 bis report message |
Text |
COMPRESSION: V.42 bis |
yes |
MODEM_COMPRESSION_NONE |
No compression report message |
Text |
COMPRESSION: NONE |
yes |
MODEM_PROTOCOL_LAPD |
LAPD protocol report message |
Text |
PROTOCOL: LAPD |
yes |
MODEM_PROTOCOL_ALT |
ALT protocol report message |
Text |
PROTOCOL: ALT |
yes |
MODEM_PROTOCOL_ALTCELLULAR |
ALT-CELLULAR report message |
Text |
PROTOCOL: ALT-CELLULAR |
yes |
MODEM_PROTOCOL_NONE |
No protocol report message |
Text |
PROTOCOL: NONE |
yes |
MODEM_DEFAULT_PORT_NAME |
Default Port Name: |
Text |
|
yes |
MODEM_DEFAULT_TSY_NAME |
Default TSY Name: |
Text |
|
yes |
MODEM_DEFAULT_CSY_NAME |
Default CSY Name: |
Text |
|
yes |
MODEM_DEFAULT_FAX_CLASS |
Default fax class |
TUint32 |
|
no |
MODEM_DEFAULT_SPEAKER |
Default speaker mode |
TUint32 |
|
no |
MODEM_DEFAULT_SPEAKER_VOLUME |
Default speaker volume |
TUint32 |
|
no |
MODEM_DEFAULT_PAUSE_TIME |
Default Pause Time: |
TUint32 |
|
no |
This table contains information on the connected modem; the table only has one record.
Typically, the record in this table has a corresponding record in the Modem configuration table. The TSY Config Id column (symbol MODEM_TSY_CONFIG_ID) is the link to the Modem Configuration Table.
When this column is set in a record in this table, columns containing default values are copied from the corresponding Modem configuration table record into columns in this record; in addition, other columns from corresponding Modem Configuration Table record are copied to the default record in the Modem preferences table. See the WriteUintL() member function of the CCommsDbTableView class for finer detail.
The table name is defined by the symbol CONNECTED_MODEM in cdbcols.h
.
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
MODEM_PORT_NAME |
Port Name: |
Text |
no |
MODEM_TSY_NAME |
TSY Name: |
Text |
yes |
MODEM_CSY_NAME |
CSY Name: |
Text |
yes |
MODEM_TSY_CONFIG_ID |
TSY Config ID: |
TUint32 |
yes |
A table containing just one record (also marked as the default record) containing preferred modem characteristics.
The table name is defined by the symbol MODEM_PREFS in cdbcols.h
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
MODEM_FAX_CLASS |
Preferred fax class |
TUint8 |
no |
MODEM_SPEAKER |
Preferred speaker mode |
TUint8 |
no |
MODEM_SPEAKER_VOLUME |
Preferred speaker volume |
TUint8 |
no |
MODEM_PAUSE_TIME |
Preferred pause time indicated by use of comma character in dial string |
TUint32 |
no |
The table name is defined by the symbol LOCATION in cdbcols.h
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
LOCATION_INTL_PREFIX_CODE |
International prefix code |
Text |
yes |
LOCATION_NAT_PREFIX_CODE |
National prefix code |
Text |
yes |
LOCATION_NAT_CODE |
National code |
Text |
yes |
LOCATION_AREA_CODE |
Area code |
Text |
yes |
LOCATION_DIAL_OUT_LOCAL_CODE |
Dial Out Local Code: |
Text |
yes |
LOCATION_DIAL_OUT_LONG_DISTANCE_CODE |
Dial Out Long Distance Code: |
Text |
yes |
LOCATION_DISABLE_CALL_WAITING_CODE |
Disable Call Waiting Code: |
Text |
yes |
LOCATION_MOBILE |
Mobile phone? |
TBool |
no |
LOCATION_USE_PULSE_DIAL |
Use pulse dialling? |
TBool |
no |
LOCATION_PBX_USE_PULSE_DIAL |
PBX Use Pulse Dial: |
TBool |
no |
LOCATION_WAIT_FOR_DIAL_TONE |
Wait for the dial tone? |
TBool |
no |
LOCATION_WAIT_FOR_PROCEED_TONE |
Wait for the proceed tone? |
TBool |
no |
LOCATION_PAUSE_AFTER_DIAL_OUT |
Pause time after dial out |
TUint32 |
no |
LOCATION_CHARGECARD_ID |
ID of chargecard record to be used at this location |
TUint32 |
yes |
The table name is defined by the symbol CHARGECARD in cdbcols.h
The heading Null? indicates whether a column can be left as NULL when adding a row or rowset to the table.
The heading Column Name indicates the #define symbol used to define the column name; all symbols are defined in cdbcols.h
.
A "Text" Type means short text as understood by the underlying DBMS.
Column Name |
Description |
Type |
Null ? |
COMMDB_NAME |
Name of record for easy identification by the user. |
Text |
no |
COMMDB_ID |
A unique id assigned by the server for identification of records by the server. |
TUin32 |
no |
CHARGECARD_ACCOUNT_NUMBER |
Account number |
Text |
yes |
CHARGECARD_PIN |
PIN number |
Text |
yes |
CHARGECARD_LOCAL_RULE |
Local Rule: |
Text |
yes |
CHARGECARD_NAT_RULE |
Nat Rule: |
Text |
yes |
CHARGECARD_INTL_RULE |
Intl Rule: |
Text |
yes |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |