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 void AddFieldL ( CContactItemField &)
void AddLabelFieldL ()
TContactItemId Agent ()
IMPORT_C TUint32 Attributes ()
IMPORT_C CContactItemFieldSet & CardFields ()
void ClearFieldContent ()
void DecAccessCount ()
void ExternalizeL ( RWriteStream &)
TPtrC Guid ()
IMPORT_C TContactItemId Id ()
void IncAccessCount ()
IMPORT_C void InsertFieldL ( CContactItemField &, TInt )
void InternalizeL ( RReadStream &)
TBool IsDeletable ()
IMPORT_C TBool IsDeleted ()
IMPORT_C TBool IsHidden ()
IMPORT_C TBool IsSystem ()
IMPORT_C TTime LastModified ()
CContactItem * NewLC ( RReadStream &)
IMPORT_C CContactItem * NewLC ( TUid )
TStreamId PopulateStoreL ( CStreamStore &, CArrayFix < TFieldHeader > &)
IMPORT_C void RemoveField ( TInt )
IMPORT_C void RestoreTemplateFieldsL (const CContactItemFieldSet &, const CContactItemFieldSet &, const CContactItemViewDef &)
IMPORT_C void SetAccessCount ( TUint32 )
IMPORT_C void SetAttributes ( TUint32 )
IMPORT_C void SetCreationDate (const TTime &)
IMPORT_C void SetDeleted ( TBool )
IMPORT_C void SetHidden ( TBool )
IMPORT_C void SetId ( TContactItemId )
IMPORT_C void SetLastModified (const TTime &)
IMPORT_C void SetSystem ( TBool )
IMPORT_C void SetTemplateRefId ( TContactItemId )
IMPORT_C void SetUidStringL ( TDesC &)
IMPORT_C TContactItemId TemplateRefId ()
TUid Type ()
IMPORT_C TPtrC UidStringL ( TInt64 )
IMPORT_C void UpdateFieldSet ( CContactItemFieldSet *)
Private Member Functions
CContactItem ()
void ConstructL ()
void ConstructL (const CContactItem *)
TBool GuidIsCompressed ()
void MakeUidStringL ( TInt64 )
TInt NumberOfFieldsToStore ()
IMPORT_C void SetHasCompressedGuid ( 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
enum anonymous { 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 void AddFieldL ( CContactItemField & aField )

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

Parameters

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

AddLabelFieldL()

void AddLabelFieldL ( )

Agent()

TContactItemId Agent ( )

Attributes()

IMPORT_C TUint32 Attributes ( ) const

Returns the contact item's attributes.

CardFields()

IMPORT_C CContactItemFieldSet & CardFields ( ) const

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

ClearFieldContent()

void ClearFieldContent ( )

ConstructL()

void ConstructL ( ) [private]

ConstructL(const CContactItem *)

void ConstructL ( const CContactItem * aTemplate ) [private]

Parameters

const CContactItem * aTemplate

DecAccessCount()

void DecAccessCount ( ) [inline]

Decrements the contact item's access count.

ExternalizeL(RWriteStream &)

void ExternalizeL ( RWriteStream & aStream ) const [virtual]

Externalises a CContactItem object to a write stream.

Parameters

RWriteStream & aStream Stream 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 TContactItemId Id ( ) const

Gets the contact item's ID.

IncAccessCount()

void IncAccessCount ( ) [inline]

Increments the contact item's access count.

InsertFieldL(CContactItemField &, TInt)

IMPORT_C void InsertFieldL ( CContactItemField & aField,
TInt aFieldPos
)

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

Parameters

CContactItemField & aField The field to insert into the contact item's field set.
TInt aFieldPos The 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 &)

void InternalizeL ( RReadStream & aStream ) [virtual]

Internalises a CContactItem object from a read stream.

Parameters

RReadStream & aStream Stream 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 TBool IsDeleted ( ) const

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

IsHidden()

IMPORT_C TBool IsHidden ( )

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 TBool IsSystem ( )

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 TTime LastModified ( ) const

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

MakeUidStringL(TInt64)

void MakeUidStringL ( TInt64 aMachineUniqueId ) [private]

Parameters

TInt64 aMachineUniqueId

NewLC(RReadStream &)

CContactItem * NewLC ( RReadStream & aStream ) [static]

Constructs a new contact item based on a RReadStream .

Parameters

RReadStream & aStream RReadStream containing object to internalize.

NewLC(TUid)

IMPORT_C CContactItem * NewLC ( TUid aType ) [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 void RemoveField ( TInt aFieldPos )

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 aFieldPos Index within the field set of the field to remove.

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

IMPORT_C void RestoreTemplateFieldsL ( const CContactItemFieldSet & aSystemTemplateFields,
const CContactItemFieldSet & aTemplateFields,
const CContactItemViewDef & aViewDef
)

Restore fields from the template to the contact item.

Parameters

const CContactItemFieldSet & aSystemTemplateFields
const CContactItemFieldSet & aTemplateFields Fields to add
const CContactItemViewDef & aViewDef View definition to use

SetAccessCount(TUint32)

IMPORT_C void SetAccessCount ( TUint32 aAccessCount )

Sest the contact item's access count.

Parameters

TUint32 aAccessCount

SetAttributes(TUint32)

IMPORT_C void SetAttributes ( TUint32 aAttributes )

Sest the contact item's attributes.

Parameters

TUint32 aAttributes

SetCreationDate(const TTime &)

IMPORT_C void SetCreationDate ( const TTime & aTime )

Sest the contact item's creation time.

Parameters

const TTime & aTime

SetDeleted(TBool)

IMPORT_C void SetDeleted ( TBool aDeleted )

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 aDeleted ETrue to set the Is deleted attribute. EFalse to unset it.

SetHasCompressedGuid(TBool)

IMPORT_C void SetHasCompressedGuid ( TBool aCompressed ) [private]

Parameters

TBool aCompressed

SetHidden(TBool)

IMPORT_C void SetHidden ( TBool aHidden )

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

Parameters

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

SetId(TContactItemId)

IMPORT_C void SetId ( TContactItemId aId )

Sets the contact item's ID.

Parameters

TContactItemId aId

SetLastModified(const TTime &)

IMPORT_C void SetLastModified ( 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 & aLastModified The contact item's last modified date/time.

SetSystem(TBool)

IMPORT_C void SetSystem ( TBool aSystem )

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

Parameters

TBool aSystem ETrue to set the system attribute, EFalse to unset it.

SetTemplateRefId(TContactItemId)

IMPORT_C void SetTemplateRefId ( TContactItemId aUid )

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

Parameters

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

SetUidStringL(TDesC &)

IMPORT_C void SetUidStringL ( 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 & aString The contact item's UID string.

TemplateRefId()

IMPORT_C TContactItemId TemplateRefId ( ) 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 TPtrC UidStringL ( TInt64 aMachineUniqueId ) 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 aMachineUniqueId The database's unique identifier. This can be retrieved using CContactDatabase::MachineId().

UpdateFieldSet(CContactItemFieldSet *)

IMPORT_C void UpdateFieldSet ( CContactItemFieldSet * aNewFieldSet )

Replaces the contact item's field set.

Parameters

CContactItemFieldSet * aNewFieldSet The 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]