epoc32/include/app/pbkfields.hrh
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     1 pbkfields.hrh
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *     This file contains declarations for resources of PbkEng.dll
       
    16 *     The file can be included in C++ or resource file.
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef __PbkFields_HRH__
       
    22 #define __PbkFields_HRH__
       
    23 
       
    24 ////////////////////////////////////////////////////////////
       
    25 // C++ compilation only section
       
    26 
       
    27 #ifdef __cplusplus
       
    28 
       
    29 #include <e32base.h>    // for CArrayFixFlat
       
    30 
       
    31 /**
       
    32  * Type of Phonebook field IDs.
       
    33  */
       
    34 typedef TInt TPbkFieldId;
       
    35 
       
    36 /**
       
    37  * Type of Phonebook group IDs.
       
    38  */
       
    39 typedef TInt TPbkFieldGroupId;
       
    40 
       
    41 /**
       
    42  * Array of Phonebook field IDs.
       
    43  */
       
    44 class CPbkFieldIdArray : public CArrayFixFlat<TPbkFieldId>
       
    45     {
       
    46     public:
       
    47         inline CPbkFieldIdArray() : CArrayFixFlat<TPbkFieldId>(8)
       
    48             {
       
    49             }
       
    50 
       
    51         inline TInt Find(TPbkFieldId aFieldId) const
       
    52             {
       
    53             const TInt count = Count();
       
    54             for (TInt i=0; i < count; ++i)
       
    55                 {
       
    56                 if (At(i)==aFieldId)
       
    57                     {
       
    58                     return i;
       
    59                     }
       
    60                 }
       
    61             return KErrNotFound;
       
    62             }
       
    63 
       
    64         inline TBool Contains(TPbkFieldId aFieldId) const
       
    65             {
       
    66             return (Find(aFieldId) != KErrNotFound);
       
    67             }
       
    68     };
       
    69 
       
    70 #endif
       
    71 
       
    72 
       
    73 ////////////////////////////////////////////////////////////
       
    74 // Common section for C++ and resource compilation
       
    75 
       
    76 
       
    77 //  CONSTANTS  
       
    78 ///////////////////////////////////////////////////////////
       
    79 // Unique Phonebook field type ids
       
    80 ///////////////////////////////////////////////////////////
       
    81 
       
    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
       
   141 
       
   142 #define KPbkFieldIdMask                             0xff
       
   143 
       
   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
       
   151 
       
   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
       
   167 
       
   168 // KPbkPhoneNumberMaxLength is deprecated.
       
   169 // Phonebook uses value from central repository
       
   170 #define KPbkPhoneNumberMaxLength                    50  
       
   171 
       
   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
       
   179 
       
   180 #ifdef __cplusplus
       
   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
       
   190 
       
   191 #ifndef __PbkDoNotUseDeprecatedOrdering__
       
   192 /**
       
   193  * Phonebook field type ordering groups.
       
   194  * @deprecated Deprecated in 2.6.
       
   195  */
       
   196 enum TPbkOrderingGroup_deprecated
       
   197     {
       
   198     EPbkOrderingGroupNames = 1,
       
   199     EPbkOrderingGroupPhoneNumbers,
       
   200     EPbkOrderingGroupAddresses,
       
   201     EPbkOrderingGroupDates,
       
   202     EPbkOrderingGroupNotes,
       
   203     EPbkOrderingGroupImages,
       
   204     EPbkOrderingGroupIndicators
       
   205     };
       
   206 
       
   207 /**
       
   208  * Phonebook field type ordering items.
       
   209  * @deprecated Deprecated in 2.6.
       
   210  */
       
   211 enum TPbkOrderingItem_deprecated
       
   212     {
       
   213     // Names
       
   214     EPbkOrderingItemPrimaryName = 1,
       
   215     EPbkOrderingItemLastNameReading,
       
   216     EPbkOrderingItemSecondaryName,
       
   217     EPbkOrderingItemFirstNameReading,
       
   218     EPbkOrderingItemCompanyName,
       
   219     EPbkOrderingItemJobTitle,
       
   220     EPbkOrderingItemSecondName,
       
   221 
       
   222     // Phone numbers
       
   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,
       
   237 
       
   238     // Addresses
       
   239     EPbkOrderingItemEmailAddress,
       
   240     EPbkOrderingItemEmailAddressHome,
       
   241     EPbkOrderingItemEmailAddressWork,
       
   242     EPbkOrderingItemWVAddress,
       
   243     EPbkOrderingItemURL,
       
   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,
       
   270 
       
   271     // Dates
       
   272     EPbkOrderingItemDate,
       
   273 
       
   274     // Notes
       
   275     EPbkOrderingItemNote,
       
   276 
       
   277     // Images
       
   278     EPbkOrderingItemPicture,
       
   279     EPbkOrderingItemThumbnailImage,
       
   280 
       
   281     // Geo
       
   282     EPbkOrderingItemPostalAddressGeo,
       
   283     EPbkOrderingItemHomeAddressGeo,
       
   284     EPbkOrderingItemCompanyAddressGeo,
       
   285 
       
   286     // Indicators
       
   287     EPbkOrderingItemRingingTone,
       
   288     EPbkOrderingItemLocationPrivacy,
       
   289     EPbkOrderingItemTopContact,
       
   290     EPbkOrderingItemXsp
       
   291     };
       
   292 
       
   293 /**
       
   294  * Defines European name field ordering. Apac version changes the ordering 
       
   295  * run-time.
       
   296  * @deprecated Deprecated in 2.6.
       
   297  */
       
   298 enum TPbkAdditionalOrderingItem_deprecated
       
   299     {
       
   300     EPbkOrderingItemFirstName = EPbkOrderingItemPrimaryName,
       
   301     EPbkOrderingItemLastName = EPbkOrderingItemSecondaryName
       
   302     };
       
   303 
       
   304 /**
       
   305  * Phonebook Add Item field ordering.
       
   306  * @deprecated Deprecated in 2.6.
       
   307  */
       
   308 enum TPbkAddItemOrdering_deprecated
       
   309     {
       
   310     // Contact name
       
   311     EPbkAddItemOrderFirstName = 1,
       
   312     EPbkAddItemOrderFirstNameReading,
       
   313     EPbkAddItemOrderLastName,
       
   314     EPbkAddItemOrderLastNameReading,
       
   315     
       
   316     // Company info
       
   317     EPbkAddItemOrderCompanyName,
       
   318     EPbkAddItemOrderJobTitle,
       
   319 
       
   320     EPbkAddItemOrderSecondName,
       
   321     
       
   322     // Phone numbers
       
   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,
       
   336     
       
   337     // Internet fields    
       
   338     EPbkAddItemOrderEmail,      
       
   339     EPbkAddItemOrderEmailHome,  
       
   340     EPbkAddItemOrderEmailWork,
       
   341     EPbkAddItemOrderWVAddress,
       
   342     EPbkAddItemOrderURL,
       
   343     EPbkAddItemOrderURLHome,
       
   344     EPbkAddItemOrderURLWork,
       
   345     
       
   346     // General address
       
   347     EPbkAddItemOrderPostalAddress,      // group for general address    
       
   348     EPbkAddItemOrderPOBox,
       
   349     EPbkAddItemOrderExtensionAddress,
       
   350     EPbkAddItemOrderStreet,
       
   351     EPbkAddItemOrderPostalCode,
       
   352     EPbkAddItemOrderCity,
       
   353     EPbkAddItemOrderState,
       
   354     EPbkAddItemOrderCountry,
       
   355     
       
   356     // Home address
       
   357     EPbkAddItemOrderHomeAddress,         // group for home address
       
   358     EPbkAddItemOrderPOBoxHome,
       
   359     EPbkAddItemOrderExtensionAddressHome,
       
   360     EPbkAddItemOrderStreetHome,
       
   361     EPbkAddItemOrderPostalCodeHome,
       
   362     EPbkAddItemOrderCityHome,
       
   363     EPbkAddItemOrderStateHome,
       
   364     EPbkAddItemOrderCountryHome,
       
   365     
       
   366     // Work address
       
   367     EPbkAddItemOrderCompanyAddress,     // group for work address
       
   368     EPbkAddItemOrderPOBoxWork,
       
   369     EPbkAddItemOrderExtensionAddressWork,
       
   370     EPbkAddItemOrderStreetWork,
       
   371     EPbkAddItemOrderPostalCodeWork,
       
   372     EPbkAddItemOrderCityWork,
       
   373     EPbkAddItemOrderStateWork,
       
   374     EPbkAddItemOrderCountryWork,
       
   375 
       
   376     // Geo
       
   377     EPbkAddItemOrderGeo,
       
   378     EPbkAddItemOrderGeoHome,
       
   379     EPbkAddItemOrderGeoWork,
       
   380 
       
   381     // Additional items
       
   382     EPbkAddItemOrderDTMF,
       
   383     EPbkAddItemOrderDate,
       
   384     EPbkAddItemOrderNote,
       
   385     EPbkAddItemOrderNone
       
   386     };
       
   387 
       
   388 #endif // __PbkDoNotUseDeprecatedOrdering__
       
   389 
       
   390 /**
       
   391  * Phonebook field type information: 
       
   392  * maximum number of fields per contact entry.
       
   393  */
       
   394 enum TPbkFieldMultiplicity
       
   395     {
       
   396     EPbkFieldMultiplicityOne  = 1,
       
   397     EPbkFieldMultiplicityMany = 2
       
   398     };
       
   399 
       
   400 /**
       
   401  * Phonebook field type information: editing mode of field.
       
   402  */
       
   403 enum TPbkFieldEditMode
       
   404     {
       
   405     EPbkFieldEditModeAlpha = 1,
       
   406     EPbkFieldEditModeNumeric,
       
   407     EPbkFieldEditModeDate,
       
   408     EPbkFieldEditModeSelector,
       
   409     EPbkFieldEditModeTBD,
       
   410     EPbkFieldEditModeLatinOnly
       
   411     };
       
   412 
       
   413 
       
   414 /**
       
   415  * Phonebook field type information: default editing character case.
       
   416  */
       
   417 enum TPbkFieldDefaultCase
       
   418     {
       
   419     EPbkFieldDefaultCaseNone = 0,
       
   420     EPbkFieldDefaultCaseLower,
       
   421     EPbkFieldDefaultCaseText 
       
   422     };
       
   423 
       
   424 /**
       
   425  * Phonebook field type information: editor control type.
       
   426  */
       
   427 enum TPbkFieldCtrlType
       
   428     {
       
   429     EPbkFieldCtrlTypeNone = 0,
       
   430     EPbkFieldCtrlTypeTextEditor,
       
   431     EPbkFieldCtrlTypeDateEditor,
       
   432     EPbkFieldCtrlTypeNumberEditor,
       
   433     EPbkFieldCtrlTypeChoiseItems
       
   434     };
       
   435 
       
   436 /**
       
   437  * Phonebook field location information: work/home/none.
       
   438  */
       
   439 enum TPbkFieldLocation
       
   440     {
       
   441     EPbkFieldLocationNone = 0,
       
   442     EPbkFieldLocationHome,
       
   443     EPbkFieldLocationWork
       
   444     };
       
   445 
       
   446 /**
       
   447  * The storage type of data in Versit.dll.
       
   448  * Note that corresponding Uids exist in 
       
   449  * vuid.h.
       
   450  */
       
   451 enum TPbkVersitStorageType
       
   452     {
       
   453     EPbkVersitPropertyNULL = 0,
       
   454     EPbkVersitPropertyHBufC,
       
   455     EPbkVersitPropertyBinary,
       
   456     EPbkVersitPropertyCDesCArray,
       
   457     EPbkVersitPropertyMultiDateTime,
       
   458     EPbkVersitPropertyDateTime,
       
   459     EPbkVersitPropertyInt
       
   460     };
       
   461 
       
   462 ////////////////////////////////////////////////////////////
       
   463 // Phonebook field type information flags
       
   464 
       
   465 /// No flags set
       
   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
       
   473 
       
   474 #endif // __PbkFields_HRH__
       
   475 
       
   476 // End of File