epoc32/include/app/cntdef.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __CNTDEF_H__
    17 #define __CNTDEF_H__
    18 
    19 #include <e32base.h>
    20 
    21 #if !( defined __SYMBIAN_CNTMODEL_HIDE_DBMS__ )
    22 #include <d32dbms.h>
    23 #else
    24 #include <s32std.h>
    25 #include <f32file.h>
    26 #endif
    27 
    28 #include <cntdef.hrh>
    29 
    30 
    31 // Constants
    32 
    33 /**
    34 @publishedAll 
    35 @released
    36 */
    37 const TInt KSpeedDialPhoneLength = 64;
    38 
    39 /**
    40 @publishedAll
    41 @released
    42 */
    43 const TInt KCntMinSpeedDialIndex = 1;
    44 
    45 /**
    46 @publishedAll
    47 @released
    48 */
    49 const TInt KCntMaxSpeedDialIndex = 9;
    50 
    51 /**
    52 Phone Match Length
    53 @publishedAll
    54 @released
    55 */
    56 const TInt KMaxPhoneMatchLength = 15;
    57 
    58 /**
    59 @publishedAll
    60 @released
    61 */
    62 const TInt KLowerSevenDigits = 7;
    63 
    64 /**
    65 Used for firstname, lastname, companyname, secondname and their
    66 associated pronunciation fields and e-mail address
    67 @publishedAll
    68 @released
    69 */
    70 const TInt KCntMaxTextFieldLength=255;
    71 
    72 // Type definitions
    73 
    74 /**
    75 @publishedAll
    76 @released
    77 */
    78 typedef TBuf<KSpeedDialPhoneLength> TSpeedDialPhoneNumber;
    79 
    80 /** Contact item ID. These are used to uniquely identify contact items within a
    81 contacts database. Contact items include contact cards, contact card templates,
    82 contact card groups and own cards. Contact item IDs are also used to uniquely
    83 identify agents.
    84 @publishedAll
    85 @released
    86 */
    87 typedef TInt32 TContactItemId;
    88 
    89 /** A UID which identifies a contact item field's type. The possible values are
    90 defined as UIDs in cntdef.h.
    91 @publishedAll
    92 @released
    93 */
    94 typedef TUid TFieldType;
    95 
    96 /** A contact item field's storage type.
    97 
    98 This is an unsigned integer value which identifies the type of data stored
    99 in a contact item field. The possible values are defined in cntdef.hrh as:
   100 
   101 - KStorageTypeText (used by CContactTextFields)
   102 
   103 - KStorageTypeStore (used by CContactStoreFields)
   104 
   105 - KStorageTypeContactItemId (used by CContactAgentFields)
   106 
   107 - KStorageTypeDateTime (used by CContactDateFields)
   108 
   109 Note that numeric fields are not supported. Numbers (e.g. telephone
   110 numbers) are stored in the database using text fields.
   111 @publishedAll
   112 @released
   113 */
   114 typedef TUint TStorageType;
   115 
   116 /** Machine identifier.
   117 
   118 This is used when synchronising the contact database to identify the
   119 machine with which the database has been synchronised.
   120 @see CContactDatabase::SetLastSyncDateL()
   121 @see CContactDatabase::GetLastSyncDateL().
   122 @publishedAll
   123 @released
   124 */
   125 typedef TInt32 TContactSyncId;
   126 
   127 /** Stores the value of KUidContactsDbFile as an integer.
   128 @publishedAll
   129 @released
   130 */
   131 const TInt KUidContactsDbFileValue=0x100065FF;
   132 /**
   133 The third UID of the contacts database file, c:\\system\\data\\contacts.cdb.
   134 This should be used by file recogniser implementations.
   135 @publishedAll
   136 @released
   137 */
   138 const TUid KUidContactsDbFile={KUidContactsDbFileValue};
   139 
   140 
   141 /** NULL contact item ID. Indicates that no contact item is present.
   142 @publishedAll
   143 @released
   144 */
   145 const TContactItemId KNullContactId=-1;
   146 /**
   147 The ID of the system template.
   148 @publishedAll
   149 @released
   150 */
   151 const TContactItemId KGoldenTemplateId=0;
   152 
   153 /** Identifies a vCard that has been pasted from the clipboard into the Contacts application.
   154 @publishedAll
   155 @released
   156 */
   157 const TUid KClipboardUidTypeVCard={0x100038f6};
   158 
   159 /** Identifies a contact card (CContactCard).
   160 @publishedAll
   161 @released
   162 */
   163 const TUid KUidContactCard={KUidContactCardValue};
   164 /** Identifies a contact group (CContactGroup).
   165 @publishedAll
   166 @released
   167 */
   168 const TUid KUidContactGroup={KUidContactGroupValue};
   169 /** Identifies the system template (CContactTemplate).
   170 @publishedAll
   171 @released
   172 */
   173 const TUid KUidContactTemplate={KUidContactTemplateValue};
   174 /** Identifies an own card (CContactOwnCard).
   175 @publishedAll
   176 @released
   177 */
   178 const TUid KUidContactOwnCard={KUidContactOwnCardValue}; 
   179 /** Identifies a non-system template (CContactCardTemplate). 
   180 @publishedAll
   181 @released
   182 */
   183 const TUid KUidContactCardTemplate={KUidContactCardTemplateValue};
   184 /** The UID that identifies ICC entries. These are a special type of
   185 contact item that are stored in the SIM (ICC) card on the phone.
   186 
   187 @publishedAll
   188 @released
   189 */
   190 const TUid KUidContactICCEntry={KUidContactICCEntryValue};
   191 
   192 /** Identifies any CContactItem-derived class (all of the above).
   193 @publishedAll
   194 @released
   195 */
   196 const TUid KUidContactItem={0x10005673};
   197 /** This identifies the CContactCard and CContactGroup classes.
   198 It is used internally by the contacts model.
   199 @publishedAll
   200 @released
   201 */
   202 const TUid KUidContactCardOrGroup={0x10005F71};
   203 
   204 
   205 /*
   206  * Speed-dial UIDs.
   207  * These are used to indicate the speed-dial position for a particular field.
   208  * They are added to the content type of a phone number field set as a
   209  * speed-dial using CContactDatabase::SetFieldAsSpeedDialL().
   210  */
   211 /** Field maps to the first speed dial position.
   212 @publishedAll
   213 @released
   214 */
   215 const TUid KUidSpeedDialOne={KUidSpeedDialOneValue};
   216 /** Field maps to the second speed dial position.
   217 @publishedAll
   218 @released
   219 */
   220 const TUid KUidSpeedDialTwo={KUidSpeedDialTwoValue};
   221 /** Field maps to the third speed dial position.
   222 @publishedAll
   223 @released
   224 */
   225 const TUid KUidSpeedDialThree={KUidSpeedDialThreeValue};
   226 /** Field maps to the fourth speed dial position.
   227 @publishedAll
   228 @released
   229 */
   230 const TUid KUidSpeedDialFour={KUidSpeedDialFourValue};
   231 /** Field maps to the fifth speed dial position.
   232 @publishedAll
   233 @released
   234 */
   235 const TUid KUidSpeedDialFive={KUidSpeedDialFiveValue};
   236 /** Field maps to the sixth speed dial position.
   237 @publishedAll
   238 @released
   239 */
   240 const TUid KUidSpeedDialSix={KUidSpeedDialSixValue};
   241 /** Field maps to the seventh speed dial position.
   242 @publishedAll
   243 @released
   244 */
   245 const TUid KUidSpeedDialSeven={KUidSpeedDialSevenValue};
   246 /** Field maps to the eighth speed dial position.
   247 @publishedAll
   248 @released
   249 */
   250 const TUid KUidSpeedDialEight={KUidSpeedDialEightValue};
   251 /** Field maps to the ninth speed dial position.
   252 @publishedAll
   253 @released
   254 */
   255 const TUid KUidSpeedDialNine={KUidSpeedDialNineValue};
   256 
   257 /*
   258  * Contact field type UIDs.
   259  */
   260 /** Address field.
   261 @publishedAll
   262 @released
   263 */
   264 const TUid KUidContactFieldAddress={KUidContactFieldAddressValue};
   265 /** Post office box field.
   266 @publishedAll
   267 @released
   268 */
   269 const TUid KUidContactFieldPostOffice={KUidContactFieldPostOfficeValue};
   270 /** Extended address field.
   271 @publishedAll
   272 @released
   273 */
   274 const TUid KUidContactFieldExtendedAddress={KUidContactFieldExtendedAddressValue};
   275 /** Locality field.
   276 @publishedAll
   277 @released
   278 */
   279 const TUid KUidContactFieldLocality={KUidContactFieldLocalityValue};
   280 /** Region field.
   281 @publishedAll
   282 @released
   283 */
   284 const TUid KUidContactFieldRegion={KUidContactFieldRegionValue};
   285 /** Post code field.
   286 @publishedAll
   287 @released
   288 */
   289 const TUid KUidContactFieldPostcode={KUidContactFieldPostCodeValue};
   290 /** Country field.
   291 @publishedAll
   292 @released
   293 */
   294 const TUid KUidContactFieldCountry={KUidContactFieldCountryValue};
   295 
   296 /** Company name field.
   297 @publishedAll
   298 @released
   299 */
   300 const TUid KUidContactFieldCompanyName={KUidContactFieldCompanyNameValue};
   301 /** Company name pronunciation field.
   302 @publishedAll
   303 @released
   304 */
   305 const TUid KUidContactFieldCompanyNamePronunciation={KUidContactFieldCompanyNamePronunciationValue};
   306 /** Phone number field.
   307 @publishedAll
   308 @released
   309 */
   310 const TUid KUidContactFieldPhoneNumber={KUidContactFieldPhoneNumberValue};
   311 /** Given name field.
   312 @publishedAll
   313 @released
   314 */
   315 const TUid KUidContactFieldGivenName={KUidContactFieldGivenNameValue};
   316 /** Family name field.
   317 @publishedAll
   318 @released
   319 */
   320 const TUid KUidContactFieldFamilyName={KUidContactFieldFamilyNameValue};
   321 /** Given name pronunciation field.
   322 @publishedAll
   323 @released
   324 */
   325 const TUid KUidContactFieldGivenNamePronunciation={KUidContactFieldGivenNamePronunciationValue};
   326 /** Family name pronunciation field.
   327 @publishedAll
   328 @released
   329 */
   330 const TUid KUidContactFieldFamilyNamePronunciation={KUidContactFieldFamilyNamePronunciationValue};
   331 /** Middle name field.
   332 @publishedAll
   333 @released
   334 */
   335 const TUid KUidContactFieldAdditionalName={KUidContactFieldAdditionalNameValue};
   336 /** Name suffix field.
   337 @publishedAll
   338 @released
   339 */
   340 const TUid KUidContactFieldSuffixName={KUidContactFieldSuffixNameValue};
   341 /** Name prefix field.
   342 @publishedAll
   343 @released
   344 */
   345 const TUid KUidContactFieldPrefixName={KUidContactFieldPrefixNameValue};
   346 /** Hidden field.
   347 @publishedAll
   348 @released
   349 */
   350 const TUid KUidContactFieldHidden={KUidContactFieldHiddenValue};
   351 /** Hidden field.
   352 @publishedAll
   353 @released
   354 */
   355 const TUid KUidContactFieldDefinedText={KUidContactFieldDefinedTextValue};
   356 /** Email address field.
   357 @publishedAll
   358 @released
   359 */
   360 const TUid KUidContactFieldEMail={KUidContactFieldEMailValue};
   361 /** Telephone number used for a messaging service.
   362 @publishedAll
   363 @released
   364 */
   365 const TUid KUidContactFieldMsg={KUidContactFieldMsgValue};
   366 /** Telephone number used for SMS messages.
   367 @publishedAll
   368 @released
   369 */
   370 const TUid KUidContactFieldSms={KUidContactFieldSmsValue};
   371 /** Fax number field.
   372 @publishedAll
   373 @released
   374 */
   375 const TUid KUidContactFieldFax={KUidContactFieldFaxValue};
   376 /** Comment field.
   377 @publishedAll
   378 @released
   379 */
   380 const TUid KUidContactFieldNote={KUidContactFieldNoteValue};
   381 /** Comment field.
   382 @publishedAll
   383 @released
   384 */
   385 const TUid KUidContactStorageInline={KUidContactFieldStorageInlineValue};
   386 /** Birthday field.
   387 @publishedAll
   388 @released
   389 */
   390 const TUid KUidContactFieldBirthday={KUidContactFieldBirthdayValue};
   391 /** URL field.
   392 @publishedAll
   393 @released
   394 */
   395 const TUid KUidContactFieldUrl={KUidContactFieldUrlValue};
   396 /** Template label field (a label which is used to refer to a template, for instance "work
   397 template", "personal template").
   398 @publishedAll
   399 @released
   400 */
   401 const TUid KUidContactFieldTemplateLabel={KUidContactFieldTemplateLabelValue};
   402 /** A picture field, for instance a logo or a photo.
   403 @publishedAll
   404 @released
   405 */
   406 const TUid KUidContactFieldPicture={KUidContactFieldPictureValue};
   407 /** Used internally by the contacts model.
   408 @publishedAll
   409 @released
   410 */
   411 const TUid KUidContactFieldDTMF={KUidContactFieldDTMFValue};
   412 /** Identifies a ring tone field. This is a ring tone that is associated with a contact item.
   413 @publishedAll
   414 @released
   415 */
   416 const TUid KUidContactFieldRingTone={KUidContactFieldRingToneValue};
   417 /** Identifies a job title field.
   418 @publishedAll
   419 @released
   420 */
   421 const TUid KUidContactFieldJobTitle={KUidContactFieldJobTitleValue};
   422 /** Identifies an instant messaging address field.
   423 @publishedAll
   424 @released
   425 */
   426 const TUid KUidContactFieldIMAddress = { KUidContactFieldIMAddressValue };
   427 /** Identifies a USIM second name field. This field is provided to
   428 store an additional representation of the contact's name, such as a
   429 nickname or a different representation. An example could be a Japanese
   430 contact which has a romanised name and an alternative representation using
   431 kanji (pictogram) characters.
   432 @publishedAll
   433 @released
   434 */
   435 const TUid KUidContactFieldSecondName = { KUidContactFieldSecondNameValue };
   436 /** Identifies a SIP identity field.
   437 @publishedAll
   438 @released
   439 */
   440 const TUid KUidContactFieldSIPID = { KUidContactFieldSIPIDValue };
   441 /** Identifies a Assistant field.
   442 @publishedAll
   443 @released
   444 */
   445 const TUid KUidContactFieldAssistant = { KUidContactFieldAssistantValue };
   446 /** Identifies an Anniversary field.
   447 @publishedAll
   448 @released
   449 */
   450 const TUid KUidContactFieldAnniversary = { KUidContactFieldAnniversaryValue };
   451 /** Identifies a Spouse field.
   452 @publishedAll
   453 @released
   454 */
   455 const TUid KUidContactFieldSpouse = { KUidContactFieldSpouseValue };
   456 /** Identifies a Children field.
   457 @publishedAll
   458 @released
   459 */
   460 const TUid KUidContactFieldChildren = { KUidContactFieldChildrenValue };
   461 /** Identifies a Class field.
   462 @publishedAll
   463 @released
   464 */
   465 const TUid KUidContactFieldClass = { KUidContactFieldClassValue };
   466 /** Identifies a Department field.
   467 @publishedAll
   468 @released
   469 */
   470 const TUid KUidContactFieldDepartmentName = { KUidContactFieldDepartmentNameValue };
   471 /*
   472 * CContactICCEntry (Telephony specific) UIDs.
   473  */
   474 /** Identifies an ICC slot contact field in the contact item.
   475 @publishedAll
   476 @released
   477 */
   478 const TUid KUidContactFieldICCSlot={KUidContactFieldICCSlotValue};
   479 /** Identifies an ICC Phonebook contact field in the contact item.
   480 @publishedAll
   481 @released
   482 */
   483 const TUid KUidContactFieldICCPhonebook={KUidContactFieldICCPhonebookValue};
   484 /** Identifies an ICC Group contact field in the contact item.
   485 @publishedAll
   486 @released
   487 */
   488 const TUid KUidContactFieldICCGroup={KUidContactFieldICCGroupValue};
   489 /** Identifies a voice dial field. This is a voice recording associated with a telephone number
   490 field in the item.
   491 @publishedAll
   492 @released
   493 */
   494 const TUid KUidContactsVoiceDialField={KUidContactsVoiceDialFieldValue};
   495 /** Identifies a Geo field in the contact item. 
   496 @publishedAll
   497 @released
   498 */
   499 const TUid KUidContactFieldGEO={KUidContactFieldGEOValue};
   500 /** Indicates no field present.
   501 @publishedAll
   502 @released
   503 */
   504 const TUid KUidContactFieldNone={KUidContactFieldNoneValue};
   505 /** Used in field type matching to indicate that all field types match.
   506 @publishedAll
   507 @released
   508 */
   509 const TInt32 KUidContactFieldMatchAllValue=0x110FFF22;
   510 /** Used in field type matching to indicate that all field types match.
   511 @publishedAll
   512 @released
   513 */
   514 const TUid KUidContactFieldMatchAll={KUidContactFieldMatchAllValue};
   515 
   516 /*
   517  * Contact field type vCard mappings.
   518  * The vCard mapping describes how the field should be handled by the
   519  * vCard import/export code.
   520  */
   521 /** Field type maps to the Post office box field in an ADR vCard property value.
   522 @publishedAll
   523 @released
   524 */
   525 const TUid KUidContactFieldVCardMapPOSTOFFICE={KIntContactFieldVCardMapPOSTOFFICE};
   526 /** Field type maps to the Extended address field in an ADR vCard property value.
   527 @publishedAll
   528 @released
   529 */
   530 const TUid KUidContactFieldVCardMapEXTENDEDADR={KIntContactFieldVCardMapEXTENDEDADR};
   531 /** Field type maps to vCard property ADR.
   532 @publishedAll
   533 @released
   534 */
   535 const TUid KUidContactFieldVCardMapADR={KIntContactFieldVCardMapADR};
   536 /** Field type maps to the Locality field in an ADR vCard property value.
   537 @publishedAll
   538 @released
   539 */
   540 const TUid KUidContactFieldVCardMapLOCALITY={KIntContactFieldVCardMapLOCALITY};
   541 /** Field type maps to the Region field in an ADR vCard property value.
   542 @publishedAll
   543 @released
   544 */
   545 const TUid KUidContactFieldVCardMapREGION={KIntContactFieldVCardMapREGION};
   546 /** Field type maps to the Postcode field in an ADR vCard property value.
   547 @publishedAll
   548 @released
   549 */
   550 const TUid KUidContactFieldVCardMapPOSTCODE={KIntContactFieldVCardMapPOSTCODE};
   551 /** Field type maps to the Country field in an ADR vCard property value.
   552 @publishedAll
   553 @released
   554 */
   555 const TUid KUidContactFieldVCardMapCOUNTRY={KIntContactFieldVCardMapCOUNTRY};
   556 
   557 /** Field type maps to vCard property AGENT.
   558 @publishedAll
   559 @released
   560 */
   561 const TUid KUidContactFieldVCardMapAGENT={KIntContactFieldVCardMapAGENT};
   562 /** Field type maps to vCard property BDAY.
   563 @publishedAll
   564 @released
   565 */
   566 const TUid KUidContactFieldVCardMapBDAY={KIntContactFieldVCardMapBDAY};
   567 /** Field type maps to vCard property EMAIL.
   568 @publishedAll
   569 @released
   570 */
   571 const TUid KUidContactFieldVCardMapEMAILINTERNET={KIntContactFieldVCardMapEMAILINTERNET};
   572 /** Field type maps to vCard property GEO.
   573 @publishedAll
   574 @released
   575 */
   576 const TUid KUidContactFieldVCardMapGEO={KIntContactFieldVCardMapGEO};
   577 /** Field type maps to vCard property LABEL.
   578 @publishedAll
   579 @released
   580 */
   581 const TUid KUidContactFieldVCardMapLABEL={KIntContactFieldVCardMapLABEL};
   582 /** Field type maps to vCard property LOGO.
   583 @publishedAll
   584 @released
   585 */
   586 const TUid KUidContactFieldVCardMapLOGO={KIntContactFieldVCardMapLOGO};
   587 /** Field type maps to vCard property MAILER.
   588 @publishedAll
   589 @released
   590 */
   591 const TUid KUidContactFieldVCardMapMAILER={KIntContactFieldVCardMapMAILER};
   592 /** Field type maps to vCard property NOTE.
   593 @publishedAll
   594 @released
   595 */
   596 const TUid KUidContactFieldVCardMapNOTE={KIntContactFieldVCardMapNOTE};
   597 /** Field type maps to vCard property ORG.
   598 @publishedAll
   599 @released
   600 */
   601 const TUid KUidContactFieldVCardMapORG={KIntContactFieldVCardMapORG};
   602 /** Field type maps to vCard X-IRMC-ORG parameter of property SOUND.
   603 @publishedAll
   604 @released
   605 */
   606 const TUid KUidContactFieldVCardMapORGPronunciation={KIntContactFieldVCardMapORGPronunciation};
   607 /** Field type maps to vCard property PHOTO.
   608 @publishedAll
   609 @released
   610 */
   611 const TUid KUidContactFieldVCardMapPHOTO={KIntContactFieldVCardMapPHOTO};
   612 /** Field type maps to vCard property ROLE.
   613 @publishedAll
   614 @released
   615 */
   616 const TUid KUidContactFieldVCardMapROLE={KIntContactFieldVCardMapROLE};
   617 /** Field type maps to vCard property SOUND.
   618 @publishedAll
   619 @released
   620 */
   621 const TUid KUidContactFieldVCardMapSOUND={KIntContactFieldVCardMapSOUND};
   622 /** Field type maps to vCard property TEL.
   623 @publishedAll
   624 @released
   625 */
   626 const TUid KUidContactFieldVCardMapTEL={KIntContactFieldVCardMapTEL};
   627 /** Field type maps to vCard property parameter FAX.
   628 @publishedAll
   629 @released
   630 */
   631 const TUid KUidContactFieldVCardMapTELFAX={KIntContactFieldVCardMapTELFAX};
   632 /** Field type maps to vCard property TITLE.
   633 @publishedAll
   634 @released
   635 */
   636 const TUid KUidContactFieldVCardMapTITLE={KIntContactFieldVCardMapTITLE};
   637 /** Field type maps to vCard property URL.
   638 @publishedAll
   639 @released
   640 */
   641 const TUid KUidContactFieldVCardMapURL={KIntContactFieldVCardMapURL};
   642 /** Field maps to the vCard property N (name). Must be used in conjunction with
   643 a name-related field type (e.g. KUidContactFieldGivenName) to form the given
   644 name field mapping.
   645 @publishedAll
   646 @released
   647 */
   648 const TUid KUidContactFieldVCardMapUnusedN={KIntContactFieldVCardMapUnusedN};
   649 /** Field type maps to vCard property FN (the display name).
   650 @publishedAll
   651 @released
   652 */
   653 const TUid KUidContactFieldVCardMapUnusedFN={KIntContactFieldVCardMapUnusedFN};
   654 /** Mapping between the vCard property and field type is not required.
   655 @publishedAll
   656 @released
   657 */
   658 const TUid KUidContactFieldVCardMapNotRequired={KIntContactFieldVCardMapNotRequired};
   659 /** Unknown mapping between a field type and a vCard extension property.
   660 @publishedAll
   661 @released
   662 */
   663 const TUid KUidContactFieldVCardMapUnknownXDash={KIntContactFieldVCardMapUnknownXDash};
   664 /** Unknown mapping between field type and non-extension vCard property.
   665 @publishedAll
   666 @released
   667 */
   668 const TUid KUidContactFieldVCardMapUnknown={KIntContactFieldVCardMapUnknown};
   669 /** Field type maps to vCard property UID.
   670 @publishedAll
   671 @released
   672 */
   673 const TUid KUidContactFieldVCardMapUID={KIntContactFieldVCardMapUID};
   674 /** Field type maps to vCard property parameter WORK.
   675 @publishedAll
   676 @released
   677 */
   678 const TUid KUidContactFieldVCardMapWORK={KIntContactFieldVCardMapWORK};
   679 /** Field type maps to vCard property parameter HOME.
   680 @publishedAll
   681 @released
   682 */
   683 const TUid KUidContactFieldVCardMapHOME={KIntContactFieldVCardMapHOME};
   684 /** Field type maps to vCard property parameter MSG.
   685 @publishedAll
   686 @released
   687 */
   688 const TUid KUidContactFieldVCardMapMSG={KIntContactFieldVCardMapMSG};
   689 /** Field type maps to vCard property parameter VOICE.
   690 @publishedAll
   691 @released
   692 */
   693 const TUid KUidContactFieldVCardMapVOICE={KIntContactFieldVCardMapVOICE};
   694 /** Field type maps to vCard property parameter FAX.
   695 @publishedAll
   696 @released
   697 */
   698 const TUid KUidContactFieldVCardMapFAX={KIntContactFieldVCardMapFAX};
   699 /** Field type maps to vCard property parameter PREF.
   700 @publishedAll
   701 @released
   702 */
   703 const TUid KUidContactFieldVCardMapPREF={KIntContactFieldVCardMapPREF};
   704 /** Field type maps to vCard property parameter CELL.
   705 @publishedAll
   706 @released
   707 */
   708 const TUid KUidContactFieldVCardMapCELL={KIntContactFieldVCardMapCELL};
   709 /** Field type maps to vCard property parameter INTERNET.
   710 @publishedAll
   711 @released
   712 */
   713 const TUid KUidContactFieldVCardMapINTERNET={KIntContactFieldVCardMapINTERNET};
   714 /** Field type maps to vCard property parameter PAGER.
   715 @publishedAll
   716 @released
   717 */
   718 const TUid KUidContactFieldVCardMapPAGER={KIntContactFieldVCardMapPAGER};
   719 /** Field type maps to vCard property parameter BBS.
   720 @publishedAll
   721 @released
   722 */
   723 const TUid KUidContactFieldVCardMapBBS={KIntContactFieldVCardMapBBS};
   724 /** Field type maps to vCard property parameter MODEM.
   725 @publishedAll
   726 @released
   727 */
   728 const TUid KUidContactFieldVCardMapMODEM={KIntContactFieldVCardMapMODEM};
   729 /** Field type maps to vCard property parameter CAR.
   730 @publishedAll
   731 @released
   732 */
   733 const TUid KUidContactFieldVCardMapCAR={KIntContactFieldVCardMapCAR};
   734 /** Field type maps to vCard property parameter ISDN.
   735 @publishedAll
   736 @released
   737 */
   738 const TUid KUidContactFieldVCardMapISDN={KIntContactFieldVCardMapISDN};
   739 /** Field type maps to vCard property parameter VIDEO.
   740 @publishedAll
   741 @released
   742 */
   743 const TUid KUidContactFieldVCardMapVIDEO={KIntContactFieldVCardMapVIDEO};
   744 /** Field type maps to vCard property parameter DOM.
   745 @publishedAll
   746 @released
   747 */
   748 const TUid KUidContactFieldVCardMapDOM={KIntContactFieldVCardMapDOM};
   749 /** Field type maps to vCard property parameter INTL.
   750 @publishedAll
   751 @released
   752 */
   753 const TUid KUidContactFieldVCardMapINTL={KIntContactFieldVCardMapINTL};
   754 /** Field type maps to vCard property parameter POSTAL.
   755 @publishedAll
   756 @released
   757 */
   758 const TUid KUidContactFieldVCardMapPOSTAL={KIntContactFieldVCardMapPOSTAL};
   759 /** Field type maps to vCard property parameter PARCEL.
   760 @publishedAll
   761 @released
   762 */
   763 const TUid KUidContactFieldVCardMapPARCEL={KIntContactFieldVCardMapPARCEL};
   764 /** Field type maps to vCard property parameter value GIF.
   765 @publishedAll
   766 @released
   767 */
   768 const TUid KUidContactFieldVCardMapGIF={KIntContactFieldVCardMapGIF};
   769 /** Field type maps to vCard property parameter value CGM.
   770 @publishedAll
   771 @released
   772 */
   773 const TUid KUidContactFieldVCardMapCGM={KIntContactFieldVCardMapCGM};
   774 /** Field type maps to vCard property parameter value WMF.
   775 @publishedAll
   776 @released
   777 */
   778 const TUid KUidContactFieldVCardMapWMF={KIntContactFieldVCardMapWMF};
   779 /** Field type maps to vCard property parameter value BMP.
   780 @publishedAll
   781 @released
   782 */
   783 const TUid KUidContactFieldVCardMapBMP={KIntContactFieldVCardMapBMP};
   784 /** Field type maps to vCard property parameter value MET.
   785 @publishedAll
   786 @released
   787 */
   788 const TUid KUidContactFieldVCardMapMET={KIntContactFieldVCardMapMET};
   789 /** Field type maps to vCard property parameter value PMB.
   790 @publishedAll
   791 @released
   792 */
   793 const TUid KUidContactFieldVCardMapPMB={KIntContactFieldVCardMapPMB};
   794 /** Field type maps to vCard property parameter value DIB.
   795 @publishedAll
   796 @released
   797 */
   798 const TUid KUidContactFieldVCardMapDIB={KIntContactFieldVCardMapDIB};
   799 /** Field type maps to vCard property parameter value PICT.
   800 @publishedAll
   801 @released
   802 */
   803 const TUid KUidContactFieldVCardMapPICT={KIntContactFieldVCardMapPICT};
   804 /** Field type maps to vCard property parameter value TIFF.
   805 @publishedAll
   806 @released
   807 */
   808 const TUid KUidContactFieldVCardMapTIFF={KIntContactFieldVCardMapTIFF};
   809 /** Field type maps to vCard property parameter value PDF.
   810 @publishedAll
   811 @released
   812 */
   813 const TUid KUidContactFieldVCardMapPDF={KIntContactFieldVCardMapPDF};
   814 /** Field type maps to vCard property parameter value PS.
   815 @publishedAll
   816 @released
   817 */
   818 const TUid KUidContactFieldVCardMapPS={KIntContactFieldVCardMapPS};
   819 /** Field type maps to vCard property parameter value JPEG.
   820 @publishedAll
   821 @released
   822 */
   823 const TUid KUidContactFieldVCardMapJPEG={KIntContactFieldVCardMapJPEG};
   824 /** Field type maps to vCard property parameter value MPEG.
   825 @publishedAll
   826 @released
   827 */
   828 const TUid KUidContactFieldVCardMapMPEG={KIntContactFieldVCardMapMPEG};
   829 /** Field type maps to vCard property parameter value MPEG2.
   830 @publishedAll
   831 @released
   832 */
   833 const TUid KUidContactFieldVCardMapMPEG2={KIntContactFieldVCardMapMPEG2};
   834 /** Field type maps to vCard property parameter value AVI.
   835 @publishedAll
   836 @released
   837 */
   838 const TUid KUidContactFieldVCardMapAVI={KIntContactFieldVCardMapAVI};
   839 /** Field type maps to vCard property parameter value QTIME.
   840 @publishedAll
   841 @released
   842 */
   843 const TUid KUidContactFieldVCardMapQTIME={KIntContactFieldVCardMapQTIME};
   844 /** Field type maps to vCard property TZ.
   845 @publishedAll
   846 @released
   847 */
   848 const TUid KUidContactFieldVCardMapTZ={KIntContactFieldVCardMapTZ};
   849 /** Field type maps to vCard property KEY.
   850 @publishedAll
   851 @released
   852 */
   853 const TUid KUidContactFieldVCardMapKEY={KIntContactFieldVCardMapKEY};
   854 /** Field type maps to vCard property parameter value X509.
   855 @publishedAll
   856 @released
   857 */
   858 const TUid KUidContactFieldVCardMapX509={KIntContactFieldVCardMapX509};
   859 /** Field type maps to vCard property parameter value PGP.
   860 @publishedAll
   861 @released
   862 */
   863 const TUid KUidContactFieldVCardMapPGP={KIntContactFieldVCardMapPGP};
   864 /** Used internally by the contacts model.
   865 @publishedAll
   866 @released
   867 */
   868 const TUid KUidContactFieldVCardMapSMIME={KIntContactFieldVCardMapSMIME};
   869 /** The field contains a Wireless Village instant messaging ID.
   870 @publishedAll
   871 @released
   872 */
   873 const TUid KUidContactFieldVCardMapWV={KIntContactFieldVCardMapWV};
   874 /** Field type mapping of a vCard property to contacts Second Name Field
   875 @publishedAll
   876 @released
   877 */
   878 const TUid KUidContactFieldVCardMapSECONDNAME={KIntContactFieldVCardMapSECONDNAME};
   879 /** Field type mapping of a vCard property to contacts SIP Identity Field.
   880 @publishedAll
   881 @released
   882 */
   883 const TUid KUidContactFieldVCardMapSIPID={KIntContactFieldVCardMapSIPID};
   884 /** Field type maps to vCard extension property parameter value POC
   885 (Push to Talk Over Cellular).
   886 @publishedAll
   887 @released
   888 */
   889 const TUid KUidContactFieldVCardMapPOC={KIntContactFieldVCardMapPOC};
   890 /** Field type maps to vCard extension property parameter value SWIS
   891 ("See What I See").
   892 @publishedAll
   893 @released
   894 */
   895 const TUid KUidContactFieldVCardMapSWIS={KIntContactFieldVCardMapSWIS};
   896 /** Field type maps to vCard extension property parameter value VOIP
   897 (Voice Over IP).
   898 @publishedAll
   899 @released
   900 */
   901 const TUid KUidContactFieldVCardMapVOIP={KIntContactFieldVCardMapVOIP};
   902 /** Field type maps to vCard extension property parameter value Assistant
   903 @publishedAll
   904 @released
   905 */
   906 const TUid KUidContactFieldVCardMapAssistant={KIntContactFieldVCardMapAssistant};
   907 /** Field type maps to vCard extension property parameter value AssistantTel
   908 @publishedAll
   909 @released
   910 */
   911 const TUid KUidContactFieldVCardMapAssistantTel={KIntContactFieldVCardMapAssistantTel};
   912 /** Field type maps to vCard extension property parameter value Anniversary
   913 @publishedAll
   914 @released
   915 */
   916 const TUid KUidContactFieldVCardMapAnniversary={KIntContactFieldVCardMapAnniversary};
   917 /** Field type maps to vCard extension property parameter value Spouse
   918 @publishedAll
   919 @released
   920 */
   921 const TUid KUidContactFieldVCardMapSpouse={KIntContactFieldVCardMapSpouse};
   922 /** Field type maps to vCard extension property parameter value Children
   923 @publishedAll
   924 @released
   925 */
   926 const TUid KUidContactFieldVCardMapChildren={KIntContactFieldVCardMapChildren};
   927 /** Field type maps to vCard extension property parameter value Class
   928 @publishedAll
   929 @released
   930 */
   931 const TUid KUidContactFieldVCardMapClass={KIntContactFieldVCardMapClass};
   932 /** Field type maps to vCard extension property parameter value Department
   933 @publishedAll
   934 @released
   935 */
   936 const TUid KUidContactFieldVCardMapDepartment={KIntContactFieldVCardMapDepartment};
   937 
   938 /** Name of the TYPE property parameter, for which the values are work, home etc. 
   939 @publishedAll
   940 @released
   941 */
   942 _LIT(KVersitParamType,"TYPE");
   943 /** Name of the WORK property parameter.
   944 @publishedAll
   945 @released
   946 */
   947 _LIT(KVersitParamWork,"WORK");
   948 /** Name of the HOME property parameter.
   949 @publishedAll
   950 @released
   951 */
   952 _LIT(KVersitParamHome,"HOME");
   953 /** Name of the MSG property parameter.
   954 @publishedAll
   955 @released
   956 */
   957 _LIT(KVersitParamMsg,"MSG");
   958 /** Name of the VOICE property parameter.
   959 @publishedAll
   960 @released
   961 */
   962 _LIT(KVersitParamVoice,"VOICE");
   963 /** Name of the FAX property parameter.
   964 @publishedAll
   965 @released
   966 */
   967 _LIT(KVersitParamFax,"FAX");
   968 /** Name of the PREF property parameter.
   969 @publishedAll
   970 @released
   971 */
   972 _LIT(KVersitParamPref,"PREF");
   973 /** Name of the CELL property parameter.
   974 @publishedAll
   975 @released
   976 */
   977 _LIT(KVersitParamCell,"CELL");
   978 /** Name of the PAGER property parameter.
   979 @publishedAll
   980 @released
   981 */
   982 _LIT(KVersitParamPager,"PAGER");
   983 /** Name of the BBS property parameter.
   984 @publishedAll
   985 @released
   986 */
   987 _LIT(KVersitParamBbs,"BBS");
   988 /** Name of the MODEM property parameter.
   989 @publishedAll
   990 @released
   991 */
   992 _LIT(KVersitParamModem,"MODEM");
   993 /** Name of the CAR property parameter.
   994 @publishedAll
   995 @released
   996 */
   997 _LIT(KVersitParamCar,"CAR");
   998 /** Name of the ISDN property parameter.
   999 @publishedAll
  1000 @released
  1001 */
  1002 _LIT(KVersitParamIsdn,"ISDN");
  1003 /** Name of the VIDEO property parameter.
  1004 @publishedAll
  1005 @released
  1006 */
  1007 _LIT(KVersitParamVideo,"VIDEO");
  1008 /** Name of the DOM property parameter.
  1009 @publishedAll
  1010 @released
  1011 */
  1012 _LIT(KVersitParamDom,"DOM");
  1013 /** Name of the GIF property parameter.
  1014 @publishedAll
  1015 @released
  1016 */
  1017 _LIT(KVersitParamGif,"GIF");
  1018 /** Name of the CGM property parameter.
  1019 @publishedAll
  1020 @released
  1021 */
  1022 _LIT(KVersitParamCgm,"CGM");
  1023 /** Name of the WMF property parameter.
  1024 @publishedAll
  1025 @released
  1026 */
  1027 _LIT(KVersitParamWmf,"WMF");
  1028 /** Name of the BMP property parameter.
  1029 @publishedAll
  1030 @released
  1031 */
  1032 _LIT(KVersitParamBmp,"BMP");
  1033 /** Name of the MET property parameter.
  1034 @publishedAll
  1035 @released
  1036 */
  1037 _LIT(KVersitParamMet,"MET");
  1038 /** Name of the PMB property parameter.
  1039 @publishedAll
  1040 @released
  1041 */
  1042 _LIT(KVersitParamPmb,"PMB");
  1043 /** Name of the DIB property parameter.
  1044 @publishedAll
  1045 @released
  1046 */
  1047 _LIT(KVersitParamDib,"DIB");
  1048 /** Name of the PICT property parameter.
  1049 @publishedAll
  1050 @released
  1051 */
  1052 _LIT(KVersitParamPict,"PICT");
  1053 /** Name of the TIFF property parameter.
  1054 @publishedAll
  1055 @released
  1056 */
  1057 _LIT(KVersitParamTiff,"TIFF");
  1058 /** Name of the PDF property parameter.
  1059 @publishedAll
  1060 @released
  1061 */
  1062 _LIT(KVersitParamPdf,"PDF");
  1063 /** Name of the PS property parameter.
  1064 @publishedAll
  1065 @released
  1066 */
  1067 _LIT(KVersitParamPs,"PS");
  1068 /** Name of the JPEG property parameter.
  1069 @publishedAll
  1070 @released
  1071 */
  1072 _LIT(KVersitParamJpeg,"JPEG");
  1073 /** Name of the MPEG property parameter.
  1074 @publishedAll
  1075 @released
  1076 */
  1077 _LIT(KVersitParamMpeg,"MPEG");
  1078 /** Name of the MPEG2 property parameter.
  1079 @publishedAll
  1080 @released
  1081 */
  1082 _LIT(KVersitParamMpeg2,"MPEG2");
  1083 /** Name of the AVI property parameter.
  1084 @publishedAll
  1085 @released
  1086 */
  1087 _LIT(KVersitParamAvi,"AVI");
  1088 /** Name of the QTIME property parameter.
  1089 @publishedAll
  1090 @released
  1091 */
  1092 _LIT(KVersitParamQtime,"QTIME");
  1093 /** Name of the X509 property parameter.
  1094 @publishedAll
  1095 @released
  1096 */
  1097 _LIT(KVersitParamX509,"X509");
  1098 /** Name of the PGP property parameter.
  1099 @publishedAll
  1100 @released
  1101 */
  1102 _LIT(KVersitParamPGP,"PGP");
  1103 /** Name of the INTERNET property parameter.
  1104 @publishedAll
  1105 @released
  1106 */
  1107 _LIT(KVersitParamINTERNET,"INTERNET");
  1108 
  1109 /** 8 bit name of the TYPE property parameter.
  1110 @publishedAll
  1111 @released
  1112 */
  1113 _LIT8(KVersitParam8Type,"TYPE");
  1114 /** 8 bit name of the WORK property parameter.
  1115 @publishedAll
  1116 @released
  1117 */
  1118 _LIT8(KVersitParam8Work,"WORK");
  1119 /** 8 bit name of the HOME property parameter.
  1120 @publishedAll
  1121 @released
  1122 */
  1123 _LIT8(KVersitParam8Home,"HOME");
  1124 /** 8 bit name of the MSG property parameter.
  1125 @publishedAll
  1126 @released
  1127 */
  1128 _LIT8(KVersitParam8Msg,"MSG");
  1129 /** 8 bit name of the VOICE property parameter.
  1130 @publishedAll
  1131 @released
  1132 */
  1133 _LIT8(KVersitParam8Voice,"VOICE");
  1134 /** 8 bit name of the FAX property parameter.
  1135 @publishedAll
  1136 @released
  1137 */
  1138 _LIT8(KVersitParam8Fax,"FAX");
  1139 /** 8 bit name of the PREF property parameter.
  1140 @publishedAll
  1141 @released
  1142 */
  1143 _LIT8(KVersitParam8Pref,"PREF");
  1144 /** 8 bit name of the CELL property parameter.
  1145 @publishedAll
  1146 @released
  1147 */
  1148 _LIT8(KVersitParam8Cell,"CELL");
  1149 /** 8 bit name of the PAGER property parameter.
  1150 @publishedAll
  1151 @released
  1152 */
  1153 _LIT8(KVersitParam8Pager,"PAGER");
  1154 /** 8 bit name of the BBS property parameter.
  1155 @publishedAll
  1156 @released
  1157 */
  1158 _LIT8(KVersitParam8Bbs,"BBS");
  1159 /** 8 bit name of the MODEM property parameter.
  1160 @publishedAll
  1161 @released
  1162 */
  1163 _LIT8(KVersitParam8Modem,"MODEM");
  1164 /** 8 bit name of the CAR property parameter.
  1165 @publishedAll
  1166 @released
  1167 */
  1168 _LIT8(KVersitParam8Car,"CAR");
  1169 /** 8 bit name of the ISDN property parameter.
  1170 @publishedAll
  1171 @released
  1172 */
  1173 _LIT8(KVersitParam8Isdn,"ISDN");
  1174 /** 8 bit name of the VIDEO property parameter.
  1175 @publishedAll
  1176 @released
  1177 */
  1178 _LIT8(KVersitParam8Video,"VIDEO");
  1179 /** 8 bit name of the DOM property parameter.
  1180 @publishedAll
  1181 @released
  1182 */
  1183 _LIT8(KVersitParam8Dom,"DOM");
  1184 /** 8 bit name of the GIF property parameter.
  1185 @publishedAll
  1186 @released
  1187 */
  1188 _LIT8(KVersitParam8Gif,"GIF");
  1189 /** 8 bit name of the CGM property parameter.
  1190 @publishedAll
  1191 @released
  1192 */
  1193 _LIT8(KVersitParam8Cgm,"CGM");
  1194 /** 8 bit name of the WMF property parameter.
  1195 @publishedAll
  1196 @released
  1197 */
  1198 _LIT8(KVersitParam8Wmf,"WMF");
  1199 /** 8 bit name of the BMP property parameter.
  1200 @publishedAll
  1201 @released
  1202 */
  1203 _LIT8(KVersitParam8Bmp,"BMP");
  1204 /** 8 bit name of the MET property parameter.
  1205 @publishedAll
  1206 @released
  1207 */
  1208 _LIT8(KVersitParam8Met,"MET");
  1209 /** 8 bit name of the PMB property parameter.
  1210 @publishedAll
  1211 @released
  1212 */
  1213 _LIT8(KVersitParam8Pmb,"PMB");
  1214 /** 8 bit name of the DIB property parameter.
  1215 @publishedAll
  1216 @released
  1217 */
  1218 _LIT8(KVersitParam8Dib,"DIB");
  1219 /** 8 bit name of the PICT property parameter.
  1220 @publishedAll
  1221 @released
  1222 */
  1223 _LIT8(KVersitParam8Pict,"PICT");
  1224 /** 8 bit name of the TIFF property parameter.
  1225 @publishedAll
  1226 @released
  1227 */
  1228 _LIT8(KVersitParam8Tiff,"TIFF");
  1229 /** 8 bit name of the PDF property parameter.
  1230 @publishedAll
  1231 @released
  1232 */
  1233 _LIT8(KVersitParam8Pdf,"PDF");
  1234 /** 8 bit name of the PS property parameter.
  1235 @publishedAll
  1236 @released
  1237 */
  1238 _LIT8(KVersitParam8Ps,"PS");
  1239 /** 8 bit name of the JPEG property parameter.
  1240 @publishedAll
  1241 @released
  1242 */
  1243 _LIT8(KVersitParam8Jpeg,"JPEG");
  1244 /** 8 bit name of the MPEG property parameter.
  1245 @publishedAll
  1246 @released
  1247 */
  1248 _LIT8(KVersitParam8Mpeg,"MPEG");
  1249 /** 8 bit name of the MPEG2 property parameter.
  1250 @publishedAll
  1251 @released
  1252 */
  1253 _LIT8(KVersitParam8Mpeg2,"MPEG2");
  1254 /** 8 bit name of the AVI property parameter.
  1255 @publishedAll
  1256 @released
  1257 */
  1258 _LIT8(KVersitParam8Avi,"AVI");
  1259 /** 8 bit name of the QTIME property parameter.
  1260 @publishedAll
  1261 @released
  1262 */
  1263 _LIT8(KVersitParam8Qtime,"QTIME");
  1264 /** 8 bit name of the X509 property parameter.
  1265 @publishedAll
  1266 @released
  1267 */
  1268 _LIT8(KVersitParam8X509,"X509");
  1269 /** 8 bit name of the PGP property parameter.
  1270 @publishedAll
  1271 @released
  1272 */
  1273 _LIT8(KVersitParam8PGP,"PGP");
  1274 /** 8 bit name of the INTERNET property parameter.
  1275 @publishedAll
  1276 @released
  1277 */
  1278 _LIT8(KVersitParam8Internet,"INTERNET");
  1279 
  1280 /**
  1281 8 bit name of the X-IRMC-N property parameter (family or given
  1282 name pronunciation).
  1283 @publishedAll
  1284 @released
  1285 */
  1286 _LIT8(KVersitParam8NamePrn,"X-IRMC-N");
  1287 /**
  1288 8 bit name of the X-IRMC-ORG property parameter (company
  1289 name pronunciation).
  1290 @publishedAll
  1291 @released
  1292 */
  1293 _LIT8(KVersitParam8CompanyPrn,"X-IRMC-ORG");
  1294 /**
  1295 8 bit name of the X-IRMC- property parameter (pronunciation field prefix).
  1296 @publishedAll
  1297 @released
  1298 */
  1299 _LIT8(KVersitParam8PronunciationPrefix,"X-IRMC-");
  1300 
  1301 
  1302 
  1303 class CContactIdArray : public CBase
  1304 /** Array of contact item IDs (TContactItemIds).
  1305 
  1306 Instances of this class are used in several contact database functions,
  1307 for instance CContactDatabase::DeleteContactsL().
  1308 @publishedAll
  1309 @released
  1310 */
  1311 	{
  1312 public:
  1313 	IMPORT_C static CContactIdArray* NewL();
  1314 	IMPORT_C static CContactIdArray* NewLC();
  1315 	IMPORT_C static CContactIdArray* NewL(const CContactIdArray* aArray);
  1316 	IMPORT_C static CContactIdArray* NewLC(const CContactIdArray* aArray);
  1317 	static CContactIdArray* NewLC(RReadStream& aStream);
  1318 	IMPORT_C ~CContactIdArray();
  1319 	inline const TContactItemId& operator[](TInt aIndex) const;
  1320 	inline TContactItemId& operator[](TInt aIndex);
  1321 	inline TInt Count() const;
  1322 	inline void Reset();
  1323 	IMPORT_C TInt Find(TContactItemId aId) const;
  1324 	IMPORT_C void AddL(TContactItemId aId);
  1325 
  1326 	inline void Remove(TInt aIndex);
  1327 	inline void Remove(TInt aIndex,TInt aCount);
  1328 	inline void InsertL(TInt aIndex,TContactItemId aId);
  1329 	IMPORT_C void MoveL(TInt aOldIndex,TInt aNewIndex);
  1330 	IMPORT_C void ReverseOrder();
  1331 	IMPORT_C void InternalizeL(RReadStream& aStream);
  1332 	IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
  1333 public:  // intended for internal Contacts Model usage only
  1334 	void Sort();
  1335 private:
  1336 	CContactIdArray();
  1337 	void ConstructL();
  1338 	void CloneL(const CContactIdArray* aArray);
  1339 private:
  1340 	CArrayFixFlat<TContactItemId> *iIds;
  1341 	};
  1342 inline const TContactItemId& CContactIdArray::operator[](TInt aIndex) const
  1343 /** Gets the indexed TContactItemId.
  1344 
  1345 @param aIndex The position of the contact ID within the array, relative to zero.
  1346 This must be non-negative and less than the number of objects in the array
  1347 otherwise the operator raises a panic.
  1348 @return A reference to a const element of the array. */
  1349 	{ return (*iIds)[aIndex]; }
  1350 
  1351 inline TContactItemId& CContactIdArray::operator[](TInt aIndex)
  1352 /** Gets the indexed TContactItemId.
  1353 
  1354 @param aIndex The position of the contact ID within the array, relative to zero.
  1355 This must be non-negative and less than the number of objects in the array
  1356 otherwise the operator raises a panic.
  1357 @return A reference to a non-const element of the array. */
  1358 	{ return (*iIds)[aIndex]; }
  1359 
  1360 inline TInt CContactIdArray::Count() const
  1361 /** Gets the number of contact IDs in the array.
  1362 
  1363 @return The number of contact IDs in the array. */
  1364 	{ return iIds->Count(); }
  1365 
  1366 inline void CContactIdArray::Reset()
  1367 /** Removes all contact IDs from the array. */
  1368 	{ iIds->Reset(); }
  1369 
  1370 inline void CContactIdArray::Remove(TInt aIndex)
  1371 /** Removes the indexed contact ID from the array.
  1372 
  1373 The index value must not be negative and must not be greater than the number
  1374 of elements in the array, otherwise the function raises a panic.
  1375 
  1376 @param aIndex The index of the contact ID to remove. */
  1377 	{ iIds->Delete(aIndex); }
  1378 
  1379 inline void CContactIdArray::Remove(TInt aIndex,TInt aCount)
  1380 /** Removes a block of contact IDs from the array.
  1381 
  1382 This function raises a panic if any of the following are true:-
  1383 
  1384 - aCount is negative
  1385 
  1386 - aIndex is negative or is greater than the number of elements currently in
  1387 the array
  1388 
  1389 - the sum of aIndex and aCount is greater than the number of elements currently
  1390 in the array
  1391 
  1392 @param aIndex The index of the first contact ID to remove.
  1393 @param aCount The number of contiguous contact IDs to delete from the array.
  1394 If this is not specified, a value of one is assumed. */
  1395 	{ iIds->Delete(aIndex,aCount); }
  1396 
  1397 inline void CContactIdArray::InsertL(TInt aIndex,TContactItemId aId)
  1398 /** Inserts a contact ID into the array.
  1399 
  1400 The index must be valid or a panic occurs.
  1401 
  1402 The function may attempt to expand the array buffer. If there is insufficient
  1403 memory available, the function leaves. The leave code is one of the system
  1404 error codes. If the function leaves, the array is left in the state it was
  1405 in before the call.
  1406 
  1407 @param aIndex The index at which to insert the contact ID.
  1408 @param aId The contact ID to insert. */
  1409 	{ iIds->InsertL(aIndex,aId); }
  1410 	
  1411 
  1412 /** Shows supported event action types that are used when deleting
  1413 a contact or an array of contacts
  1414 @internalTechnology
  1415 @released
  1416 */
  1417 enum TCntSendEventAction
  1418 	{
  1419 	EDeferEvent              = 0,
  1420 	ESendEvent               = 1,
  1421 	ESendUnknownChangesEvent = 2,
  1422 	};
  1423 
  1424 #endif