2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * This file contains declarations for resources of PbkEng.dll
16 * The file can be included in C++ or resource file.
21 #ifndef __PbkFields_HRH__
22 #define __PbkFields_HRH__
24 ////////////////////////////////////////////////////////////
25 // C++ compilation only section
29 #include <e32base.h> // for CArrayFixFlat
32 * Type of Phonebook field IDs.
34 typedef TInt TPbkFieldId;
37 * Type of Phonebook group IDs.
39 typedef TInt TPbkFieldGroupId;
42 * Array of Phonebook field IDs.
44 class CPbkFieldIdArray : public CArrayFixFlat<TPbkFieldId>
47 inline CPbkFieldIdArray() : CArrayFixFlat<TPbkFieldId>(8)
51 inline TInt Find(TPbkFieldId aFieldId) const
53 const TInt count = Count();
54 for (TInt i=0; i < count; ++i)
64 inline TBool Contains(TPbkFieldId aFieldId) const
66 return (Find(aFieldId) != KErrNotFound);
73 ////////////////////////////////////////////////////////////
74 // Common section for C++ and resource compilation
78 ///////////////////////////////////////////////////////////
79 // Unique Phonebook field type ids
80 ///////////////////////////////////////////////////////////
82 #define EPbkFieldIdNone 0x00
83 #define EPbkFieldIdLastName 0x01
84 #define EPbkFieldIdFirstName 0x02
85 #define EPbkFieldIdPhoneNumberGeneral 0x03
86 #define EPbkFieldIdPhoneNumberStandard EPbkFieldIdPhoneNumberGeneral
87 #define EPbkFieldIdPhoneNumberHome 0x04
88 #define EPbkFieldIdPhoneNumberWork 0x05
89 #define EPbkFieldIdPhoneNumberMobile 0x06
90 #define EPbkFieldIdFaxNumber 0x07
91 #define EPbkFieldIdPagerNumber 0x08
92 #define EPbkFieldIdEmailAddress 0x09
93 #define EPbkFieldIdPostalAddress 0x0a
94 #define EPbkFieldIdURL 0x0b
95 #define EPbkFieldIdJobTitle 0x0c
96 #define EPbkFieldIdCompanyName 0x0d
97 #define EPbkFieldIdCompanyAddress EPbkFieldIdPostalAddress
98 #define EPbkFieldIdDTMFString 0x0f
99 #define EPbkFieldIdDate 0x10
100 #define EPbkFieldIdNote 0x11
101 #define EPbkFieldIdPicture 0x12
102 #define EPbkFieldIdThumbnailImage 0x13
103 #define EPbkFieldIdVoiceTagIndication 0x14
104 #define EPbkFieldIdSpeedDialIndication 0x15
105 #define EPbkFieldIdPersonalRingingToneIndication 0x16
106 #define EPbkFieldIdPOBox 0x17
107 #define EPbkFieldIdExtendedAddress 0x18
108 #define EPbkFieldIdStreetAddress 0x19
109 #define EPbkFieldIdPostalCode 0x1a
110 #define EPbkFieldIdCity 0x1b
111 #define EPbkFieldIdState 0x1c
112 #define EPbkFieldIdCountry 0x1d
113 #define EPbkFieldIdWVID 0x1e
114 #define EPbkFieldIdSecondName 0x1f
115 #define EPbkFieldIdPhoneNumberVideo 0x20
116 #define EPbkFieldIdLastNameReading 0x21
117 #define EPbkFieldIdFirstNameReading 0x22
118 #define EPbkFieldIdLocationIdIndication 0x23
119 #define EPbkFieldIdVOIP 0x24
120 #define EPbkFieldIdPushToTalk 0x25
121 #define EPbkFieldIdShareView 0x26
122 #define EPbkFieldIdSIPID 0x27
123 #define EPbkFieldIdCodTextID 0x28
124 #define EPbkFieldIdCodImageID 0x29
125 #define EPbkFieldIdMiddleName 0x2a
126 #define EPbkFieldIdAssistantName 0x2b
127 #define EPbkFieldIdAssistantNumber 0x2c
128 #define EPbkFieldIdAnniversary 0x2d
129 #define EPbkFieldIdSpouse 0x2e
130 #define EPbkFieldIdChildren 0x2f
131 #define EPbkFieldIdPrefix 0x30
132 #define EPbkFieldIdSuffix 0x31
133 #define EPbkFieldIdSyncronization 0x32
134 #define EPbkFieldIdDepartment 0x33
135 #define EPbkFieldIdCarNumber 0x34
136 #define EPbkFieldIdTopContact 0x35
137 #define EPbkFieldIdXsp 0x36
138 #define EPbkFieldIdGeo 0x37
139 #define EPbkFieldIdGeoHome 0x38
140 #define EPbkFieldIdGeoWork 0x39
142 #define KPbkFieldIdMask 0xff
144 // Unique Phonebook field type group ids
145 #define EPbkFieldGroupIdNone 0x00
146 #define EPbkFieldGroupIdPostalAddress 0x01
147 #define EPbkFieldGroupIdHomeAddress 0x02
148 #define EPbkFieldGroupIdCompanyAddress 0x03
149 #define EPbkFieldGroupIdFirstName 0x04
150 #define EPbkFieldGroupIdLastName 0x05
152 /// Maximum lengths for fields
153 #define KPbkNameMaxLength 50
154 #define KPbkURLMaxLength 1000
155 #define KPbkAddressMaxLength 250
156 #define KPbkAddressSubFieldMaxLength 50
157 #define KPbkPostalCodeMaxLength 20
158 #define KPbkVOIPMaxLength 100
159 #define KPbkPOCMaxLength 100
160 #define KPbkSIPMaxLength 100
161 #define KPbkEMailAddressMaxLength 150
162 #define KPbkDTMFMaxLength 60
163 #define KPbkNoteMaxLength 1000
164 #define KPbkCodTextMaxLength 1000
165 #define KPbkMaxFileName 256 // must match KMaxFileName in E32std.h
166 #define KPbkMDOMaxLength 10
168 // KPbkPhoneNumberMaxLength is deprecated.
169 // Phonebook uses value from central repository
170 #define KPbkPhoneNumberMaxLength 50
172 // Definitions for minimum and maximum date values
173 #define KPbkDateMinDay 0 // from 0 to 27/28/29/30 inclusive
174 #define KPbkDateMinMonth 0 // from 0 to 11 inclusive
175 #define KPbkDateMinYear 0001
176 #define KPbkDateMaxDay 30 // from 0 to 27/28/29/30 inclusive
177 #define KPbkDateMaxMonth 11 // from 0 to 11 inclusive
178 #define KPbkDateMaxYear 2100
181 /// Phonebook field type ordering group
182 typedef TInt TPbkOrderingGroup;
183 /// Phonebook field type ordering item
184 typedef TInt TPbkOrderingItem;
185 /// Phonebook additional field type ordering item
186 typedef TInt TPbkAdditionalOrderingItem;
187 /// Phonebook add new field ordering
188 typedef TInt TPbkAddItemOrdering;
189 #endif // __cplusplus
191 #ifndef __PbkDoNotUseDeprecatedOrdering__
193 * Phonebook field type ordering groups.
194 * @deprecated Deprecated in 2.6.
196 enum TPbkOrderingGroup_deprecated
198 EPbkOrderingGroupNames = 1,
199 EPbkOrderingGroupPhoneNumbers,
200 EPbkOrderingGroupAddresses,
201 EPbkOrderingGroupDates,
202 EPbkOrderingGroupNotes,
203 EPbkOrderingGroupImages,
204 EPbkOrderingGroupIndicators
208 * Phonebook field type ordering items.
209 * @deprecated Deprecated in 2.6.
211 enum TPbkOrderingItem_deprecated
214 EPbkOrderingItemPrimaryName = 1,
215 EPbkOrderingItemLastNameReading,
216 EPbkOrderingItemSecondaryName,
217 EPbkOrderingItemFirstNameReading,
218 EPbkOrderingItemCompanyName,
219 EPbkOrderingItemJobTitle,
220 EPbkOrderingItemSecondName,
223 EPbkOrderingItemPhoneNumberGeneral,
224 EPbkOrderingItemPhoneNumberHome,
225 EPbkOrderingItemPhoneNumberWork,
226 EPbkOrderingItemPhoneNumberMobile,
227 EPbkOrderingItemPhoneNumberMobileHome,
228 EPbkOrderingItemPhoneNumberMobileWork,
229 EPbkOrderingItemPhoneNumberVideo,
230 EPbkOrderingItemPhoneNumberVideoHome,
231 EPbkOrderingItemPhoneNumberVideoWork,
232 EPbkOrderingItemFaxNumber,
233 EPbkOrderingItemFaxNumberHome,
234 EPbkOrderingItemFaxNumberWork,
235 EPbkOrderingItemPagerNumber,
236 EPbkOrderingItemDTMFString,
239 EPbkOrderingItemEmailAddress,
240 EPbkOrderingItemEmailAddressHome,
241 EPbkOrderingItemEmailAddressWork,
242 EPbkOrderingItemWVAddress,
244 EPbkOrderingItemURLHome,
245 EPbkOrderingItemURLWork,
246 EPbkOrderingItemAddress,
247 EPbkOrderingItemAddressHome,
248 EPbkOrderingItemAddressWork,
249 EPbkOrderingItemPostalAddressPOBox,
250 EPbkOrderingItemPostalAddressExtension,
251 EPbkOrderingItemPostalAddressStreet,
252 EPbkOrderingItemPostalAddressPostalCode,
253 EPbkOrderingItemPostalAddressCity,
254 EPbkOrderingItemPostalAddressState,
255 EPbkOrderingItemPostalAddressCountry,
256 EPbkOrderingItemHomeAddressPOBox,
257 EPbkOrderingItemHomeAddressExtension,
258 EPbkOrderingItemHomeAddressStreet,
259 EPbkOrderingItemHomeAddressPostalCode,
260 EPbkOrderingItemHomeAddressCity,
261 EPbkOrderingItemHomeAddressState,
262 EPbkOrderingItemHomeAddressCountry,
263 EPbkOrderingItemCompanyAddressPOBox,
264 EPbkOrderingItemCompanyAddressExtension,
265 EPbkOrderingItemCompanyAddressStreet,
266 EPbkOrderingItemCompanyAddressPostalCode,
267 EPbkOrderingItemCompanyAddressCity,
268 EPbkOrderingItemCompanyAddressState,
269 EPbkOrderingItemCompanyAddressCountry,
272 EPbkOrderingItemDate,
275 EPbkOrderingItemNote,
278 EPbkOrderingItemPicture,
279 EPbkOrderingItemThumbnailImage,
282 EPbkOrderingItemPostalAddressGeo,
283 EPbkOrderingItemHomeAddressGeo,
284 EPbkOrderingItemCompanyAddressGeo,
287 EPbkOrderingItemRingingTone,
288 EPbkOrderingItemLocationPrivacy,
289 EPbkOrderingItemTopContact,
294 * Defines European name field ordering. Apac version changes the ordering
296 * @deprecated Deprecated in 2.6.
298 enum TPbkAdditionalOrderingItem_deprecated
300 EPbkOrderingItemFirstName = EPbkOrderingItemPrimaryName,
301 EPbkOrderingItemLastName = EPbkOrderingItemSecondaryName
305 * Phonebook Add Item field ordering.
306 * @deprecated Deprecated in 2.6.
308 enum TPbkAddItemOrdering_deprecated
311 EPbkAddItemOrderFirstName = 1,
312 EPbkAddItemOrderFirstNameReading,
313 EPbkAddItemOrderLastName,
314 EPbkAddItemOrderLastNameReading,
317 EPbkAddItemOrderCompanyName,
318 EPbkAddItemOrderJobTitle,
320 EPbkAddItemOrderSecondName,
323 EPbkAddItemOrderPhoneNumberGeneral,
324 EPbkAddItemOrderPhoneNumberHome,
325 EPbkAddItemOrderPhoneNumberWork,
326 EPbkAddItemOrderPhoneNumberMobile,
327 EPbkAddItemOrderPhoneNumberMobileHome,
328 EPbkAddItemOrderPhoneNumberMobileWork,
329 EPbkAddItemOrderPhoneNumberVideo,
330 EPbkAddItemOrderPhoneNumberVideoHome,
331 EPbkAddItemOrderPhoneNumberVideoWork,
332 EPbkAddItemOrderPhoneNumberFax,
333 EPbkAddItemOrderPhoneNumberFaxHome,
334 EPbkAddItemOrderPhoneNumberFaxWork,
335 EPbkAddItemOrderPhoneNumberPager,
338 EPbkAddItemOrderEmail,
339 EPbkAddItemOrderEmailHome,
340 EPbkAddItemOrderEmailWork,
341 EPbkAddItemOrderWVAddress,
343 EPbkAddItemOrderURLHome,
344 EPbkAddItemOrderURLWork,
347 EPbkAddItemOrderPostalAddress, // group for general address
348 EPbkAddItemOrderPOBox,
349 EPbkAddItemOrderExtensionAddress,
350 EPbkAddItemOrderStreet,
351 EPbkAddItemOrderPostalCode,
352 EPbkAddItemOrderCity,
353 EPbkAddItemOrderState,
354 EPbkAddItemOrderCountry,
357 EPbkAddItemOrderHomeAddress, // group for home address
358 EPbkAddItemOrderPOBoxHome,
359 EPbkAddItemOrderExtensionAddressHome,
360 EPbkAddItemOrderStreetHome,
361 EPbkAddItemOrderPostalCodeHome,
362 EPbkAddItemOrderCityHome,
363 EPbkAddItemOrderStateHome,
364 EPbkAddItemOrderCountryHome,
367 EPbkAddItemOrderCompanyAddress, // group for work address
368 EPbkAddItemOrderPOBoxWork,
369 EPbkAddItemOrderExtensionAddressWork,
370 EPbkAddItemOrderStreetWork,
371 EPbkAddItemOrderPostalCodeWork,
372 EPbkAddItemOrderCityWork,
373 EPbkAddItemOrderStateWork,
374 EPbkAddItemOrderCountryWork,
378 EPbkAddItemOrderGeoHome,
379 EPbkAddItemOrderGeoWork,
382 EPbkAddItemOrderDTMF,
383 EPbkAddItemOrderDate,
384 EPbkAddItemOrderNote,
388 #endif // __PbkDoNotUseDeprecatedOrdering__
391 * Phonebook field type information:
392 * maximum number of fields per contact entry.
394 enum TPbkFieldMultiplicity
396 EPbkFieldMultiplicityOne = 1,
397 EPbkFieldMultiplicityMany = 2
401 * Phonebook field type information: editing mode of field.
403 enum TPbkFieldEditMode
405 EPbkFieldEditModeAlpha = 1,
406 EPbkFieldEditModeNumeric,
407 EPbkFieldEditModeDate,
408 EPbkFieldEditModeSelector,
409 EPbkFieldEditModeTBD,
410 EPbkFieldEditModeLatinOnly
415 * Phonebook field type information: default editing character case.
417 enum TPbkFieldDefaultCase
419 EPbkFieldDefaultCaseNone = 0,
420 EPbkFieldDefaultCaseLower,
421 EPbkFieldDefaultCaseText
425 * Phonebook field type information: editor control type.
427 enum TPbkFieldCtrlType
429 EPbkFieldCtrlTypeNone = 0,
430 EPbkFieldCtrlTypeTextEditor,
431 EPbkFieldCtrlTypeDateEditor,
432 EPbkFieldCtrlTypeNumberEditor,
433 EPbkFieldCtrlTypeChoiseItems
437 * Phonebook field location information: work/home/none.
439 enum TPbkFieldLocation
441 EPbkFieldLocationNone = 0,
442 EPbkFieldLocationHome,
443 EPbkFieldLocationWork
447 * The storage type of data in Versit.dll.
448 * Note that corresponding Uids exist in
451 enum TPbkVersitStorageType
453 EPbkVersitPropertyNULL = 0,
454 EPbkVersitPropertyHBufC,
455 EPbkVersitPropertyBinary,
456 EPbkVersitPropertyCDesCArray,
457 EPbkVersitPropertyMultiDateTime,
458 EPbkVersitPropertyDateTime,
459 EPbkVersitPropertyInt
462 ////////////////////////////////////////////////////////////
463 // Phonebook field type information flags
466 #define KPbkFieldFlagNull 0x00000000
467 /// Field is included in the default template
468 #define KPbkFieldFlagDefTemplate 0x00000001
469 /// Field can be added with "Add item" function
470 #define KPbkFieldFlagUserCanAddField 0x00000002
471 /// field is not visible in editors
472 #define KPbkFieldFlagDisableEdit 0x00000004
474 #endif // __PbkFields_HRH__