CContactItem Class Reference

class CContactItem : public CBase

The abstract base class for contact cards, templates and groups. All contact items are identified by a contact ID, (TContactItemId), have a last modified date/time and own one or more fields (the field set). Contact items also have an access count and attributes (e.g. hidden). Note that fields in a contact item also have attributes. Attribute values specified in the contact item override those in the contained fields. The access count is a record of the number of objects referencing a contact item. A contact item cannot be fully deleted until its access count is zero.

Inherits from

Public Member Functions
~CContactItem()
TInt AccessCount()
IMPORT_C voidAddFieldL(CContactItemField &)
voidAddLabelFieldL()
TContactItemId Agent()
IMPORT_C TUint32Attributes()
IMPORT_C CContactItemFieldSet &CardFields()
voidClearFieldContent()
voidDecAccessCount()
voidExternalizeL(RWriteStream &)
TPtrC Guid()
IMPORT_C TContactItemIdId()
voidIncAccessCount()
IMPORT_C voidInsertFieldL(CContactItemField &, TInt)
voidInternalizeL(RReadStream &)
TBool IsDeletable()
IMPORT_C TBoolIsDeleted()
IMPORT_C TBoolIsHidden()
IMPORT_C TBoolIsSystem()
IMPORT_C TTimeLastModified()
CContactItem *NewLC(RReadStream &)
IMPORT_C CContactItem *NewLC(TUid)
TStreamId PopulateStoreL(CStreamStore &, CArrayFix< TFieldHeader > &)
IMPORT_C voidRemoveField(TInt)
IMPORT_C voidRestoreTemplateFieldsL(const CContactItemFieldSet &, const CContactItemFieldSet &, const CContactItemViewDef &)
IMPORT_C voidSetAccessCount(TUint32)
IMPORT_C voidSetAttributes(TUint32)
IMPORT_C voidSetCreationDate(const TTime &)
IMPORT_C voidSetDeleted(TBool)
IMPORT_C voidSetHidden(TBool)
IMPORT_C voidSetId(TContactItemId)
IMPORT_C voidSetLastModified(const TTime &)
IMPORT_C voidSetSystem(TBool)
IMPORT_C voidSetTemplateRefId(TContactItemId)
IMPORT_C voidSetUidStringL(TDesC &)
IMPORT_C TContactItemIdTemplateRefId()
TUid Type()
IMPORT_C TPtrCUidStringL(TInt64)
IMPORT_C voidUpdateFieldSet(CContactItemFieldSet *)
Private Member Functions
CContactItem()
voidConstructL()
voidConstructL(const CContactItem *)
TBool GuidIsCompressed()
voidMakeUidStringL(TInt64)
TInt NumberOfFieldsToStore()
IMPORT_C voidSetHasCompressedGuid(TBool)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumanonymous { ESystem = 0x01, EHidden = 0x02, ECompressedGuid = 0x04, EDeleted = 0x08 }
Private Attributes
TUint32 iAccessCount
TUint32 iAttributes
TTime iCreationDate
CContactItemFieldSet *iFieldSet
HBufC *iGuid
TContactItemId iId
TTime iLastModified
TContactItemId iTemplateRefId

Constructor & Destructor Documentation

CContactItem()

CContactItem()[private]

~CContactItem()

IMPORT_C~CContactItem()

The destructor frees all resources owned by the contact item, prior to its destruction.

Member Functions Documentation

AccessCount()

TInt AccessCount()const [inline]

Gets the contact item's access count.

AddFieldL(CContactItemField &)

IMPORT_C voidAddFieldL(CContactItemField &aField)

Appends a field to the contact item's field set. The contact item takes ownership of the field.

Parameters

CContactItemField & aFieldThe field to append to the contact item's field set.

AddLabelFieldL()

voidAddLabelFieldL()

Agent()

TContactItemId Agent()

Attributes()

IMPORT_C TUint32Attributes()const

Returns the contact item's attributes.

CardFields()

IMPORT_C CContactItemFieldSet &CardFields()const

Gets a reference to the contact item's field set.

ClearFieldContent()

voidClearFieldContent()

ConstructL()

voidConstructL()[private]

ConstructL(const CContactItem *)

voidConstructL(const CContactItem *aTemplate)[private]

Parameters

const CContactItem * aTemplate

DecAccessCount()

voidDecAccessCount()[inline]

Decrements the contact item's access count.

ExternalizeL(RWriteStream &)

voidExternalizeL(RWriteStream &aStream)const [virtual]

Externalises a CContactItem object to a write stream.

Parameters

RWriteStream & aStreamStream to which the object should be externalised.

Guid()

TPtrC Guid()[inline]

Accessor function for Contact Guid. This is used to cache contact items that are added during a sync.

GuidIsCompressed()

TBool GuidIsCompressed()const [private]

Id()

IMPORT_C TContactItemIdId()const

Gets the contact item's ID.

IncAccessCount()

voidIncAccessCount()[inline]

Increments the contact item's access count.

InsertFieldL(CContactItemField &, TInt)

IMPORT_C voidInsertFieldL(CContactItemField &aField,
TIntaFieldPos
)

Inserts a field into the contact item's field set. The contact item takes ownership of the field.

Parameters

CContactItemField & aFieldThe field to insert into the contact item's field set.
TInt aFieldPosThe position in the field set at which to insert the field. If this value is greater than the total number of fields, it is appended. The position is relative to zero, i.e. zero implies that the element is inserted at the beginning of the array.

InternalizeL(RReadStream &)

voidInternalizeL(RReadStream &aStream)[virtual]

Internalises a CContactItem object from a read stream.

Parameters

RReadStream & aStreamStream from which the object should be internalised.

IsDeletable()

TBool IsDeletable()[inline]

Tests whether the contact item is deletable.

This is true if the item's access count is zero.

IsDeleted()

IMPORT_C TBoolIsDeleted()const

Gets the value of the Is deleted attribute as set by SetDeleted().

IsHidden()

IMPORT_C TBoolIsHidden()

Gets the value of the contact item's hidden attribute. Hidden means that the item is not displayed if the view definition excludes hidden fields.

IsSystem()

IMPORT_C TBoolIsSystem()

Gets the value of the contact item's system attribute. Note that the system attribute is not currently used in the contacts model.

LastModified()

IMPORT_C TTimeLastModified()const

Gets the contact item's last modified date/time.

MakeUidStringL(TInt64)

voidMakeUidStringL(TInt64aMachineUniqueId)[private]

Parameters

TInt64 aMachineUniqueId

NewLC(RReadStream &)

CContactItem *NewLC(RReadStream &aStream)[static]

Constructs a new contact item based on a RReadStream.

Parameters

RReadStream & aStreamRReadStream containing object to internalize.

NewLC(TUid)

IMPORT_C CContactItem *NewLC(TUidaType)[static]

Constructs a new contact item.

Parameters

TUid aType

NumberOfFieldsToStore()

TInt NumberOfFieldsToStore()const [private]
Part of the system template update implementation. This could be used for a generic update method at a later stage.
Since
7.0

PopulateStoreL(CStreamStore &, CArrayFix< TFieldHeader > &)

TStreamId PopulateStoreL(CStreamStore &aStore,
CArrayFix< TFieldHeader > &aFieldHeaderArray
)const
Part of the system template update implementation. This could be used for a generic update method at a later stage.
Since
7.0

Parameters

CStreamStore & aStore
CArrayFix< TFieldHeader > & aFieldHeaderArray

RemoveField(TInt)

IMPORT_C voidRemoveField(TIntaFieldPos)

Removes a field from the contact item's field set. A panic occurs if the specified field does not exist in the field set.

Parameters

TInt aFieldPosIndex within the field set of the field to remove.

RestoreTemplateFieldsL(const CContactItemFieldSet &, const CContactItemFieldSet &, const CContactItemViewDef &)

IMPORT_C voidRestoreTemplateFieldsL(const CContactItemFieldSet &aSystemTemplateFields,
const CContactItemFieldSet &aTemplateFields,
const CContactItemViewDef &aViewDef
)

Restore fields from the template to the contact item.

Parameters

const CContactItemFieldSet & aSystemTemplateFields
const CContactItemFieldSet & aTemplateFieldsFields to add
const CContactItemViewDef & aViewDefView definition to use

SetAccessCount(TUint32)

IMPORT_C voidSetAccessCount(TUint32aAccessCount)

Sest the contact item's access count.

Parameters

TUint32 aAccessCount

SetAttributes(TUint32)

IMPORT_C voidSetAttributes(TUint32aAttributes)

Sest the contact item's attributes.

Parameters

TUint32 aAttributes

SetCreationDate(const TTime &)

IMPORT_C voidSetCreationDate(const TTime &aTime)

Sest the contact item's creation time.

Parameters

const TTime & aTime

SetDeleted(TBool)

IMPORT_C voidSetDeleted(TBoolaDeleted)

Sets the value of the contact item's Is deleted attribute.

If the attribute is set, this means that an attempt has been made to delete the contact item, but because the item's access count is greater than zero, its data persists and the item is just marked as deleted.

Parameters

TBool aDeletedETrue to set the Is deleted attribute. EFalse to unset it.

SetHasCompressedGuid(TBool)

IMPORT_C voidSetHasCompressedGuid(TBoolaCompressed)[private]

Parameters

TBool aCompressed

SetHidden(TBool)

IMPORT_C voidSetHidden(TBoolaHidden)

Sets the contact item's hidden attribute. Hidden means that the item is not displayed if the view definition excludes hidden fields.

Parameters

TBool aHiddenETrue to set the hidden attribute for the item, EFalse to unset it.

SetId(TContactItemId)

IMPORT_C voidSetId(TContactItemIdaId)

Sets the contact item's ID.

Parameters

TContactItemId aId

SetLastModified(const TTime &)

IMPORT_C voidSetLastModified(const TTime &aLastModified)

Sets the last modified date/time value stored in the local copy of the contact item. This value is returned by LastModified() for this copy of the item.

This function has no effect on the item's last modified date/time which is stored in the database; this is always the date/time the contact was last committed.

This function is provided for use when synchronising contact items.

Parameters

const TTime & aLastModifiedThe contact item's last modified date/time.

SetSystem(TBool)

IMPORT_C voidSetSystem(TBoolaSystem)

Sets the contact item's system attribute. Note that the system attribute is not currently used in the contacts model.

Parameters

TBool aSystemETrue to set the system attribute, EFalse to unset it.

SetTemplateRefId(TContactItemId)

IMPORT_C voidSetTemplateRefId(TContactItemIdaUid)

Sets the ID of the template on which this contact item is based.

Parameters

TContactItemId aUidThe ID of the template on which this item is based.

SetUidStringL(TDesC &)

IMPORT_C voidSetUidStringL(TDesC &aString)

Sets the item's UID string. This replaces any existing string. Contact items have a globally unique identifier, stored as a descriptor which is provided for vCard support. It is a combination of the database's unique identifier (see CContactDatabase::MachineId()), the contact item ID and the date/time of the contact item's creation.

Parameters

TDesC & aStringThe contact item's UID string.

TemplateRefId()

IMPORT_C TContactItemIdTemplateRefId()const

Gets the ID of the template which was used to create this contact item.

Type()

TUid Type()const [pure virtual]

Gets the contact item's type.

UidStringL(TInt64)

IMPORT_C TPtrCUidStringL(TInt64aMachineUniqueId)const

Returns a descriptor which contains the item's UID string. Contact items have a globally unique identifier, stored as a descriptor. This is provided for vCard support. It is a combination of the database's unique identifier, the contact item ID and the date/time of the contact item's creation.

Parameters

TInt64 aMachineUniqueIdThe database's unique identifier. This can be retrieved using CContactDatabase::MachineId().

UpdateFieldSet(CContactItemFieldSet *)

IMPORT_C voidUpdateFieldSet(CContactItemFieldSet *aNewFieldSet)

Replaces the contact item's field set.

Parameters

CContactItemFieldSet * aNewFieldSetThe new field set with which to replace the existing one.

Member Enumerations Documentation

Enum anonymous

Contact item's attribute flags

These flags can be used to set the various attributes of a contact item.

Enumerators

ESystem = 0x01

To set the contact item's system attribute.

EHidden = 0x02

To set the contact item's hidden attribute.

ECompressedGuid = 0x04

To set the contact item's hidden attribute.

EDeleted = 0x08

To set the contact item's Is deleted attribute.

Member Data Documentation

TUint32 iAccessCount

TUint32 iAccessCount[private]

TUint32 iAttributes

TUint32 iAttributes[private]

TTime iCreationDate

TTime iCreationDate[private]

CContactItemFieldSet * iFieldSet

CContactItemFieldSet *iFieldSet[private]

HBufC * iGuid

HBufC *iGuid[private]

TContactItemId iId

TContactItemId iId[private]

TTime iLastModified

TTime iLastModified[private]

TContactItemId iTemplateRefId

TContactItemId iTemplateRefId[private]