epoc32/include/app/pbkfields.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
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 /*
     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 "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".
     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