Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <>
This item is not part of the S60 5th Edition SDK

Namespace CommsDat

Interface access: Unset Default as namespace
Interface status: Unset Default as namespace

namespace CommsDat

Description

This file contains :

1/ Class for expressing a session with the storage server

CMDBSession

This class contains functions to create and close a session, to set the dataset version and to request database actions such as locking for a transaction.

2/ Generic database functionality interface

MMetaDatabase

This class uses a CMDBSession object

3/ General base class that inherits from MMetaDatabase to express any database element

CMDBElement

This class contains the ElementId for each MetaDatabase object An element id locates stored data in the comms database.

4/ Data classes that each inherit from CMDBElement

a) Fields

CMDBField<T>

where T is a basic type value of the field (TInt, TDes, TBool etc)

This class derives from

CMDBElement

to implement the thin template idiom

CMDBRecordLink<T>

where T is a record of a particular type. This class expresses a soft-link from a field in one record to a record of a different type (i.e. in another table). The TMDBElementId value stored in this field in the repository is the id of an instance of the record of type T

This class derives from

CMDBRecordLinkBase

to implement the thin template idiom

b) Field Containers

CCDRecord

base class for record containing specific list of fields - see CommsDatTypesv1_1.h

CMDBRecordSet<T>

an array of records where T is the record type. This can represent a Table in a database.

5/ Other support classes and type definitions

TMDBElementId

The TMDBElementId locates a data object or set of data objects in the database.

A TMDBElementId expresses

A TMDBElementId has a different format depending on the data type it expresses

Table <0><0> Column <0>

Record <0> Field

TMDBAttributeFlags

Attribute settings for any storable element. Attributes express access control for data in the database

Members

Defined in CommsDat:


Member enumerations


Enum TFieldTypeAttributes

TFieldTypeAttributes

Description

To express type information for all MetaDatabase fields

ENoAttrs

No attributes associated with this field.

ENotNull

Ensures the field contains a value and must not be null.

[Top]


Member type definitions


Typedef TMDBAttributeFlags

typedef TUint32 CommsDat::TMDBAttributeFlags;

Description

Attribute flags for an element in the Meta Database Attributes describe access rights to the data in the database


Typedef TMDBElementId

typedef TUint32 CommsDat::TMDBElementId;

Description

The identifier for any entry in the MetaDatabase. It can specify This identifies The data location in the database The meaning of the data within in the data schema The type of the data


Typedef CCDServiceExtRecordBase

typedef CCDRecordBase CommsDat::CCDServiceExtRecordBase;

Description


Typedef TCommsDBBearerTechnology

typedef TCommDbBearer CommsDat::TCommsDBBearerTechnology;

Description

Bearer support type for field BearerTechnology.


Typedef SGenericRecordTypeInfo

typedef struct CommsDat::SGenericRecordTypeInfoTag CommsDat::SGenericRecordTypeInfo;

Description

To express type information for all MetaDatabase fields

[Top]


Member data


KCDTIdRecordTag

const TMDBElementId KCDTIdRecordTag=0x00010000;

Description

Field will contain a user-defined numeric tag for a record. Useful for user searches and cheaper to search on a numeric tag than a string name. Can be null. This tag is not automatically connected with the record id itself, which is contained within the ElementId for the record and not in any field.


KCDTIdRecordName

const TMDBElementId KCDTIdRecordName=0x00020000;

Description

Field will contain a user-defined string tag for a record. This is used to uniquely identify business level information within a record.

This field is useful for user searches, however it should be noted that it would be more efficient to use the KCDTIdRecordTag field instead as it is quicker and cheaper to search for a number than for a string.