What are tables

This topic describes the structure of a table. A table is an item that can be stored in the Comms Database.

A table is a set of records. All records in a table are the same type. A table is also a container and an element.

There are two types of table:

  • a table that has records defined at system compile time - these records have named fields and are defined by Symbian platform.

  • a table that consists of records defined at run time - these records are user defined records - they are not known to Symbian platform when Symbian platform is built.

Tables that have records defined at system compile time

A table that has records defined at system compile time is represented by the templated class CMDBRecordSet <T>. The template parameter defines the record type. The template parameter is a Symbian platform defined record.

You create a table object on the heap. You use the new (Eleave) construction to create this object.

The CommsDat API implements the table as an array of records and uses RPointerArray <T> as the array. The CommsDat API implements RPointerArray<T> in the base class CMDBRecordSetBase, because this behaviour is common to all tables. Tools and applications can access the array and can use the sort behaviour provided by RPointerArray<T> to sort records.

Tables that have user defined records

A table that has user defined records is represented by the CMDBGenericRecord. The class has the behaviour that allows it to represent a record and a set of records. Internally, the class has an array that can contain the records.

You use the CommsDat::CCDRecordBase::RecordFactoryL() factory function to create a CMDBGenericRecord object.