Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: CNTVCARD.H
Link against: cntvcard.lib

Class CContactVCardConverter

class CContactVCardConverter : public CContactEcomConverter;

Description

Plug-in vCard to CContactItem converter.

Derivation

Members

Defined in CContactVCardConverter:
EConnectWhitespace, EDecreaseAccessCount, EDefault, EExcludeUid, EIgnoreUid, EImportSingleContact, EIncludeX, EIncreaseAccessCount, ELocalTime, ENullTemplateId, EReplaceIfExists, ETTFormat, ExportL(), ImportL(), TOptions


Member functions


ImportL()

virtual CArrayPtr< CContactItem > *ImportL(CContactDatabase &aDb, RReadStream &aReadStream, TBool &aImportSuccessful, TInt aOptions, TBool aImportSingle);

Description

Imports one or more vCards from a read stream. The vCards are converted into contact items, and added to the database. If at least one contact item was successfully imported, aImportSuccessful is set to ETrue.

Parameters

CContactDatabase &aDb

Contacts database

RReadStream &aReadStream

The stream to read from.

TBool &aImportSuccessful

On return, ETrue if at least one contact was successfully imported. EFalse if not

TInt aOptions

Import preferences (available options defined in CContactDatabase::TOptions)

TBool aImportSingle

Import a single vCard entity

Return value

CArrayPtr< CContactItem > *

Array of CContactItem objects


ExportL()

virtual void ExportL(CContactDatabase &aDb, const CContactIdArray &aSelectedContactIds, RWriteStream &aWriteStream, TInt aOptions, const Versit::TVersitCharSet aCharSet, TBool aExportPrivateFields, TInt aCommitNumber);

Description

Export a contact as vCard.

Parameters

CContactDatabase &aDb

Contact database

const CContactIdArray &aSelectedContactIds

Array of contact items IDs to export

RWriteStream &aWriteStream

Stream to externalize vCard data to

TInt aOptions

Export preferences (available options defined in CContactDatabase::TOptions)

const Versit::TVersitCharSet aCharSet

Default character set to pass to Versit parser component

TBool aExportPrivateFields

Specify whether private fields are included

TInt aCommitNumber

Number of contacts to be exported before commit of database

[Top]


Member enumerations


Enum TOptions

TOptions

Description

Import and export format flags. Contacts can be imported into or exported from the contact database as vCards.

The following options are available during import and export.

EDefault

EIncludeX

Handle Symbian's extended vCard format options.

ETTFormat

Support non-standard extensions requried by Symbian PC connectivity software and Microsoft, amongst others.

EExcludeUid

Don't export the contact ID (for exporting only).

EDecreaseAccessCount

Decrease the contact's access count when importing and exporting.

EImportSingleContact

Only import the first contact in the read stream (for importing only).

EIncreaseAccessCount

Increase the contact's access count when importing and exporting.

ELocalTime

Sets a contact item to the local time when importing.

ENullTemplateId

Allows to set a template to a contact item that does not exist.

EConnectWhitespace

Allows to set white spaces as value for an empty field.

EIgnoreUid

During import ignore the UID property value of the vCard. By ignoring the UID the client is indicating that it knows that the contact does not already exist in the database (i.e. the contact is being added rather than being updated). Within the CContactVCardConverter::ImportL() method no attempt to search for the UID in the database will be made. For a series of addition of vCards with UIDs use of this option will give a performance improvement since the search for the UID in the Contacts database can become very costly as the number of contacts grows.

EReplaceIfExists

During import, if it is determined that the contact item being imported already exists in the database then the contact item in the database will be deleted before being replaced by the vCard being imported. This option should be used when the client does not want a merge type behaviour for existing contact items. This option will typically be used in a sync use case where the vCard data that the client is provided with has already been through a process of conflict resolution and so the existing contact item should be replaced not merged.