williamr@2: /* williamr@2: * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * This file contains declarations for resources of PbkEng.dll williamr@2: * The file can be included in C++ or resource file. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __PbkFields_HRH__ williamr@2: #define __PbkFields_HRH__ williamr@2: williamr@2: //////////////////////////////////////////////////////////// williamr@2: // C++ compilation only section williamr@2: williamr@2: #ifdef __cplusplus williamr@2: williamr@2: #include // for CArrayFixFlat williamr@2: williamr@2: /** williamr@2: * Type of Phonebook field IDs. williamr@2: */ williamr@2: typedef TInt TPbkFieldId; williamr@2: williamr@2: /** williamr@2: * Type of Phonebook group IDs. williamr@2: */ williamr@2: typedef TInt TPbkFieldGroupId; williamr@2: williamr@2: /** williamr@2: * Array of Phonebook field IDs. williamr@2: */ williamr@2: class CPbkFieldIdArray : public CArrayFixFlat williamr@2: { williamr@2: public: williamr@2: inline CPbkFieldIdArray() : CArrayFixFlat(8) williamr@2: { williamr@2: } williamr@2: williamr@2: inline TInt Find(TPbkFieldId aFieldId) const williamr@2: { williamr@2: const TInt count = Count(); williamr@2: for (TInt i=0; i < count; ++i) williamr@2: { williamr@2: if (At(i)==aFieldId) williamr@2: { williamr@2: return i; williamr@2: } williamr@2: } williamr@2: return KErrNotFound; williamr@2: } williamr@2: williamr@2: inline TBool Contains(TPbkFieldId aFieldId) const williamr@2: { williamr@2: return (Find(aFieldId) != KErrNotFound); williamr@2: } williamr@2: }; williamr@2: williamr@2: #endif williamr@2: williamr@2: williamr@2: //////////////////////////////////////////////////////////// williamr@2: // Common section for C++ and resource compilation williamr@2: williamr@2: williamr@2: // CONSTANTS williamr@2: /////////////////////////////////////////////////////////// williamr@2: // Unique Phonebook field type ids williamr@2: /////////////////////////////////////////////////////////// williamr@2: williamr@2: #define EPbkFieldIdNone 0x00 williamr@2: #define EPbkFieldIdLastName 0x01 williamr@2: #define EPbkFieldIdFirstName 0x02 williamr@2: #define EPbkFieldIdPhoneNumberGeneral 0x03 williamr@2: #define EPbkFieldIdPhoneNumberStandard EPbkFieldIdPhoneNumberGeneral williamr@2: #define EPbkFieldIdPhoneNumberHome 0x04 williamr@2: #define EPbkFieldIdPhoneNumberWork 0x05 williamr@2: #define EPbkFieldIdPhoneNumberMobile 0x06 williamr@2: #define EPbkFieldIdFaxNumber 0x07 williamr@2: #define EPbkFieldIdPagerNumber 0x08 williamr@2: #define EPbkFieldIdEmailAddress 0x09 williamr@2: #define EPbkFieldIdPostalAddress 0x0a williamr@2: #define EPbkFieldIdURL 0x0b williamr@2: #define EPbkFieldIdJobTitle 0x0c williamr@2: #define EPbkFieldIdCompanyName 0x0d williamr@2: #define EPbkFieldIdCompanyAddress EPbkFieldIdPostalAddress williamr@2: #define EPbkFieldIdDTMFString 0x0f williamr@2: #define EPbkFieldIdDate 0x10 williamr@2: #define EPbkFieldIdNote 0x11 williamr@2: #define EPbkFieldIdPicture 0x12 williamr@2: #define EPbkFieldIdThumbnailImage 0x13 williamr@2: #define EPbkFieldIdVoiceTagIndication 0x14 williamr@2: #define EPbkFieldIdSpeedDialIndication 0x15 williamr@2: #define EPbkFieldIdPersonalRingingToneIndication 0x16 williamr@2: #define EPbkFieldIdPOBox 0x17 williamr@2: #define EPbkFieldIdExtendedAddress 0x18 williamr@2: #define EPbkFieldIdStreetAddress 0x19 williamr@2: #define EPbkFieldIdPostalCode 0x1a williamr@2: #define EPbkFieldIdCity 0x1b williamr@2: #define EPbkFieldIdState 0x1c williamr@2: #define EPbkFieldIdCountry 0x1d williamr@2: #define EPbkFieldIdWVID 0x1e williamr@2: #define EPbkFieldIdSecondName 0x1f williamr@2: #define EPbkFieldIdPhoneNumberVideo 0x20 williamr@2: #define EPbkFieldIdLastNameReading 0x21 williamr@2: #define EPbkFieldIdFirstNameReading 0x22 williamr@2: #define EPbkFieldIdLocationIdIndication 0x23 williamr@2: #define EPbkFieldIdVOIP 0x24 williamr@2: #define EPbkFieldIdPushToTalk 0x25 williamr@2: #define EPbkFieldIdShareView 0x26 williamr@2: #define EPbkFieldIdSIPID 0x27 williamr@2: #define EPbkFieldIdCodTextID 0x28 williamr@2: #define EPbkFieldIdCodImageID 0x29 williamr@2: #define EPbkFieldIdMiddleName 0x2a williamr@2: #define EPbkFieldIdAssistantName 0x2b williamr@2: #define EPbkFieldIdAssistantNumber 0x2c williamr@2: #define EPbkFieldIdAnniversary 0x2d williamr@2: #define EPbkFieldIdSpouse 0x2e williamr@2: #define EPbkFieldIdChildren 0x2f williamr@2: #define EPbkFieldIdPrefix 0x30 williamr@2: #define EPbkFieldIdSuffix 0x31 williamr@2: #define EPbkFieldIdSyncronization 0x32 williamr@2: #define EPbkFieldIdDepartment 0x33 williamr@2: #define EPbkFieldIdCarNumber 0x34 williamr@2: #define EPbkFieldIdTopContact 0x35 williamr@2: #define EPbkFieldIdXsp 0x36 williamr@2: #define EPbkFieldIdGeo 0x37 williamr@2: #define EPbkFieldIdGeoHome 0x38 williamr@2: #define EPbkFieldIdGeoWork 0x39 williamr@2: williamr@2: #define KPbkFieldIdMask 0xff williamr@2: williamr@2: // Unique Phonebook field type group ids williamr@2: #define EPbkFieldGroupIdNone 0x00 williamr@2: #define EPbkFieldGroupIdPostalAddress 0x01 williamr@2: #define EPbkFieldGroupIdHomeAddress 0x02 williamr@2: #define EPbkFieldGroupIdCompanyAddress 0x03 williamr@2: #define EPbkFieldGroupIdFirstName 0x04 williamr@2: #define EPbkFieldGroupIdLastName 0x05 williamr@2: williamr@2: /// Maximum lengths for fields williamr@2: #define KPbkNameMaxLength 50 williamr@2: #define KPbkURLMaxLength 1000 williamr@2: #define KPbkAddressMaxLength 250 williamr@2: #define KPbkAddressSubFieldMaxLength 50 williamr@2: #define KPbkPostalCodeMaxLength 20 williamr@2: #define KPbkVOIPMaxLength 100 williamr@2: #define KPbkPOCMaxLength 100 williamr@2: #define KPbkSIPMaxLength 100 williamr@2: #define KPbkEMailAddressMaxLength 150 williamr@2: #define KPbkDTMFMaxLength 60 williamr@2: #define KPbkNoteMaxLength 1000 williamr@2: #define KPbkCodTextMaxLength 1000 williamr@2: #define KPbkMaxFileName 256 // must match KMaxFileName in E32std.h williamr@2: #define KPbkMDOMaxLength 10 williamr@2: williamr@2: // KPbkPhoneNumberMaxLength is deprecated. williamr@2: // Phonebook uses value from central repository williamr@2: #define KPbkPhoneNumberMaxLength 50 williamr@2: williamr@2: // Definitions for minimum and maximum date values williamr@2: #define KPbkDateMinDay 0 // from 0 to 27/28/29/30 inclusive williamr@2: #define KPbkDateMinMonth 0 // from 0 to 11 inclusive williamr@2: #define KPbkDateMinYear 0001 williamr@2: #define KPbkDateMaxDay 30 // from 0 to 27/28/29/30 inclusive williamr@2: #define KPbkDateMaxMonth 11 // from 0 to 11 inclusive williamr@2: #define KPbkDateMaxYear 2100 williamr@2: williamr@2: #ifdef __cplusplus williamr@2: /// Phonebook field type ordering group williamr@2: typedef TInt TPbkOrderingGroup; williamr@2: /// Phonebook field type ordering item williamr@2: typedef TInt TPbkOrderingItem; williamr@2: /// Phonebook additional field type ordering item williamr@2: typedef TInt TPbkAdditionalOrderingItem; williamr@2: /// Phonebook add new field ordering williamr@2: typedef TInt TPbkAddItemOrdering; williamr@2: #endif // __cplusplus williamr@2: williamr@2: #ifndef __PbkDoNotUseDeprecatedOrdering__ williamr@2: /** williamr@2: * Phonebook field type ordering groups. williamr@2: * @deprecated Deprecated in 2.6. williamr@2: */ williamr@2: enum TPbkOrderingGroup_deprecated williamr@2: { williamr@2: EPbkOrderingGroupNames = 1, williamr@2: EPbkOrderingGroupPhoneNumbers, williamr@2: EPbkOrderingGroupAddresses, williamr@2: EPbkOrderingGroupDates, williamr@2: EPbkOrderingGroupNotes, williamr@2: EPbkOrderingGroupImages, williamr@2: EPbkOrderingGroupIndicators williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Phonebook field type ordering items. williamr@2: * @deprecated Deprecated in 2.6. williamr@2: */ williamr@2: enum TPbkOrderingItem_deprecated williamr@2: { williamr@2: // Names williamr@2: EPbkOrderingItemPrimaryName = 1, williamr@2: EPbkOrderingItemLastNameReading, williamr@2: EPbkOrderingItemSecondaryName, williamr@2: EPbkOrderingItemFirstNameReading, williamr@2: EPbkOrderingItemCompanyName, williamr@2: EPbkOrderingItemJobTitle, williamr@2: EPbkOrderingItemSecondName, williamr@2: williamr@2: // Phone numbers williamr@2: EPbkOrderingItemPhoneNumberGeneral, williamr@2: EPbkOrderingItemPhoneNumberHome, williamr@2: EPbkOrderingItemPhoneNumberWork, williamr@2: EPbkOrderingItemPhoneNumberMobile, williamr@2: EPbkOrderingItemPhoneNumberMobileHome, williamr@2: EPbkOrderingItemPhoneNumberMobileWork, williamr@2: EPbkOrderingItemPhoneNumberVideo, williamr@2: EPbkOrderingItemPhoneNumberVideoHome, williamr@2: EPbkOrderingItemPhoneNumberVideoWork, williamr@2: EPbkOrderingItemFaxNumber, williamr@2: EPbkOrderingItemFaxNumberHome, williamr@2: EPbkOrderingItemFaxNumberWork, williamr@2: EPbkOrderingItemPagerNumber, williamr@2: EPbkOrderingItemDTMFString, williamr@2: williamr@2: // Addresses williamr@2: EPbkOrderingItemEmailAddress, williamr@2: EPbkOrderingItemEmailAddressHome, williamr@2: EPbkOrderingItemEmailAddressWork, williamr@2: EPbkOrderingItemWVAddress, williamr@2: EPbkOrderingItemURL, williamr@2: EPbkOrderingItemURLHome, williamr@2: EPbkOrderingItemURLWork, williamr@2: EPbkOrderingItemAddress, williamr@2: EPbkOrderingItemAddressHome, williamr@2: EPbkOrderingItemAddressWork, williamr@2: EPbkOrderingItemPostalAddressPOBox, williamr@2: EPbkOrderingItemPostalAddressExtension, williamr@2: EPbkOrderingItemPostalAddressStreet, williamr@2: EPbkOrderingItemPostalAddressPostalCode, williamr@2: EPbkOrderingItemPostalAddressCity, williamr@2: EPbkOrderingItemPostalAddressState, williamr@2: EPbkOrderingItemPostalAddressCountry, williamr@2: EPbkOrderingItemHomeAddressPOBox, williamr@2: EPbkOrderingItemHomeAddressExtension, williamr@2: EPbkOrderingItemHomeAddressStreet, williamr@2: EPbkOrderingItemHomeAddressPostalCode, williamr@2: EPbkOrderingItemHomeAddressCity, williamr@2: EPbkOrderingItemHomeAddressState, williamr@2: EPbkOrderingItemHomeAddressCountry, williamr@2: EPbkOrderingItemCompanyAddressPOBox, williamr@2: EPbkOrderingItemCompanyAddressExtension, williamr@2: EPbkOrderingItemCompanyAddressStreet, williamr@2: EPbkOrderingItemCompanyAddressPostalCode, williamr@2: EPbkOrderingItemCompanyAddressCity, williamr@2: EPbkOrderingItemCompanyAddressState, williamr@2: EPbkOrderingItemCompanyAddressCountry, williamr@2: williamr@2: // Dates williamr@2: EPbkOrderingItemDate, williamr@2: williamr@2: // Notes williamr@2: EPbkOrderingItemNote, williamr@2: williamr@2: // Images williamr@2: EPbkOrderingItemPicture, williamr@2: EPbkOrderingItemThumbnailImage, williamr@2: williamr@2: // Geo williamr@2: EPbkOrderingItemPostalAddressGeo, williamr@2: EPbkOrderingItemHomeAddressGeo, williamr@2: EPbkOrderingItemCompanyAddressGeo, williamr@2: williamr@2: // Indicators williamr@2: EPbkOrderingItemRingingTone, williamr@2: EPbkOrderingItemLocationPrivacy, williamr@2: EPbkOrderingItemTopContact, williamr@2: EPbkOrderingItemXsp williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Defines European name field ordering. Apac version changes the ordering williamr@2: * run-time. williamr@2: * @deprecated Deprecated in 2.6. williamr@2: */ williamr@2: enum TPbkAdditionalOrderingItem_deprecated williamr@2: { williamr@2: EPbkOrderingItemFirstName = EPbkOrderingItemPrimaryName, williamr@2: EPbkOrderingItemLastName = EPbkOrderingItemSecondaryName williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Phonebook Add Item field ordering. williamr@2: * @deprecated Deprecated in 2.6. williamr@2: */ williamr@2: enum TPbkAddItemOrdering_deprecated williamr@2: { williamr@2: // Contact name williamr@2: EPbkAddItemOrderFirstName = 1, williamr@2: EPbkAddItemOrderFirstNameReading, williamr@2: EPbkAddItemOrderLastName, williamr@2: EPbkAddItemOrderLastNameReading, williamr@2: williamr@2: // Company info williamr@2: EPbkAddItemOrderCompanyName, williamr@2: EPbkAddItemOrderJobTitle, williamr@2: williamr@2: EPbkAddItemOrderSecondName, williamr@2: williamr@2: // Phone numbers williamr@2: EPbkAddItemOrderPhoneNumberGeneral, williamr@2: EPbkAddItemOrderPhoneNumberHome, williamr@2: EPbkAddItemOrderPhoneNumberWork, williamr@2: EPbkAddItemOrderPhoneNumberMobile, williamr@2: EPbkAddItemOrderPhoneNumberMobileHome, williamr@2: EPbkAddItemOrderPhoneNumberMobileWork, williamr@2: EPbkAddItemOrderPhoneNumberVideo, williamr@2: EPbkAddItemOrderPhoneNumberVideoHome, williamr@2: EPbkAddItemOrderPhoneNumberVideoWork, williamr@2: EPbkAddItemOrderPhoneNumberFax, williamr@2: EPbkAddItemOrderPhoneNumberFaxHome, williamr@2: EPbkAddItemOrderPhoneNumberFaxWork, williamr@2: EPbkAddItemOrderPhoneNumberPager, williamr@2: williamr@2: // Internet fields williamr@2: EPbkAddItemOrderEmail, williamr@2: EPbkAddItemOrderEmailHome, williamr@2: EPbkAddItemOrderEmailWork, williamr@2: EPbkAddItemOrderWVAddress, williamr@2: EPbkAddItemOrderURL, williamr@2: EPbkAddItemOrderURLHome, williamr@2: EPbkAddItemOrderURLWork, williamr@2: williamr@2: // General address williamr@2: EPbkAddItemOrderPostalAddress, // group for general address williamr@2: EPbkAddItemOrderPOBox, williamr@2: EPbkAddItemOrderExtensionAddress, williamr@2: EPbkAddItemOrderStreet, williamr@2: EPbkAddItemOrderPostalCode, williamr@2: EPbkAddItemOrderCity, williamr@2: EPbkAddItemOrderState, williamr@2: EPbkAddItemOrderCountry, williamr@2: williamr@2: // Home address williamr@2: EPbkAddItemOrderHomeAddress, // group for home address williamr@2: EPbkAddItemOrderPOBoxHome, williamr@2: EPbkAddItemOrderExtensionAddressHome, williamr@2: EPbkAddItemOrderStreetHome, williamr@2: EPbkAddItemOrderPostalCodeHome, williamr@2: EPbkAddItemOrderCityHome, williamr@2: EPbkAddItemOrderStateHome, williamr@2: EPbkAddItemOrderCountryHome, williamr@2: williamr@2: // Work address williamr@2: EPbkAddItemOrderCompanyAddress, // group for work address williamr@2: EPbkAddItemOrderPOBoxWork, williamr@2: EPbkAddItemOrderExtensionAddressWork, williamr@2: EPbkAddItemOrderStreetWork, williamr@2: EPbkAddItemOrderPostalCodeWork, williamr@2: EPbkAddItemOrderCityWork, williamr@2: EPbkAddItemOrderStateWork, williamr@2: EPbkAddItemOrderCountryWork, williamr@2: williamr@2: // Geo williamr@2: EPbkAddItemOrderGeo, williamr@2: EPbkAddItemOrderGeoHome, williamr@2: EPbkAddItemOrderGeoWork, williamr@2: williamr@2: // Additional items williamr@2: EPbkAddItemOrderDTMF, williamr@2: EPbkAddItemOrderDate, williamr@2: EPbkAddItemOrderNote, williamr@2: EPbkAddItemOrderNone williamr@2: }; williamr@2: williamr@2: #endif // __PbkDoNotUseDeprecatedOrdering__ williamr@2: williamr@2: /** williamr@2: * Phonebook field type information: williamr@2: * maximum number of fields per contact entry. williamr@2: */ williamr@2: enum TPbkFieldMultiplicity williamr@2: { williamr@2: EPbkFieldMultiplicityOne = 1, williamr@2: EPbkFieldMultiplicityMany = 2 williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Phonebook field type information: editing mode of field. williamr@2: */ williamr@2: enum TPbkFieldEditMode williamr@2: { williamr@2: EPbkFieldEditModeAlpha = 1, williamr@2: EPbkFieldEditModeNumeric, williamr@2: EPbkFieldEditModeDate, williamr@2: EPbkFieldEditModeSelector, williamr@2: EPbkFieldEditModeTBD, williamr@2: EPbkFieldEditModeLatinOnly williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: * Phonebook field type information: default editing character case. williamr@2: */ williamr@2: enum TPbkFieldDefaultCase williamr@2: { williamr@2: EPbkFieldDefaultCaseNone = 0, williamr@2: EPbkFieldDefaultCaseLower, williamr@2: EPbkFieldDefaultCaseText williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Phonebook field type information: editor control type. williamr@2: */ williamr@2: enum TPbkFieldCtrlType williamr@2: { williamr@2: EPbkFieldCtrlTypeNone = 0, williamr@2: EPbkFieldCtrlTypeTextEditor, williamr@2: EPbkFieldCtrlTypeDateEditor, williamr@2: EPbkFieldCtrlTypeNumberEditor, williamr@2: EPbkFieldCtrlTypeChoiseItems williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Phonebook field location information: work/home/none. williamr@2: */ williamr@2: enum TPbkFieldLocation williamr@2: { williamr@2: EPbkFieldLocationNone = 0, williamr@2: EPbkFieldLocationHome, williamr@2: EPbkFieldLocationWork williamr@2: }; williamr@2: williamr@2: /** williamr@2: * The storage type of data in Versit.dll. williamr@2: * Note that corresponding Uids exist in williamr@2: * vuid.h. williamr@2: */ williamr@2: enum TPbkVersitStorageType williamr@2: { williamr@2: EPbkVersitPropertyNULL = 0, williamr@2: EPbkVersitPropertyHBufC, williamr@2: EPbkVersitPropertyBinary, williamr@2: EPbkVersitPropertyCDesCArray, williamr@2: EPbkVersitPropertyMultiDateTime, williamr@2: EPbkVersitPropertyDateTime, williamr@2: EPbkVersitPropertyInt williamr@2: }; williamr@2: williamr@2: //////////////////////////////////////////////////////////// williamr@2: // Phonebook field type information flags williamr@2: williamr@2: /// No flags set williamr@2: #define KPbkFieldFlagNull 0x00000000 williamr@2: /// Field is included in the default template williamr@2: #define KPbkFieldFlagDefTemplate 0x00000001 williamr@2: /// Field can be added with "Add item" function williamr@2: #define KPbkFieldFlagUserCanAddField 0x00000002 williamr@2: /// field is not visible in editors williamr@2: #define KPbkFieldFlagDisableEdit 0x00000004 williamr@2: williamr@2: #endif // __PbkFields_HRH__ williamr@2: williamr@2: // End of File