epoc32/include/app/VPbkFieldType.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
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-2007 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:  Data types for the field type system
    15 *
    16 */
    17 
    18 
    19 #ifndef VPBKFIELDTYPE_HRH
    20 #define VPBKFIELDTYPE_HRH
    21 
    22 /**
    23  * Virtual Phonebook field data storage types.
    24  * @see MVPbkContactFieldData::DataType
    25  */
    26 enum TVPbkFieldStorageType
    27     {
    28     /// Undefined storage
    29     EVPbkFieldStorageTypeNull = -1,
    30     /// Text storage
    31     EVPbkFieldStorageTypeText = 0,
    32     /// Binary (BLOB) storage
    33     EVPbkFieldStorageTypeBinary,
    34     /// Date/Time storage
    35     EVPbkFieldStorageTypeDateTime,
    36     /// URI storage
    37     EVPbkFieldStorageTypeUri,
    38     /// Maximum number of field storage types supported.
    39     KVPbkMaxFieldStorageTypes = 16
    40     };
    41 
    42 /**
    43  * Virtual Phonebook field type names. Based on the Versit 2.1 & 3.0 standards.
    44  * @see MVPbkFieldType::TypeName
    45  */
    46 enum TVPbkFieldTypeName
    47     {
    48     EVPbkVersitNameNone = 0,
    49     EVPbkVersitNameFN,
    50     EVPbkVersitNameN,
    51     EVPbkVersitNamePHOTO,
    52     EVPbkVersitNameBDAY,
    53     EVPbkVersitNameADR,
    54     EVPbkVersitNameLABEL,
    55     EVPbkVersitNameTEL,
    56     EVPbkVersitNameEMAIL,
    57     EVPbkVersitNameMAILER,
    58     EVPbkVersitNameTZ,
    59     EVPbkVersitNameGEO,
    60     EVPbkVersitNameTITLE,
    61     EVPbkVersitNameROLE,
    62     EVPbkVersitNameLOGO,
    63     EVPbkVersitNameAGENT,
    64     EVPbkVersitNameORG,
    65     EVPbkVersitNameCATEGORIES,  // Versit 3.0
    66     EVPbkVersitNameNOTE,
    67     EVPbkVersitNamePRODID,      // Versit 3.0
    68     EVPbkVersitNameREV,
    69     EVPbkVersitNameSORTSTRING,  // Versit 3.0
    70     EVPbkVersitNameSOUND,
    71     EVPbkVersitNameURL,
    72     EVPbkVersitNameUID,
    73     EVPbkVersitNameVERSION,
    74     EVPbkVersitNameCLASS,       // Versit 3.0
    75     EVPbkVersitNameKEY,
    76     EVPbkVersitNameX,
    77     EVPbkVersitNameTopContact,
    78     EVPbkVersitNameIMPP,
    79     /// Number of field type names
    80     KVPbkVersitNameCount // keep last
    81     };
    82 
    83 /**
    84  * Virtual Phonebook field types not supported by the Versit 2.1 standard.
    85  * @see MVPbkFieldType::NonVersitType
    86  */
    87 enum TVPbkNonVersitFieldType
    88     {
    89     EVPbkNonVersitTypeNone = 0,
    90     EVPbkNonVersitTypeDTMF,
    91     EVPbkNonVersitTypeRingTone,
    92     EVPbkNonVersitTypeLocationPrivacy,
    93     /// Generic label field type for folded view names and group labels
    94     EVPbkNonVersitTypeGenericLabel,
    95     /// Field type for caller object image
    96     EVPbkNonVersitTypeCodImage,
    97     /// Field type for caller object text
    98     EVPbkNonVersitTypeCodText,
    99     /// Number of non versit types
   100     KVPbkNonVersitTypeCount // keep last
   101     };
   102 
   103 /**
   104  * Symbolic names for Virtual Phonebook subfield types.
   105  */
   106 enum TVPbkSubFieldType
   107     {
   108     EVPbkVersitSubFieldNone = 0,
   109     
   110     // Subfields for the "N" property
   111     EVPbkVersitSubFieldFamilyName = 0,
   112     EVPbkVersitSubFieldGivenName,
   113     EVPbkVersitSubFieldAdditionalName,
   114     EVPbkVersitSubFieldNamePrefix,
   115     EVPbkVersitSubFieldNameSuffix,
   116     
   117     // Subfields for the "ADR" property
   118     EVPbkVersitSubFieldPostOfficeAddress = 0,
   119     EVPbkVersitSubFieldExtendedAddress,
   120     EVPbkVersitSubFieldStreet, 
   121     EVPbkVersitSubFieldLocality, 
   122     EVPbkVersitSubFieldRegion,
   123     EVPbkVersitSubFieldPostalCode, 
   124     EVPbkVersitSubFieldCountry,
   125 
   126     // Subfields for the "ORG" property
   127     EVPbkVersitSubFieldOrgName = 0,
   128     EVPbkVersitSubFieldOrgUnit,
   129 
   130     // Subfields for the "SOUND" property
   131     EVPbkVersitSubFieldFamilyNamePronunciation = 0,
   132     EVPbkVersitSubFieldGivenNamePronunciation,
   133     EVPbkVersitSubFieldCompanyNamePronunciation,
   134 
   135     // Subfields for the "PHOTO" property
   136     EVPbkVersitSubFieldPicture = 0
   137     };
   138 
   139 /**
   140  * Virtual Phonebook field type parameters. Based on the Versit 2.1 standard.
   141  * @see TVPbkFieldTypeParameters
   142  * @see MVPbkFieldType::TypeParameters()
   143  */
   144 enum TVPbkFieldTypeParameter
   145     {
   146     // General parameters
   147     EVPbkVersitParamHOME,
   148     EVPbkVersitParamWORK,
   149     EVPbkVersitParamPREF,
   150     // spare for additional general parameters
   151 
   152     // Address parameters
   153     EVPbkVersitParamDOM = 8,
   154     EVPbkVersitParamINTL,
   155     EVPbkVersitParamPOSTAL,
   156     EVPbkVersitParamPARCEL,
   157     // spare for additional address parameters
   158 
   159     // Telephone parameters
   160     EVPbkVersitParamVOICE = 24,
   161     EVPbkVersitParamFAX,
   162     EVPbkVersitParamMSG,
   163     EVPbkVersitParamCELL,
   164     EVPbkVersitParamPAGER,
   165     EVPbkVersitParamBBS,
   166     EVPbkVersitParamMODEM,
   167     EVPbkVersitParamCAR,
   168     EVPbkVersitParamISDN,
   169     EVPbkVersitParamVIDEO,
   170     // spare for additional telephone parameters
   171 
   172     // Email parameters
   173     EVPbkVersitParamAOL = 56,
   174     EVPbkVersitParamAppleLink,
   175     EVPbkVersitParamATTMail,
   176     EVPbkVersitParamCIS,
   177     EVPbkVersitParameWorld,
   178     EVPbkVersitParamINTERNET,
   179     EVPbkVersitParamIBMMail,
   180     EVPbkVersitParamMCIMail,
   181     EVPbkVersitParamPOWERSHARE,
   182     EVPbkVersitParamPRODIGY,
   183     EVPbkVersitParamTLX,
   184     EVPbkVersitParamX400,
   185     // spare for additional email parameters
   186 
   187     // Key parameters
   188     EVPbkVersitParamX509 = 72,
   189     EVPbkVersitParamPGP,
   190     // spare for additional key parameters
   191 
   192     // Image types
   193     EVPbkVersitParamGIF = 88,
   194     EVPbkVersitParamCGM,
   195     EVPbkVersitParamWMF,
   196     EVPbkVersitParamBMP,
   197     EVPbkVersitParamMET,
   198     EVPbkVersitParamPMB,
   199     EVPbkVersitParamDIB,
   200     EVPbkVersitParamPICT,
   201     EVPbkVersitParamTIFF,
   202     EVPbkVersitParamPS,
   203     EVPbkVersitParamPDF,
   204     EVPbkVersitParamJPEG,
   205     EVPbkVersitParamMPEG,
   206     EVPbkVersitParamMPEG2,
   207     EVPbkVersitParamAVI,
   208     EVPbkVersitParamQTIME,
   209     EVPbkVersitParamPNG,
   210     EVPbkVersitParamJP2,
   211     // spare for additional image types
   212 
   213     // Sound types
   214     EVPbkVersitParamWAVE = 112,
   215     EVPbkVersitParamPCM,
   216     EVPbkVersitParamAIFF,
   217     // spare for additional sound types
   218 
   219     /// SIP parameters
   220     EVPbkVersitParamVOIP = 120,
   221     EVPbkVersitParamSWIS,
   222     EVPbkVersitParamPOC,
   223     EVPbkVersitParamSIP,
   224 
   225     // Reuse this first for parameters that don't match the categories above
   226     EVPbkVersitParamOther = 128,
   227 
   228     /// Maximum number of versit parameters supported.
   229     KVPbkMaxVersitParams = 256 // this must be a power of 2!
   230     };
   231     
   232 enum TVPbkDefaultType
   233     {
   234     /// Defaults
   235     EVPbkDefaultTypeUndefined,
   236     EVPbkDefaultTypePhoneNumber, 
   237     EVPbkDefaultTypeVideoNumber, 
   238     EVPbkDefaultTypeSms,
   239     EVPbkDefaultTypeMms, 
   240     EVPbkDefaultTypeEmail, 
   241     EVPbkDefaultTypeEmailOverSms,
   242     EVPbkDefaultTypeVoIP,
   243     EVPbkDefaultTypePOC,
   244     EVPbkDefaultTypeChat,
   245     EVPbkDefaultTypeOpenLink,
   246     
   247     // This has to be last in the enumeration
   248     EVPbkLastDefaultType                
   249     };
   250 
   251 enum TVPbkSpeedDialIndex
   252     {
   253     /// Speed dials
   254     EVPbkSpeedDial1 = 0,
   255     EVPbkSpeedDial2,
   256     EVPbkSpeedDial3,
   257     EVPbkSpeedDial4,
   258     EVPbkSpeedDial5,
   259     EVPbkSpeedDial6,
   260     EVPbkSpeedDial7,
   261     EVPbkSpeedDial8,
   262     EVPbkSpeedDial9
   263     };
   264 
   265 /**
   266  * The version of the field type selector
   267  */
   268 enum TVPbkFieldTypeSelectorVersion
   269     {
   270     EVPbkFieldTypeSelectorV1 = 1,
   271     EVPbkFieldTypeSelectorV2 = 2
   272     };
   273 
   274 #endif  // VPBKFIELDTYPE_HRH
   275 
   276 // End of File