2 * Copyright (c) 2002-2007 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.
14 * Description: Data types for the field type system
19 #ifndef VPBKFIELDTYPE_HRH
20 #define VPBKFIELDTYPE_HRH
23 * Virtual Phonebook field data storage types.
24 * @see MVPbkContactFieldData::DataType
26 enum TVPbkFieldStorageType
29 EVPbkFieldStorageTypeNull = -1,
31 EVPbkFieldStorageTypeText = 0,
32 /// Binary (BLOB) storage
33 EVPbkFieldStorageTypeBinary,
35 EVPbkFieldStorageTypeDateTime,
37 EVPbkFieldStorageTypeUri,
38 /// Maximum number of field storage types supported.
39 KVPbkMaxFieldStorageTypes = 16
43 * Virtual Phonebook field type names. Based on the Versit 2.1 & 3.0 standards.
44 * @see MVPbkFieldType::TypeName
46 enum TVPbkFieldTypeName
48 EVPbkVersitNameNone = 0,
57 EVPbkVersitNameMAILER,
65 EVPbkVersitNameCATEGORIES, // Versit 3.0
67 EVPbkVersitNamePRODID, // Versit 3.0
69 EVPbkVersitNameSORTSTRING, // Versit 3.0
73 EVPbkVersitNameVERSION,
74 EVPbkVersitNameCLASS, // Versit 3.0
77 EVPbkVersitNameTopContact,
79 /// Number of field type names
80 KVPbkVersitNameCount // keep last
84 * Virtual Phonebook field types not supported by the Versit 2.1 standard.
85 * @see MVPbkFieldType::NonVersitType
87 enum TVPbkNonVersitFieldType
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
104 * Symbolic names for Virtual Phonebook subfield types.
106 enum TVPbkSubFieldType
108 EVPbkVersitSubFieldNone = 0,
110 // Subfields for the "N" property
111 EVPbkVersitSubFieldFamilyName = 0,
112 EVPbkVersitSubFieldGivenName,
113 EVPbkVersitSubFieldAdditionalName,
114 EVPbkVersitSubFieldNamePrefix,
115 EVPbkVersitSubFieldNameSuffix,
117 // Subfields for the "ADR" property
118 EVPbkVersitSubFieldPostOfficeAddress = 0,
119 EVPbkVersitSubFieldExtendedAddress,
120 EVPbkVersitSubFieldStreet,
121 EVPbkVersitSubFieldLocality,
122 EVPbkVersitSubFieldRegion,
123 EVPbkVersitSubFieldPostalCode,
124 EVPbkVersitSubFieldCountry,
126 // Subfields for the "ORG" property
127 EVPbkVersitSubFieldOrgName = 0,
128 EVPbkVersitSubFieldOrgUnit,
130 // Subfields for the "SOUND" property
131 EVPbkVersitSubFieldFamilyNamePronunciation = 0,
132 EVPbkVersitSubFieldGivenNamePronunciation,
133 EVPbkVersitSubFieldCompanyNamePronunciation,
135 // Subfields for the "PHOTO" property
136 EVPbkVersitSubFieldPicture = 0
140 * Virtual Phonebook field type parameters. Based on the Versit 2.1 standard.
141 * @see TVPbkFieldTypeParameters
142 * @see MVPbkFieldType::TypeParameters()
144 enum TVPbkFieldTypeParameter
146 // General parameters
147 EVPbkVersitParamHOME,
148 EVPbkVersitParamWORK,
149 EVPbkVersitParamPREF,
150 // spare for additional general parameters
152 // Address parameters
153 EVPbkVersitParamDOM = 8,
154 EVPbkVersitParamINTL,
155 EVPbkVersitParamPOSTAL,
156 EVPbkVersitParamPARCEL,
157 // spare for additional address parameters
159 // Telephone parameters
160 EVPbkVersitParamVOICE = 24,
163 EVPbkVersitParamCELL,
164 EVPbkVersitParamPAGER,
166 EVPbkVersitParamMODEM,
168 EVPbkVersitParamISDN,
169 EVPbkVersitParamVIDEO,
170 // spare for additional telephone parameters
173 EVPbkVersitParamAOL = 56,
174 EVPbkVersitParamAppleLink,
175 EVPbkVersitParamATTMail,
177 EVPbkVersitParameWorld,
178 EVPbkVersitParamINTERNET,
179 EVPbkVersitParamIBMMail,
180 EVPbkVersitParamMCIMail,
181 EVPbkVersitParamPOWERSHARE,
182 EVPbkVersitParamPRODIGY,
184 EVPbkVersitParamX400,
185 // spare for additional email parameters
188 EVPbkVersitParamX509 = 72,
190 // spare for additional key parameters
193 EVPbkVersitParamGIF = 88,
200 EVPbkVersitParamPICT,
201 EVPbkVersitParamTIFF,
204 EVPbkVersitParamJPEG,
205 EVPbkVersitParamMPEG,
206 EVPbkVersitParamMPEG2,
208 EVPbkVersitParamQTIME,
211 // spare for additional image types
214 EVPbkVersitParamWAVE = 112,
216 EVPbkVersitParamAIFF,
217 // spare for additional sound types
220 EVPbkVersitParamVOIP = 120,
221 EVPbkVersitParamSWIS,
225 // Reuse this first for parameters that don't match the categories above
226 EVPbkVersitParamOther = 128,
228 /// Maximum number of versit parameters supported.
229 KVPbkMaxVersitParams = 256 // this must be a power of 2!
232 enum TVPbkDefaultType
235 EVPbkDefaultTypeUndefined,
236 EVPbkDefaultTypePhoneNumber,
237 EVPbkDefaultTypeVideoNumber,
240 EVPbkDefaultTypeEmail,
241 EVPbkDefaultTypeEmailOverSms,
242 EVPbkDefaultTypeVoIP,
244 EVPbkDefaultTypeChat,
245 EVPbkDefaultTypeOpenLink,
247 // This has to be last in the enumeration
251 enum TVPbkSpeedDialIndex
266 * The version of the field type selector
268 enum TVPbkFieldTypeSelectorVersion
270 EVPbkFieldTypeSelectorV1 = 1,
271 EVPbkFieldTypeSelectorV2 = 2
274 #endif // VPBKFIELDTYPE_HRH