CContentType Class Reference

class CContentType : public CBase

The content type for a contact item field.

The content type identifies the field's type and the vCard property which the field maps to. It is owned by the field. Field types are defined as UIDs in cntdef.h.

The vCard mapping is optional. It should be specified if the field type alone is not enough to identify the mapping. The possible values for the vCard mapping are defined as UIDs in cntdef.h.

Each field is uniquely identified by the combination of UIDs contained in the content type.

Inherits from

Constructor & Destructor Documentation

CContentType()

CContentType()[private]

CContentType(TUid)

CContentType(TUidaMapping)[private]

Parameters

TUid aMapping

~CContentType()

IMPORT_C~CContentType()

Frees all resources owned by the content type object, prior to its destruction.

Member Functions Documentation

AddFieldTypeL(TFieldType)

IMPORT_C voidAddFieldTypeL(TFieldTypeaFieldType)

Appends a field type to the content type's list of field types.

Note that certain combinations of field types are not valid and should not be used.

Parameters

TFieldType aFieldTypeThe field type to append to the list of field types.

CloneL(const CContentType &)

voidCloneL(const CContentType &aContentType)[private]

Parameters

const CContentType & aContentType

ConstructL()

voidConstructL()[private]

ContainsFieldType(TFieldType)

IMPORT_C TBoolContainsFieldType(TFieldTypeaFieldType)const

Tests whether the content type object contains the specified field type UID either as the mapping value or in its list of field types.

Parameters

TFieldType aFieldTypeThe field type of interest.

ExternalizeL(RWriteStream &)

voidExternalizeL(RWriteStream &aStream)const

Externalises a CContentType object to a write stream.

Parameters

RWriteStream & aStreamStream to which the object should be externalised.

FieldType(TInt)

IMPORT_C TFieldTypeFieldType(TIntaIndex)const

Gets the indexed field type.

Parameters

TInt aIndexIndex into the list of field types. The position is relative to zero; i.e. zero implies the first element in the array. This value must be non-negative and less than the number of objects currently within the array otherwise the operator raises a panic.

FieldTypeCount()

IMPORT_C TIntFieldTypeCount()const

Gets the number of field types in the content type's list of field types.

InternalizeAdditionalUidsL(TInt, RReadStream &)

voidInternalizeAdditionalUidsL(TIntaCount,
RReadStream &aStream
)

Parameters

TInt aCount
RReadStream & aStream

InternalizeL(RReadStream &)

voidInternalizeL(RReadStream &aStream)

Internalises a CContentType object from a read stream.

Parameters

RReadStream & aStreamStream from which the object should be internalised.

IsEqual(const CContentType &)

IMPORT_C TBoolIsEqual(const CContentType &aType)const
Compares two content type objects for equality. Two content type objects are equal according to this method if all following conditions are met:
  • vCard property mapping matches

  • same number of field types

  • main field type matches

  • additional field types and vCard property parameter mappings match

Parameters

const CContentType & aTypeThe content type to compare with this CContentType.

IsEqualForSyncUpdate(const CContentType &)

IMPORT_C TBoolIsEqualForSyncUpdate(const CContentType &aType)const

Tests whether the content types are suitable to match for synchronisation purpose.

Parameters

const CContentType & aTypeThe content type to compare with this CContentType.

Mapping()

IMPORT_C TUidMapping()const

Gets the vCard mapping.

NewL()

IMPORT_C CContentType *NewL()[static]

Allocates and constructs a new default CContentType.

The object has no field types and the mapping is set to KNullUid

NewL(TFieldType, TUid)

IMPORT_C CContentType *NewL(TFieldTypeaFieldType,
TUidaMapping = KNullUid
)[static]

Allocates and constructs a new CContentType with a single field type and a mapping.

Parameters

TFieldType aFieldTypeThe field type to add to the content type.
TUid aMapping = KNullUidThe mapping.

NewL(const CContentType &)

IMPORT_C CContentType *NewL(const CContentType &aContentType)[static]

Allocates and constructs a new CContentType based on another one.

Parameters

const CContentType & aContentTypeThe CContentType on which to base the new one.

NewLC(RReadStream &)

CContentType *NewLC(RReadStream &aStream)[static]

Constructs a new content type based on a RReadStream.

Parameters

RReadStream & aStreamRReadStream containing object to internalize.

RemoveFieldType(TFieldType)

IMPORT_C voidRemoveFieldType(TFieldTypeaFieldType)

Removes a field type from the list of field types.

Parameters

TFieldType aFieldTypeThe field type to remove from the list of field types.

Reset()

voidReset()

SetMapping(TUid)

IMPORT_C voidSetMapping(TUidaMapping)

Sets the vCard mapping.

Parameters

TUid aMappingThe new vCard mapping for the content type.

SupportsMultipleLines()

IMPORT_C TBoolSupportsMultipleLines()const

Tests whether the content type supports multiple lines of text. If the content type object contains a field type which supports this, either in its list of field types, or as its mapping, the function returns ETrue. Examples of such field types are address fields (type KUidContactFieldAddress) and note fields (type KUidContactFieldNote).

operator==(const CContentType &)

IMPORT_C TBooloperator==(const CContentType &aType)const
Compares two content type objects for equality. Two content type objects are equal according to this method if all following conditions are met:
  • vCard property mapping matches

  • same number of field types

  • main field type matches

  • additional field types and vCard property parameter mappings match

Parameters

const CContentType & aTypeThe content type to compare with this CContentType. +

Member Data Documentation

CArrayFix< TUid > * iFieldTypes

CArrayFix< TUid > *iFieldTypes[private]

TUid iMapping

TUid iMapping[private]