UIDs that Identify vCard Properties

Introduction

These tables list the UIDs that Symbian uses to identify vCard properties and property parameters. The mapping between vCard properties and Symbian-specific constants is done by the cntvcard component (cntvcard.dll).

The first column describes the properties and the second lists the property names as they appear in a vCard. The third and fourth columns list the corresponding Symbian UIDs. The combination of one or more field type UIDs and an optional mapping UID uniquely identify each property. Field type and vCard mapping UIDs are defined in cntdef.h.

Properties and UIDs

Description

vCard property

Field type UID

Mapping UID

PO Box

ADR: / Post Office Address

KUidContactFieldPostOffice

KUidContactFieldVCardMapPOSTOFFICE

Extended address

ADR:

KUidContactFieldExtendedAddress

KUidContactFieldVCardMapEXTENDEDADR

Street

ADR:

KUidContactFieldAddress

KUidContactFieldVCardMapADR

City

ADR:

KUidContactFieldLocality

KUidContactFieldVCardMapLOCALITY

Region

ADR:

KUidContactFieldRegion

KUidContactFieldVCardMapREGION

Postcode

ADR:

KUidContactFieldPostcode

KUidContactFieldVCardMapPOSTCODE

Country

ADR:

KUidContactFieldCountry

KUidContactFieldVCardMapCOUNTRY

Agent

AGENT:

None

KUidContactFieldVCardMapAGENT

Birthday

BDAY:

KUidContactFieldBirthday

KUidContactFieldVCardMapBDAY

Email

EMAIL;INTERNET:

KUidContactFieldEMail

KUidContactFieldVCardMapEMAILINTERNET

Formatted name

FN:

None

KUidContactFieldVCardMapUnusedFN

Longitude and latitude

GEO:

None

KUidContactFieldVCardMapGEO

Public encryption key

KEY:

None

KUidContactFieldVCardMapKEY

Label

LABEL:

None

KUidContactFieldVCardMapLABEL

Company logo

LOGO:

KUidContactFieldPicture

KUidContactFieldVCardMapLOGO

Email software

MAILER:

None

KUidContactFieldVCardMapMAILER

Title

N:

KUidContactFieldPrefixName

KUidContactFieldVCardMapUnusedN

First name

N:

KUidContactFieldGivenName

KUidContactFieldVCardMapUnusedN

Middle name

N:

KUidContactFieldAdditionalName

KUidContactFieldVCardMapUnusedN

Last name

N:

KUidContactFieldFamilyName

KUidContactFieldVCardMapUnusedN

Suffix

N:

KUidContactFieldSuffixName

KUidContactFieldVCardMapUnusedN

Notes

NOTE:

KUidContactFieldNote

KUidContactFieldVCardMapNOTE

Company

ORG:

KUidContactFieldCompanyName

KUidContactFieldVCardMapORG

Photograph

PHOTO:

KUidContactFieldPicture

KUidContactFieldVCardMapPHOTO

Last Revision

REV:

n/a – not stored in a field. See CContactItem::SetLastModified().

KUidContactFieldVCardMapNotRequired

Occupation

ROLE:

None

KUidContactFieldVCardMapROLE

Sound

SOUND:

None

KUidContactFieldVCardMapSOUND

Given name pronunciation

SOUND;X-IRMC-N:

KUidContactFieldGivenNamePronunciation

KUidContactFieldVCardMapUnusedN

Family name pronunciation

SOUND;X-IRMC-N:

KUidContactFieldFamilyNamePronunciation

KUidContactFieldVCardMapUnusedN

Company name pronunciation

SOUND;X-IRMC-ORG:

KUidContactFieldCompanyNamePronunciation

KUidContactFieldVCardMapORGPronunciation

Tel

TEL:

KUidContactFieldPhoneNumber

KUidContactFieldVCardMapTEL

Fax

TEL;FAX:

KUidContactFieldFax KUidContactFieldVCardMapFAX

KUidContactFieldVCardMapTEL

Job title

TITLE:

KUidContactFieldJobTitle

KUidContactFieldVCardMapTITLE

Unique Identifier

UID:

n/a – not stored in a field. See CContactItem::SetUidStringL().

KUidContactFieldVCardMapNotRequired

Web page

URL:

KUidContactFieldUrl

KUidContactFieldVCardMapURL

Version support

VERSION:

n/a – not stored in a field.

KUidContactFieldVCardMapNotRequired

USIM second name (*)

X-EPOCSECONDNAME:

KUidContactFieldSecondName

KUidContactFieldVCardMapSECONDNAME

SIP address

X-SIP:

KUidContactFieldSIPID

KUidContactFieldVCardMapSIPID

Other vCard extension properties

X-

None

KUidContactFieldVCardMapUnknownXDash

Assistant name

X-ASSISTANT

KUidContactFieldAssistant

KUidContactFieldVCardMapAssistant

Assistant phone

X-ASSISTANTTEL

KUidContactFieldPhoneNumber

KUidContactFieldVCardMapAssistantTel

Anniversary

X-ANNIVERSARY

KUidContactFieldAnniversary

KUidContactFieldVCardMapAnniversary

Spouse

X-SPOUSE

KUidContactFieldSpouse

KUidContactFieldVCardMapSpouse

Children

X-CHILDREN

KUidContactFieldChildren

KUidContactFieldVCardMapChildren

Class

X-CLASS

KUidContactFieldClass

KUidContactFieldVCardMapClass

Department

X-DEPARTMENT

KUidContactFieldDepartmentName

KUidContactFieldVCardMapDepartment

(*) This field stores an additional representation of the contact's name, such as a nickname or a different representation. An example is a Japanese contact which has a Romanised name and an alternative representation using kanji (pictogram) characters.

Property Parameters and UIDs, Grouped by Property

ADR:

vCard property parameter

Field type UID

HOME

KUidContactFieldVCardMapHOME

WORK

KUidContactFieldVCardMapWORK

PREF

KUidContactFieldVCardMapPREF

EMAIL:

vCard property parameter

Field type UID

HOME

KUidContactFieldVCardMapHOME

WORK

KUidContactFieldVCardMapWORK

CELL

KUidContactFieldVCardMapCELL

INTERNET (*)

KUidContactFieldVCardMapINTERNET

PREF

KUidContactFieldVCardMapPREF

(*) If HOME, WORK and CELL are absent then INTERNET is inserted by default.

KEY:

vCard property parameter

Field type UID

X509

KUidContactFieldVCardMapX509

PGP

KUidContactFieldVCardMapPGP

LABEL:

vCard property parameter

Field type UID

DOM

KUidContactFieldVCardMapDOM

HOME

KUidContactFieldVCardMapHOME

WORK

KUidContactFieldVCardMapWORK

PREF

KUidContactFieldVCardMapPREF

PHOTO:/LOGO:

vCard property parameter

Field type UID

GIF

KUidContactFieldVCardMapGIF

CGM

KUidContactFieldVCardMapCGM

WMF

KUidContactFieldVCardMapWMF

BMP

KUidContactFieldVCardMapBMP

DIB

KUidContactFieldVCardMapDIB

PS

KUidContactFieldVCardMapPS

PMB

KUidContactFieldVCardMapPMB

PDF

KUidContactFieldVCardMapPDF

PICT

KUidContactFieldVCardMapPICT

TIFF

KUidContactFieldVCardMapTIFF

JPEG

KUidContactFieldVCardMapJPEG

MET

KUidContactFieldVCardMapMET

MPEG

KUidContactFieldVCardMapMPEG

MPEG2

KUidContactFieldVCardMapMPEG2

AVI

KUidContactFieldVCardMapAVI

QTIME

KUidContactFieldVCardMapQTIME

TEL:

vCard property parameter

Field type UID

HOME

KUidContactFieldVCardMapHOME

WORK

KUidContactFieldVCardMapWORK

PREF

KUidContactFieldVCardMapPREF

VOICE

KUidContactFieldVCardMapVOICE

CELL

KUidContactFieldVCardMapCELL

PAGER

KUidContactFieldVCardMapPAGER

BBS

KUidContactFieldVCardMapBBS

MODEM

KUidContactFieldVCardMapMODEM

CAR

KUidContactFieldVCardMapCAR

ISDN

KUidContactFieldVCardMapISDN

VIDEO

KUidContactFieldVCardMapVIDEO

MSG

KUidContactFieldVCardMapMSG

FAX

(*)

(*) Fax numbers are not stored using a telephone number field type (KUidContactFieldPhoneNumber), but a fax field type (KUidContactFieldFax; mapping=KUidContactFieldVCardMapFAX).

URL:

vCard property parameter

Field type UID

HOME

KUidContactFieldVCardMapHOME

WORK

KUidContactFieldVCardMapWORK

X-SIP:

vCard property parameter

Field type UID

POC

KUidContactFieldVCardMapPOC

SWIS

KUidContactFieldVCardMapSWIS

VOIP

KUidContactFieldVCardMapVOIP

Example

The following example demonstrates how a contact item (newCard) is created and assigned fields of different types using some of the UIDs listed in the tables above.

#include <cntitem.h>
#include <cntfield.h>
#include <cntfldst.h>
#include <cntdef.h>
#include <cntdef.hrh> 

// Create a contact card and add a work phone number. Numeric values are 
// stored in a text field (storage type = KStorageTypeText).

CContactCard* newCard = CContactCard::NewLC();
_LIT(KWorkNumber,"02071234567");
// First create the field to hold the phone number
CContactItemField* phonefield=CContactItemField::NewLC(KStorageTypeText); 
// Set the field types and mapping UIDs for a work phone number property
phonefield->AddFieldTypeL(KUidContactFieldPhoneNumber);
phonefield->AddFieldTypeL(KUidContactFieldVCardMapWORK); 
// Make it the preferred number
phonefield->AddFieldTypeL(KUidContactFieldVCardMapPREF);
phonefield->SetMapping(KUidContactFieldVCardMapTEL);
// Add the telephone number to the field and the field to the card
phonefield->TextStorage()->SetTextL(KWorkNumber);
newCard->AddFieldL(*phonefield); // newCard takes ownership
CleanupStack::Pop(); // phonefield

// Add a birthday property. Date property values are stored using "date/time" 
// fields (storage type=KStorageTypeDateTime).

CContactItemField* birthdayfield=CContactItemField::NewLC(KStorageTypeDateTime);
birthdayfield->AddFieldTypeL(KUidContactFieldBirthday);
birthdayfield->SetMapping(KUidContactFieldVCardMapBDAY);
// Set birthday - 10 Jan 1970
birthdayfield->DateTimeStorage()->SetTime(TDateTime(1970,EJanuary,9,0,0,0,0));
newCard->AddFieldL(*birthdayfield); // newCard takes ownership
CleanupStack::Pop(); // birthdayfield